OS Overview
Operating System
- a program that abstracts and manages hardware resources for user programs
Hardware Resources
- CPU
- processor: executes instructions
- single core CPU
- multicore CPU
- CPU chip
- how do we directly interact with CPU?
- instruction stream
- address of next instruction resides in
%rip
, hw automatically increments it to continue execution
- who sets up the first
%rip
value for a process?
- DRAM
- main memory, volatile, byte-addressable
- a process must be brought into memory in order to execute, why?
- Input/Output
- storage (persistent) devices
- persistent, block-addressable
- hard drive (spinning disks)
- solid state drive (SSD)
- flash drives
- Network Adapter (NIC)
- Input devices: mouse, keyboard, webcam, microphone
- Output devices: monitor, headphones, speakers
OS Roles
- How does OS abstract these hardware resources?
- CPU => ?
- Memory => ?
- Storage => ?
- Network adapter => ?
- Keyboard => ?
- Why does the OS provide these abstractions?
- How does the OS provide these abstractions?