Operating System and Kernel Flashcards
Operating system definition and objectives
A program that controls the execution of application programs and acts as an interface between applications and hardware
Objective:
Convenience
Efficient
Ability to evolve
Monolithic kernel
All services are in the kernel, everything is connected to everything, all new features are added to the kernel
Benefit of a monolithic kernel
Fast communication
Cons of the monolithic kernel
Hard to understand and modify
Lacks security
Layered kernel
Each layer can only communicate with the layer directly above or below it, any given layer only needs to be able to communicate with the adjacent layer
Benefit of a layered kernel
Easy to debug
Cons of a layered kernel
poor performance as it must traverse each layer in order to reach the desired service
Micro kernel
services are implemented by “servers” and a small kernel which delivers messages between the servers
Benefit of a micro kernel
Secure and reliable
Con of a microkernel
Poor performance as there are lots of system functions
Modular structured kernel
Starts with the smallest possible kernel and loads any required services into the kernel via modules
Benefits of a modular structure kernel
No unnecessary services so is fast
Modules can each communicate directly so is fast
Con of a modular structure kernel
As more modules are loaded it becomes similar to the monolithic kernel