- Resource management/リソース管理
- Synchronization: correctness, efficiency, deadlock avoidance
- Fair and/or appropriate allocation of resources
- Security
- Extension of the machine/拡張マシン
- Expand memory through virtual memory
- Expand non-volatile storage through file systems, volume
managers, and network/distributed file systems
- Naming/ネーミング
Naming is one of the principle functions of all computer systems.
- Storage: registers, cache, main memory, disk memory, removable
devices
- Hardware: devices, especially dynamic ones (USB, iSCSI, etc.)
- Virtual objects: processes, pipes
- Data: URLs, URIs
- Sharing names
- Data movement/データ転送
Generally, user programs do not move data directly; they must ask the
operating system to do it for them.
- Moving data: buses, networks
- Controlling the movement: registers, RPC, third-party transfers,
etc.
- Performance: data layout, resource allocation at multiple levels
(e.g., I/O bus and memory bus)
- Real-time constraints: buffering, jitter, missed revolutions,
tape stalls