Operating Systems
Overview
- Definition of what an OS is, has changed over the years
- Today, OS includes a lot more than in the past
- Serves as an interface between the user and the architecture
- Serves as an abstraction layer over the actual hardware and makes it easier to program than the raw hardware
- Intersection between hardware and software
- Provides the illusion of infinite memory and CPU
- Provides services like file system, virtual memory, networking scheduling
- Coordinates applications and users to achieve fairness and efficiency (concurrency, memory protection, security, ...)
- Ultimate goal: convenience and efficiency
Computer Architecture
- CPU: processsor that performs the actual computation (today multiples "cores")
- I/O devices: terminal, disks, graphics card, printer, network card
- Memory: RAM containing data and programs used by the CPU
- System bus: communication between CPU, memory and peripherals
Protection
- Kernel mode vs User mode: Some instructions are restricted to be only used by the OS:
- Users may not access I/O directly
- Manipulate memory directly
- Set mode bits that determine user or kernel mode
- Disable/enable interrupts
- Stop the machine
- Protected instructions can only be executed by the OS
- Hardware must support kernel and user mode
- There is a status bit indicating the current mode in a protected register
References
Last update: December 14, 2020