OS Services
The OS provides services for user programs. The goal of an OS is to allow the users of a computer to use it in a more efficient manner
Basic Support¶
- Program Execution: load into memory and run the program on request. Program can end its own execution normally or via an error
- I/O Operations:
- File System: read/write/create/delete/search for files and directories, see file's meta info. Permission management
- Interprocess Communication: Shared Memory/Message Passing - packets moved between process by the OS. This includes a communication protocol to connect to the internet where processes in different physical computers can communicate
- Error Detection: The OS should be aware of potential errors. CPU errors, memory errors (power failures, etc.) in I/O devices. For each error, the OS must know how to appropriately deal with it.
Sharing Resources¶
Diagnostics reports and computer sharing feature:
- Resource sharing: Multiple users or multiple jobs running at the same time. Resources handled: CPU, memory, file storage, I/O
- Resource accounting: Record keeping that can be used for accounting (billing users for usage) or accumulating usage stats
Network Security¶
Protection and security against external threads
- Access to system resources is controlled
- Defend against invalid requests coming from external hardware/IO devices
- Record network traffic and connections for detecting break ins
UI¶
- GUI or CLI
- Write instructions and make SVC
GUI¶
The GUI or Desktop Env is what we usually call home screen or desktop. It characterises the look and feel of the OS.
CLI¶
Command Line Interpreter is what we usually call the terminal or command prompt. The user issues successive commands to the program in the form of text. Commands in a shell can be built in or invocations for system programs