Operating systems provide the following simplifying abstractions:
-
Resource delegation - Operating systems manage and allocate hardware resources (CPU, memory, I/O devices) among various processes, allowing them to share resources efficiently and safely.
-
Shell interfaces - Operating systems often provide command-line or graphical interfaces (shells) that simplify the interaction between the user and the system, abstracting complex operations under easier commands.
The other options, "source code" and "personal computers," do not directly relate to the abstractions that operating systems provide. Source code refers to the programming code from which software is built, while personal computers are a type of hardware that runs operating systems but do not represent an abstraction provided by the OS itself.