Operating System Definition
- Resource allocator
- Manages all resources
- Decides between conflicting requests for efficient and fair resource use
- Control program
- Controls execution of programs to prevent errors and improper use of the computer
Operating System Composition

- User
- People, machines, other computers
- Application programs
- Define the ways in which the system resources are used to solve the computing problems of the users
- Word processors, compilers, web browsers, database systems, video games
- Operating System
- Controls and coordinates use of hardware among various applications and users
- Windows, Linux, macOS
- Hardware
- Provides basic computing resources
- CPU, memory, I/O devices
Operating System functionality
- Operating system is a software layer between the hardware and the application programs/users which provides a virtual machine interface: easy and safe.

- The one program running at all times on the computer is the kernel, everything else are:
- a system program (ships with the operating system)
- an application program
Computer System Organization


Storage Structure
- Register
- A very small, high-speed memory inside the CPU.
- Stores instructions, operands, and execution results.
- Cache (L1, L2, L3)
- Faster than RAM, used to reduce access time to main memory.
- L1 is the smallest but fastest, while L2 and L3 are larger but slower.