1.2 Operating System Structure
1.2 Operating System Structure
1. Monolithic System
The earliest and most common OS architecture. Every component of OS contained in the kernel and can directly communicate with any other (i.e by using function call). The kernel typically executes with unrestricted access to the computer system (refer next diagram)
1. Monolithic System
Application
User Space System Call Interface Kernel MM I/O PS Net IPC FS Kernel Space
MM- Memory management PS- Process scheduler IPC- Interprocess communictaion FS- File System I/O- Input Output manager Net- Network manager
. . .
2. Layered System
To overcome the issue of monolithic architecture by grouping components that performs similar functions into layers Each layer communicates with those above and below it. Lower-level layers provide services to higher-level layer using interfaces that hide their implementation Layer OS are more modular than monolithic OS because the implementation of each layer can be modified without requiring any modification to other layers
2. Layered System
Each component hides how it performs its job and presents a standard interface that other components can use to request its services In a layer approach, a user processs request may need to pass through many layers before it is services Early example of layer OS is THE (Technische Hogeschool Eindhoven) Many of todays OS including Windows XP and Linux implement some level of layering. Main advantage is simplicity of
2. Layered System
user User space Kernel space
Layer 4 Layer 3 Layer 2 Layer 1 Layer 0
User applications I/O Management Operator process communication Memory management Processor allocation and multiprogramming Hardware
The OS is divided into a number of layers (levels) The bottom layer (layer 0), is the hardware. The highest (layer N) is the user interface.
3. Virtual Machines OS
Virtual Machine OS is to support concurrent execution of different operating system on a computer .
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 the virtual machine
3. Virtual Machines OS
Non-virtual Machine
Virtual Machine
A d va n ta g e s: p ro vi e s co m p l te p ro te cti n o f syste m d e o re so u rce s. E a ch vi a lm a ch i e i i l te d rtu n s so a fro m a l th e r vi a lm a ch i e s. lo rtu n p e rfe ct ve h i e fo r o p e ra ti g -syste m s R N D . cl n S yste m d e ve l p m e n t i d o n e o n th e vi a l o s rtu m a ch i e , i ste a d o f o n a p h ysi l n n ca m a ch i e . S o d o e s n o t d i p t n o rm a l n sru syste m o p e ra ti n . o Disadvantages: This isolation permits no direct sharing of resources. D i cu l to i p l m e n t due to the effort ffi t m e
4. Client-Server Model
Is one of the extended machine
Terminologies in OS
Cooperative multitasking Preemptive multitasking Multithreading
Terminologies in OS : Multithreading
Process Management
File Management
Memory Management