Software for user benefit, e.g. word processors, browsers, games
System software
Software that performs tasks related to hardware and provides services for other software, e.g. operating systems, game engines, drivers, utility software
Operating system (OS)
The most important system software, managing hardware and linking hardware to application software
Examples of operating systems
Android
Windows
Linux
iOS
Purposes of an operating system
Manages hardware
Allows other software to interact with hardware
Manages applications installed
Provides user interface
Provides security layer between hardware and software
Types of user interface
Command-line interface (CLI)
Graphical user interface (GUI)
Command-line interface (CLI)
Shell that responds to text commands
Graphical user interface (GUI)
Uses icons, menus and other visual indicators
Process
A program being executed by the processor
Process management in single-tasking OS
Executes one process at a time
Suspends/interrupts necessary
Process management in multitasking OS
Allocates CPU time to each process
Prioritises important processes
Memory management
Allocates and manages RAM space for programs
Uses virtual memory to extend RAM capacity
Boot loader
Small program that loads the OS into RAM on startup
Peripheral device
Supplementary hardware device like keyboard, printer, camera
Device driver
Program that converts signals between peripheral device and OS
User management
Maintains user accounts, passwords, permissions
File management
Maintains file structure, permissions, and records