Operating System Services
Operating System - provides an environment for the execution of programs and services to programs and users

Examples:
- UI (user interface) - Command Line, Graphical UI (GUI), touch-screen, batch
- Program Execution - Must be-able to load a program into memory, and not crash if the program does
- I/O operations - Programs may need IO, this maybe from a file or device
- File system manipulation - Programs may need files, read and write, directories, create/delete them, search for them, info on a file and permissions of the file
- Communications - sharing of information internal and external to the computer, ether done with memory or packets
- Error Detection - Must be-able to detect all errors (device, cpu, memory), take appropriate steps not to crash, and provide error information to help USER or PROGRAMER
- Resource Allocation - When multiple Users or Programs are running, surfactant resources are allocated to each (resources: CPU, Memory, File storage, IO)
- Logging - Logs which users use which resources and how much
- Protection - Controls who accesses what
- Security - Only allows certain actions with User Authentication