The Operating System
A Government for your Computer
The Operating System (OS) is like the societal structure or the "government" of the computer. It controls what happens on the computer, and provides basic services. Just like a government might provide water, roads, communications, and security, an OS provides video, keyboard, sound, printing, and network services.
In short, the OS does all the basic tasks so each program does not have to do everything.
For example, if you wish to build a house, what do you need?
- Water / Sewage
- Garbage removal
- Telephone service
- Police protection
- Fire protection
- Military protection
- Etc. ...
So, what will you do? Will you build your own road to your house? Will you get a generator and create your own electricity? Will you drill for natural gas, or perhaps buy large tanks of gas and keep them in your yard? Will you drill a well to get water, and take care of your own waste? Will you hire private police to protect you? And so on…
Of course, you will not do these things. That's what societies are for: they provide most or all of these basic services. This is important, because if we did not have these services, then it would be very expensive and terribly difficult and time-consuming just to carry out the basic tasks of everyday life.
In the same way, computer programs (also called "software" or "applications") do not have to take care of all the normal tasks that are necessary on a computer.
For example, let's say that I want to create a simple game. For that game, I need these services:
- Video (to show my game)
- Audio (to play sounds made in my game)
- Keyboard (to control the game)
- Mouse (also to control the game)
- Fonts (to show text in my game)
- Networks (to allow playing with other people)
- Etc. ...
Now, if I had to create software for video and audio and keyboard and mouse and fonts and networking and all the other basic computer functions just for my little video game, I would have to spend years developing even just simple software.
Fortunately, the Operating System does all of that for me. I just have to know how to "call" for each service, and after that I don't have to do very much.
Part of what I explain above is that the operating system acts to give you (the user) access to hardware. You do not usually do this directly; you would do this by using programs.
For example, let's say that you open a browser and watch a YouTube video. The program (browser) would need to use various hardware items, such as the keyboard, monitor, speakers, and network connections. It cannot do so directly; it would be too difficult to have every program control these devices, and without central control, the programs would always be fighting over resources. Therefore, the operating system is used to give the program access to these resources.
One way to explain how this works is to see each of these parts as layers.
On the bottom, you have (1) the hardware, or the physical machine parts, which perform the tasks the program needs.
Next, you have (2) the operating system, which acts as a governing authority, controlling the hardware below it and the programs above it.
Third, you have (3) applications, or programs, which perform specific tasks required by the user.
And then finally, there is (4) you, the user, who directs the computer using programs and the operating system.
In this sense, the operating system is much like an executive authority. It makes the laws and enforces them, deciding which programs get what kind of access to resources. Programs must follow these rules, or else the system breaks down.
The resources controlled by the computer are not only hardware. For example, a browser also needs to access resources such as fonts, languages, and security. These are mostly software resources, which are part of the operating system layer.