Concepts

From COMP15212 Wiki
Revision as of 13:28, 17 July 2019 by pc>Yuron
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
On path: OS Topics 1: Concepts • 2: Cache • 3: Context • 4: Processor Privilege • 5: Process Scheduling • 6: Exceptions • 7: Interrupts • 8: Direct Memory Access (DMA) • 9: Virtualisation • 10: Hypervisor
Depends on Introduction to Operating Systems

This article is here to abstract a set of fundamental concepts, knowledge of which is important here and elsewhere. (Of course, some will be more important/applicable than others!)

The concepts often span different subject areas; this is provided as a summary and, perhaps, a revision aid.

Strongly O.S. related concepts – a summary

  • Probably the most important aspect of an operating system is its role in abstracting the hardware to make a virtual machine. This concept can be applied to the memory, the processing and the interfacing: the traditional “three box model” of a computer.
    • Sometimes this virtualisation is extended to virtualise the whole O.S, using a hypervisor.
  • “Time is what keeps everything from happening at once.” [Ray Cummings] – but an operating system also plays a role in ensuring that software operations happen in particular sequences and do not interfere with each other in a manner which can cause the system to deadlock.
  • An O.S. has a place in maintaining the security by protecting privileged parts of a system (such as the memory) from the machinations (or errors) of users. The hardware is protected and abstracted, as are resources such as files.
  • An O.S. will trap several exceptions and allows the software to ‘call’ the hardware and vice versa.
  • Caching is a general principle in lots of computer architecture – both hardware and software. There are (at least) three places in the operating system where caching has particular influence:
    • Paging in virtual memory uses the RAM to cache the most recently used parts of the address space.
    • A TLB caches the most recent page translations so that every memory access does not need extra RAM look-ups.
    • Any virtually addressed hardware “caches” – which will be present in high-performance (and most medium-performance) computers need to be flushed when context switching between processes (but not threads).
  • An O.S. facilitates communication, both between processes and over time, as files.
    • Often, messages can be passed through buffers, giving freedom in scheduling and process switching.
    • Alternatively, asynchronous processes and threads can be synchronised.
  • In embedded systems systems, a specialist O.S. can manage real time operation.
  • Although not essential, an O.S. often provides a simple – but to knowledgeable users very powerful – interface.


Articles on Concepts
About this resource • Application Binary Interface (ABI) • Arrays • Atomicity • Boot • Cache • Cacheability • Caching • Concepts • Containers • Context • Context Switching • Deadlock • Direct Memory Access (DMA) • Environment Variables • Exceptions • File Attributes • Fragmentation • Hypervisor • Interrupts • Operation Ordering • PATH • Pointers • Process Scheduling • Processes • Processor Privilege • Queues • Real Time • Reentrancy • Relocatable Code • Spooling and Buffering • Synchronisation • Thrashing • Threads • Virtual Memory • Virtualisation
Articles on Major concepts
Cache • Cacheability • Concepts • Context • Direct Memory Access (DMA) • Exceptions • Hypervisor • Metadata • Process Scheduling • Processor Privilege • Real Time • Reentrancy • Synchronisation • Virtualisation