Manages input and output devices
- Communicating and sending data to output devices (e.g. printer/monitor)
- Communicating and receiving data input from input devices (e.g. keyboard/mouse)
Manages spooling and printing
- Data is stored on hard disk/in memory stored in a queue
- Document is printed when printer is free/in correct order
- ✅ user can continue working/log off whilst waiting for printing
Manages RAM
- Ensures that programs do not corrupt each other
- Ensures that programs are stored in correct memory locations
Manages the backing store
- Ensures that data is stored and can be retrieved correctly from any disk drive
- Creates and maintains a filing system (e.g. FAT or NFTS)
- Organises files in a hierarchical directory structure
Manages processes
- Ensures that different processes can utilise the CPU and do not interfere with each other or crash
- On a multi-tasking OS, it ensures that all tasks appear to run simultaneously
Manages security
- Allows creation and deletion of user accounts
- Allows users to logon and change passwords