- UNIX : Layered Architecture
- Linux : Monolithic Architecture
- Windows : Hybrid Architecture (Microkernel + Layered)
- Mach : Microkernel Architecture.
UNIX KERNEL ARCHITECTURE :
- Unix OS considers files and processes as the most important entities.
Unix offers a shell that acts as a command interpreter between the user and the kernel. The relevant part of the kernel is permanently loaded into the memory whereas the shell is swapped in, as and when needs by the system. There are various shell : Borne shell, Berkley shell, Korn shell. MIT’s X-Windows is a graphic user interface based shell. A shell supports a scripting language. The user can specify the steps that he or she wishes the OS to follow in the precise sequence in which the steps are written.
Linux Kernel Architecture :
Linux kernel architecture consists of five components :
- Process Scheduler
- Memory manager
- Inter Process communication module
- File System
- Network interface.
Linux provides shell named ‘bash shell’.
Windows Architecture :
- Most of the system and user processes run in the user mode. This mode is also called the privileged mode.
- There are three layers in kernel :
- Hardware abstraction layer (HAL)
- Executive itself is a complete OS. It performs following operations :
- I/O management
- Object management
- Process Management
- Virtual Memory management
- Kernel performs following actions :
- Thread scheduling
- Thread dispatching
- Interrupt handling
- Multiprocessor synchronization
- HAL contains modules that are hardware specific.
Mach System Architecture :
- Kernel tasks :
- Task and thread management
- Inter process communication
- Memory object management : Address space is repseneted as object.
- System call redirection.
- Device support.
- Multiprocessing (Many CPUs with shared memory)
- Multicomputer (Many CPUs with own memory)
- Each process is represented as a task. A task contains two parts : an application program and an emulation library. The emulation library handles the system calls generated by the application programs.
- There are three layers :
- The simulation layer consisting of processes
- The service layer consisting of servers, of which there are two types : application servers and system servers
- The kernel layer consisting of the micro kernel.