Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 16
Operating System PCC-CS403
Operating System Structure
• Simple structure – MS-DOS and UNIX started as small, simple and limited systems Layered approach The OS is broken into layers; lowest=hardware, highest=GUI A typical layer has routines that can be invoked by higher ones Advantage: modularity (which simplifies debugging) A layer doesn’t need to know how lower-level operations are implemented, only what they do Operating System Structure Problems: – Layers can use only lower-level ones, so they must be well defined • For ex., the device driver for the backing store (disk space used by virtual-memory algorithms) must be at a lower level than the memory-management routines, because memory management requires the ability to use the backing store. – Layered implementation are less efficient than other types
Nowadays fewer layers with more functionality are being
designed A layered operating system Microkernel • All nonessential components are removed from the components and are implemented as system and user programs • The smaller kernel provides minimal process and memory management • Advantages: – Ease of extending the OS – The OS is easier to port from one hardware design to another – More reliability: a failed user service won’t affect the OS Microkernel • Main function of the micro kernel is to provide a communication facility between the client program and the various services that are also running in user space • For example, if the client program wishes to access a file, it must interact with the file server indirectly through the microkernel Virtual Machines • The fundamental idea behind a virtual machine is to abstract the hardware of a single computer (the CPU, memory, disk drives, network interface cards, and so forth) into several different execution environments, thereby creating the illusion that each separate execution environment is running its own private computer Virtual Machines • The layered approach is taken to its logical conclusion in the concept of a virtual memory • It treats hardware and the operating system kernel as though they were all hardware • A virtual machine provides an interface identical to the underlying bare hardware • The OS creates the illusion of multiple processes, each executing on its own processor with its own virtual memory Virtual Machines • The resources of the physical computer are shared to create the virtual machines – CPU scheduling can create the appearance that users have their own processor – Spooling and a file system can provide virtual card readers and virtual line printers – A normal user time-sharing terminal serves as virtual operators console System models. (a) Non-virtual machine. (b) Virtual machine Virtual Machines • The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources
• A virtual-machine system is a perfect vehicle for
operating systems research and development. System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation Virtual Machines • The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to the underlying machine VMware Architecture JVM • The Java Virtual Machine Java consists of: – programming language specification – application programming interface (API) – virtual machine specification Java portability across platforms