Structure
Problems with monolithic kernels:
- hard to understand
- hard to modify
- unreliable: a bug anywhere causes a system crash
- hard to maintain
Since the beginnings of OS design, people have sought ways to organize the OS to simplify its design and construction.