7.2 Operating systems
You have already seen that operating systems organise the sharing of resources. But they do much more than this; they ensure the efficient running of a computer by:
loading application programs from secondary memory into main memory and managing their execution;
supporting application programs by managing their use of the computer's resources;
managing the storage of programs and data in secondary memory;
accepting inputs from and supplying outputs to the user.
In the next four paragraphs I'll examine each of these four aspects of an operating system in turn, using the PC as an example.
Unless an application program has been recently used and hence is already stored in main memory, the operating system will need to find the program in secondary memory, transfer it into main memory and arrange for the processor to execute it. If the user is running more than one application program, say a word processor and a drawing package, the operating system will need to manage execution of both in order to ensure that these two programs do not interfere with each other. When the user closes down an application program, the operating system has to manage this process and ensure that the computer can continue to operate normally.
Application programs make use of the computer's resources. For example, they send data to the display. Rather than the application program containing the instructions to perform tasks like this, they call on the operating system to perform the tasks on their behalf. This makes application programs easier to write.
In addition to organising the transfer of application programs from the secondary memory to the main memory, the operating system has to manage the process of storing application programs in secondary memory when the user first installs them. It also has to organise the storage of files that users create while they are running application programs. For example, with a word processor the operating system organises saving a newly created file to a folder specified by the user. On request, it also organises the retrieval of a previously saved file. Less obvious is the equally important task of storing and organising the temporary data generated by the word processor while it is running.
Accepting inputs from the user and generating outputs for the user are important functions of the operating system, and ones that can make a difference between a computer being easy to use or difficult. In the early days of PCs, users had to type text commands in order to get their computers to perform tasks, and all information from the computer came in the form of text. This was because the operating system of those days, DOS, did not have the ‘graphical user interface’ that everyone takes for granted today. There were no icons or menus on the screen, and pointing and clicking with a mouse was not an option. To a very large extent, it is the operating system, rather than the hardware, of a PC that influences how easy users find it to use.
In brief, the operating system in a PC not only controls the PC's resources but also hides many of the complexities of using a computer from the user, making the user's task easier.
I have taken the PC's operating system as an example, but the operating systems in those ‘invisible’ computers that have them should again hide the complexities of the computer from the user as well as control the sharing of resources.