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.