A1.3.1 — Role of Operating Systems
What is an Operating System?
Operating system (OS) is the bridge between user, applications and hardware. It abstracts the complexities of hardware and provides a stable environment for applications to run.
Abstraction - hiding the intricate details of hardware beneath a simpler, manageable layer. An application does not need to know how to talk to a specific graphics card or hard drive becouse OS handles that. The application just calls the OS, and the OS handles the rest. This means software can run on different hardware without being rewritten.
OS Manages:
- CPU: Schedules and allocates CPU time across processes using scheduling algorithms. Handles interrupts.
- Memory: Allocates and deallocates RAM to processes. Handles paging (swapping between RAM and disk). Prevents processes from accessing each other's memory.
- Storage: Manages the file system — creation, deletion, reading, writing, permissions, disk space.
- I/O (input/output): Manages data flow to/from keyboards, mice, network interfaces. Handles interrupts from I/O devices.
- Network stack: Manages network protocols, connections, and bandwidth allocation.
- User interface: Provides the graphical or command-line interface
- Security and access control: Authentication, authorisation, encryption.
- Power management: Controls hardware power usage, implements power-saving modes.
OS Examples
Linux, Windows, macOS, Android, iOS, BSD, Orbis (PlayStation). Each has different design goals. there is no "best" OS, only the best for a given purpose. Some are highly specialised for specific hardware and tasks.