The role and responsibilities of an OS
- manage and arbitrate access to hardware resources - CPU, memory, devices
- manage and arbitrate access to software abstractions - processes, file-systems, users
- support efficient context switching between processes,
possibly supporting different per-process and per-user priorities
- impose limits and accounting of resource usage, per-process and per-user
(e.g. varying scheduling timequantum,
maximum execution time,
maximum number of processes,
maximum amount of memory,
maximum open files)
- support constrained and exclusive access to resources
(e.g. read-only, read-write access)
- permit sharing of resources when requested
(shared access to memory, use of dynamically loaded libraries)
- permit requests to obtain, increase, or relinquish resource ownership
CITS2002 Systems Programming, Lecture 23, p6, 17th October 2023.
|