operating systems consists of different layers of abstractions
mainly
-applications.
-shell (CLI command line interface or GUI graphical user interface , API application programming interface).
-kernel ( scheduler , context switching for multi-tasking , file system , device drivers ,hardware abstraction layer (HAL library)for cross platform).
-hardware ( firmware , etc...).
the need for a operating system kernel to hide approximately all hardware complexities from user
trade of beetwen speed and size and complexity , for chosing a propper kernel type
inter-process(tasks) communication pipes , is the mandatory part for micro and hybrid kernels
economic jargon and monetization for monopoly and control
three types of kernel in modern implementations
monolithic
micro
hybrid
mainly
-applications.
-shell (CLI command line interface or GUI graphical user interface , API application programming interface).
-kernel ( scheduler , context switching for multi-tasking , file system , device drivers ,hardware abstraction layer (HAL library)for cross platform).
-hardware ( firmware , etc...).
the need for a operating system kernel to hide approximately all hardware complexities from user
trade of beetwen speed and size and complexity , for chosing a propper kernel type
inter-process(tasks) communication pipes , is the mandatory part for micro and hybrid kernels
economic jargon and monetization for monopoly and control

three types of kernel in modern implementations
monolithic
micro
hybrid