# Overview of OS
- What's an OS?
- Extended machine (abstraction layer)
- Resource Manager
- Process
- A program in execution (aka job or task)
- Has CPU state, or context, in registers
- Has allocated resources
- PCB = Process Control Block
- Memory
- Files, network resources
---
- Process States
- Running
- Blocked or wait or suspended
- Ready
- I/O Methods
- Programmed I/O (device driver), write date to device data register, setup
other registers, and wait.
- Interrupt driven I/O
- DMA I/O (Direct Memory Access)
- Interrupts are served by DMA
- In traditional interrupt driver IO, data are first copied to OS memory
space.
## OS Architecture
- Layered OS
- Not as efficient - errors may need to pass through many layers to go down to
hardware
- Monolithic
- OS composed of a single module
- All data and code use same memory space
- Low overheads and easy to implement
- Microkernel
- Remove as much functionality from OS as possible
- Security and protection can be enhanced
- System expansion can be easier
- Hybrid
- Distributed