So, you want your computer to do a ‘2+2’ for you (you sucker). You already know that your computer (the hardware, the physical ‘thing’ you can see) is just a machine, made up of metal, plastic, silicon and stuff. You know that your computer (the thing) doesn’t actually understand your language. And you might also know that it has something to do with 1s and 0s. Yes, Binary! That’s its native language. Your computer is from ‘Binaras’.
You know that when your computer does a ‘2+2’, it is actually tweaking those 1s and 0s inside of it and producing the result. Now, these ‘tweaks’ are actually complicated operations involving something called ‘registers’. Remember abacus? That thing with bars and balls, one could easily do calculations with? Yes. Those. They have got nothing to do with registers. Why are you even thinking about abacus?
Now, because it is tedious to understand the working of ‘registers’ and speaking in binary we want someone or something else to make our metal-plastic-silicon thingy understand what we want it to do. We want an intermediary, that would establish communication between us and the thingy. This intermediary is called the Operating System.
The operating system lets the users communicate with the hardware. In addition to this, the operating system also acts as the Resource Manager of the computer system.
How good an OS is, is decided by three main parameters:
1. How easy is it for the user to interact with this OS (User Convenience)
2. How well is the OS making use of all the resources available i.e. all the registers available, the memory available, any additional I/O devices, such as printers, available. (Efficient Resource Utilization)
3. How safe does it keep the user’s data and information (Security and Protection)
Let us (very) briefly touch upon all these three points, because no one wants to get bored and we all have better things to do, like reading the comment section of an YouTube music video. On that note, if you are reading this in December 2020, hit like.
Earlier the OSs required the user to write their commands in forms of code (CUI). And it was acceptable because earlier computer were used only by scientists. But as computer industry grew and computers became common in homes and offices, it was needed that using a computer become easier.
Hence a graphical user interface (GUI) was created. The user could now give commands by clicking on icons.
Personal computers and such require Operating Systems which provide greater user convenience.
Efficient Resource Utilization
The Operating Systems should be able to efficiently use all the resources (CPU, memory, input/output devices etc.) available to it.
In scientific use, the computers are supposed to make huge calculations requiring large computing power. It is important that the resources available are used properly. Hence, for such uses, an Operating System that prioritizes efficient resource utilization, is required.
Security and Protection
The operating system should avoid interferences in user activities and keep the user’s data protected.
The functions of an Operating System
- Program Management
Under this comes the concept of ‘scheduling’. At any moment of time, the computer is supposed to execute a number of programs. To execute all the programs efficiently, the OS schedules them in a particular order (based on their arrival times or their length etc.). And executes them in this order. This makes sure that all the programs are executed smoothly.
- Resource Management
The computer has only limited resources available and in order to make the best use of all the available resources, the OS creates a list of resources and their present status(whether in use or not), called ‘resource table’. And based on the need of any program, it allocates the suitable resource to it. When the program completes its execution, the OS deallocated the resource so that it is free to be allocated to some other program.
- Security and Protection
If a computer system is stand alone and used by a single user, security is easy to maintain. But with multiple users and for computers on a network, extra steps are needed to maintain safety of user data. The OS uses ‘authentication’ , via passwords etc., to ensure that the user’s data is not exposed to others. Through ‘firewalls’, the OS ensures that malicious files from the internet cannot hamper the user’s files on the system.
This is a short summary of what an Operating System is, what is expected of it and what all functions it performs.
In lesson two, we’ll discuss the working of an OS one level deeper.
Till then, OSsalamualaikum! :)