Whether you’re aware of the term “operating system” or not, it is something you interact with almost daily if you have a computer or smartphone. Operating systems communicate with a device’s hardware. They handle everything from your keyboard and computer mice to the Wi-Fi radio, storage devices, and display functions. In other words, an operating system handles input and output devices. Operating systems use device drivers, written by hardware creators, to communicate with their devices. Now, let’s dive into the basic goals of the operating system.
Goals of an OS
The fundamental purpose of an OS (short for Operating System) is to execute user programs and make tasks easier for the user. An OS is a piece of software that is responsible for the management of the entire set of resources in your computing devices, whether it be hardware or software resources. It is also is responsible for the judicious use of these resources. The place you can visualize your Operating System is somewhere between the application you run and your hardware. For example, if an application wants to print a piece of material, it hands the task to the OS. The OS sends the command to the printer to print the document using the printer driver to send the correct signals. The application that needs the material to be printed does need to worry about whether the signal is transmitted or not; that’s the job of the OS.
The OS is responsible for letting you open those multiple browser tabs and other applications, which makes your experience of the device you’re using seamless. The OS allows this multi-tasking capability in devices by allocating just the right amount of necessary hardware resources for the tasks you intend to do. The OS determines which processes run, assigning how many CPU cores can and will handle the tasks you require. It is not only responsible for the allocation of processing power, but also internal memory. The RAM or Random Access Memory is referred to in the internal memory of this internal memory. The RAM is where all the working data required for the processor is stored. The OS ensures that the RAM does not get clogged up with useless data or apps that the user is not requesting the processor to process. The OS also contains other software that allows the user to have a positive user experience with their computing device, whether it be a desktop interface for a PC, a touch screen interface for a phone, or a voice interface for a digital assistant device.
The functionality of an OS
If we look into the lowest level of the OS, we will find something known as the kernel. So what is kernel and what is the function of the kernel of an operating system?
Well, the kernel lies at the heart of the operating system. This single program is one of the first things that is loaded when the OS is booted up. The kernel is responsible for a host of functionalities. The first one is process management. Process management, as already discussed, deals with the amount of tasks each CPU is given. When a process is finished by the processor in an allocated period, it is known as scheduling. There are three primary kinds of scheduling. The first one is Short Job First, which involves the shortest process being allocated the CPU so that it can be completed the soonest. The second one is Round Robin Scheduling, which involves each process being allocated a specific amount of time, but in this case, even if the process is incomplete, the processor shuffles through all the processes cyclically. If any process is left, the processor will come back to it in a certain amount of time. The final one is priority-based scheduling, which—as the name suggests—is when the process is allocated to the processor based on the priority of the process.
The Operating System also helps in communication with the hardware and maintains a balance between the hardware and the CPU. This is highly important, as the CPU processing speed is much higher than that of the I/O devices. To optimize the CPU time, the OS employs two important methods. The first method is buffering. In this technique, input and output data is temporarily stored in the Input Buffer and the Output Buffer, respectively. The buffers ensure a certain amount of delay to occur if too much data is present in the channel, which ensures there is enough response time between input and output. The second method employed is known as spooling. This is a device management technique that ensures that different tasks performed on the same device are aligned and executed, rather than overloading the particular device with too many signals.
The final task that the OS is responsible for is Memory Management. In a computer, both the CPU and the I/O devices interact with the RAM. When a program needs execution, it is loaded into the RAM until the execution of the program occurs and is completed. Once the memory space is free, other programs are loaded into the RAM for further execution from the CPU. There are two methods that are famously used for memory management. The first one in memory management is partitioning. This involves dividing the RAM into the same-size memory slots or different-size memory slots. This helps accommodate some programs in the RAM, although the fixed memory method does cause a certain wastage of memory space. Different memory size is preferred, as it is more memory efficient. The second method is known as virtual memory. This is a technique used by the operating systems that allow the user to load the programs that are larger than the RAM of the computer. In this technique, the program is executed, even if the complete program cannot be loaded inside the main memory leading to efficient memory utilization.
The final thing that the OS does is file management In file management, the operating system manages the files, folders and the directory system on the computer. Any data on a computer is stored in the form of files, and the operating system keeps information about all of them using the File Allocation Table (FAT). The FAT stores general information about files like filename, type (text or binary), size, starting address and access mode (sequential/indexed sequential/direct/relative). The file manager of the operating system helps to create, edit, copy, and allocate memory to the files, as well as updating the FAT. The operating system also takes care that files are opened with proper access rights to read or edit them. Thus, in conclusion, the next time you use a Windows, Apple or Android device, you know what a hugely important role it plays on your device.