Comprehensive Exam - Chapters 1 & 2
1. Hardware: Provides basic computing resources (CPU, memory, I/O devices)
2. Operating System: Controls and coordinates use of hardware among applications and users
3. Application Programs: Define ways system resources are used to solve computing problems
4. Users: People, machines, or other computers
The CPU fetches an instruction (or data) from main memory (RAM).
Multi-programming: Organizes jobs so CPU always has one to execute. When a process waits (e.g., for I/O), OS switches to another process.
Time-Sharing: CPU switches jobs so frequently that users can interact with each job while running, creating interactive computing.
POSIX (Portable Operating System Interface)
Communication overhead - all communication must take place through the kernel using message passing, which increases overhead and reduces performance.
Debugging and maintenance is easy. Each layer can be debugged independently, and once a layer is debugged, lower layers can be assumed to be bug-free.