After the basics of what & why of O.S. lets gaze at its construction.
For efficient performance & implementation of different functions & services of operating system, it is divided into various architectural configurations.
Simple Structures :
- DOS & original UNIX OS did not have well-defined structure and is written without the benefits of modern software techniques.
- System is not broken into different sub systems.
- Errors in applications cause whole system to crash because, there is no CPU Execution Mode (Supervisor & User)
Layered Approach :
- This design attempts to achieve robustness by structuring the architecture into layers with different privileges.
- Each layer rests on layer below it and relies solely on services provided by next lower layer.
- This approach allows each layer to be developed and debugged independently.
- It has drawbacks in deciding the order of layer and also it is less efficient as a request from higher layer has to filter through all lower layer before reaching.
Micro kernels :
- In this approach all non-essential services from kernel are removed thereby making it as small and efficient as possible.
- Security & Protection is enhanced as most services performed in user module and not kernel module.
- This is the major component of O.S. like Mac OSX.
Hybrid Systems :
Nowadays, most the OSes present in market are not strictly on one architecture but are hybrid to more than one. Considering here the best available these days :
Mac OS X :
The Max OS X is on the Mach micro kernel for basic system management services, and the BSD (Berkeley Software Distribution) kernel for additional services. Application services and dynamically loadable modules ( kernel extensions ) provide the rest of the OS functionality.
It was developed by Apple for its mobile devices. . It runs with less memory and computing power needs than Max OS X, and supports touchscreen interface and graphics for small screens.
It was developed by Open Handset Alliance, primarily Google and is open source, against of iOS. It includes highly optimized versions of Linux and JVM (Java Virtual Machines).
Virtualized Systems :
- With the advancement in technology and minimizing the size of independent system, multiple operating systems runs on same computer.
- By using CPU scheduling & virtual-memory techniques , an OS can create illusion that a process has its own processor with its own memory (virtual).
- This system introduces hypervisor that provides an isolated environment to each hosted operating system.
- Hypervisors can be introduced as native (on bare hardware) or hosted (partially bypass the need for hardware on top of other OS) manner .