Operating System structure
by Viknesh nadarasan

1. Communication modes
1.1. Layered Approach
1.1.1. Advantages
1.1.1.1. Simplicity of construction and debugging
1.1.2. Disadvantages
1.1.2.1. Less efficient
1.1.2.2. The careful definition and interaction of the layers
1.2. Microkernel
1.2.1. Advantages
1.2.1.1. Extensibility
1.2.1.2. Flexibility
1.2.1.3. Reliability
1.2.1.4. Portability
2. Operating system design goal
2.1. User goal
2.2. System goal
3. Operating system services
3.1. user interface
3.2. Program execution
3.3. I/O Operation
3.4. File-system manipulation
3.5. Communication
3.6. Error detection
3.7. Additional services
3.7.1. Resource allocation
3.7.2. Accounting
3.7.3. Protection and security