Virtualisation: Difference between revisions

From COMP15212 Wiki
pc>Yuron
No edit summary
 
gravatar Yuron [userbureaucratinterface-adminsysopPHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPmludGVyZmFjZS1hZG1pbjxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+] (talk | contribs)
m (1 revision imported)
(No difference)

Revision as of 12:46, 26 July 2019

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 Concepts

A computer has a certain amount of various resources. These are all limited, except, possibly time; in a real-time system time may also be limited. Numerous processes may compete for resources; each process has its own balance of requirements and these can differ widely.

Virtualisation

The main job of an operating system is to present an idealised computer to every process – offering it every possible service, independent (as far as possible) of other processes – whilst exploiting the available resources to the maximum.

It’s a sort of multi-dimensional, dynamically changing jigsaw puzzle.

The most prominent aspects of virtualisation in (many) operating systems are:

  • Virtual memory – where any process can use (almost) any address at any time.
  • Timesharing – where all processes can execute ‘concurrently’ although really they are scheduled on the physical processors.

In addition, modern systems may virtualise the whole machine, with a hypervisor layer and other resources – such as the file system or other multiplexed I/O like USB – may be managed so that concurrent processes can use them as if they were private resources.


An important principle

The department store, Harrods has a motto: “Omnia Omnibus Ubique” (all things for all people, everywhere). This does not mean they keep everything you might imagine buying in stock though. Presumably the shop keeps items that they expect might be wanted in stock and will order (reputedly) anything else you might ask for.

In virtualising various resources, most operating systems employ a similar principle: they maintain the potential of many resources and organise the actual resources around the demand.

Examples:

  • Memory: a process may be able to use any address it fancies, but the memory may not be allocated until it actually does.
  • Printing: output can be printed at any time. (Actually the output may be saved in a queue until a free printer is discovered and then allocated to that).

There are many examples: compile some more of your own as you peruse future articles.



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 IO
Cacheability • Device Drivers • Direct Memory Access (DMA) • IO • Interprocess Communication • Interrupt Controller • Interrupt Service Routines (ISRs) • Interrupts • Libraries • Peripheral devices • Pipes • Queues • Queues Extra • Resources • Shell • Sockets • Spooling and Buffering • Starvation • Streams • System Calls • Thrashing • Timers • Using Peripherals • Virtualisation • Write Buffer
Articles on Major concepts
Cache • Cacheability • Concepts • Context • Direct Memory Access (DMA) • Exceptions • Hypervisor • Metadata • Process Scheduling • Processor Privilege • Real Time • Reentrancy • Synchronisation • Virtualisation