What an Operating System Does: Abstraction and Resource Management
Operating System
Modern general-purpose computers depend on an operating system (OS), one of their most fundamental pieces of system software. Phones, game consoles, smart appliances, and many other electronic devices also depend on operating systems.
In a computer's structure, hardware is at the bottom and the operating system is the foundational software layer above it. The OS extends the hardware's functionality. An operating system alone is not enough: additional tools, such as development tools and platforms, are needed, so the OS must support user program development.
Computer users fall into three main categories:
- OS designers work close to hardware and need to understand its operation and system development.
- Programmers develop above the OS, either programming against the OS or against a development platform.
- End users directly use applications.
| Computer user layers | User |
|---|---|
| Applications | End user |
| Utilities | Programmer |
| Operating system | Programmer |
| Computer hardware | OS designer |
KNOWLEDGE QUIZ
QUESTION
An editor opens a file by name without knowing its physical disk blocks. Which OS role does this illustrate?
Four Views of an Operating System
Modern operating systems have four basic viewpoints:
- For ordinary users, the OS is an interface to the computer system and provides a convenient working environment.
- For programmers, the OS is an abstract machine built on the hardware platform, offering capabilities stronger than or absent from the hardware itself.
- For OS developers, the OS manages resources, allocating, reclaiming, and controlling CPU, memory, I/O devices, files, and networking resources.
- For OS developers, the OS organizes the execution order of applications running in the system.
KNOWLEDGE QUIZ
QUESTION
Two applications need CPU time and memory. Which responsibility belongs to the OS?