Abstract
- Consists of Kernel and OS System Program
- 2 main functionalities
- Provide user features in the form of Abstraction Barrier to interact with the hardware. Some key abstractions are Process (进程), Thread, Address Space and File
- Resource Manager for resources like IO Device & Main Memory etc
Types of OS
Embedded OS
- Run on devices like ovens, no un-trusted software will ever run on it
- All software in ROM
- Example are OpenWRT and FreeRTOS
Smart Card OS
- Smallest OS run on smart cards
- Used in Electronic Payment etc
- Some are Java oriented
Server OS
- Provides file service or Web services etc
- Examples are FreeBSD, Linux Kernel and Windows Server
Sensor-Node OS
- Running on sensor node that has very limited CPU, Main Memory & ROM
- Example is TinyOS
Real-Time OS
- Allow multiple tasks to run at the same time
- 2 Types - Hard Real-Time System & Soft Real-Time System
- Example is FreeRTOS, used by ESP32
Personal Computer OS
- Support Multi-programming - dozens of programs started up at boot time
- Provide good support to a single user
- Widely used for word processing, spreadsheets & gaming etc
- Example are Linux Kernel and Windows
Handheld Computer OS
Mainframe OS
- Act as Batch System, Multi-tasking, Transaction-processing System
- IO intense, for enterprise
- Gradually replaced by UNIX variants like Linux Kernel
- Examples are like OS/390 and OS/360
Multi-processor OS
- Make use of multiple CPU and Multi-core Chip in a single system
- Examples are Linux Kernel and Windows
Terminologies
Batch System
- Process jobs without any interactive user present
Transaction-processing System
- Handle large number of of small requests, hundreds/thousands per second