The way we can execute programs is assisted through the operating system from use of interfaces. GUI and CLI
All OS should allow:
- program execution
- IO device configuration
- FIle system manipulation with creation, deletion, modification and searching.
- Permissions for programs and users to access certain files.
- Communication between processes(programs in execution) and networks.
- Error handling in Central Processing Unit, Random Access Memory, IO devices and more. If a printer can’t print due to paper
- Resource allocation. Allocates files, memory, CPU to different processes.
- Accounting. Keep records of which users and what resources are being used. Gather these statistics.
- Security. Make sure access to resources are controlled/restricted. Also limit external access with authentication. The entire system must be secure, because everything is linked.