Operating System

What is an Operating System?

An operating system (OS) is which makes it possible for the user to run computer applications on a computer hardware as it’s the intermediary between them. Operating System deals with the low level activities taken place at the back end of the working of a computer. It manages activities like scheduling processes, maintaining memory and managing it and a hardware’s kernel is basically which communicates with the operating system for all these functionalities to take place.  It is basically software which has the ability to communicate with both the hardware and the software so that the programs can run on it, because the computers don’t understand natural language and need the human language be converted to the machine language (in binary) in order to be processed. 

Every working computer, tablet, PC or mobile device comes embedded with a low level operating system for the applications to be able to run on. Basically, a computer without an Operating system is nothing and not usable at all. Some most common operating systems are Windows OS, Linux OS, Apple mac OS and Android OS. 

It is very necessary to pre-check the compatibility of the applications you need to run on your computer, with the operating system you’re installing in your PC, as not all work well on each OS. 

Popular types of Operating Systems

The computers have taken over the world as there is no task left that can not be done by them. But for a computer to act like one, it needs to have an operating system installed; only then it can be usable. Operating systems are that crucial that the richest person in the world, Bill Gates, owns an OS company (Microsoft). There are some most popular OS which will be discussed here:

  • Microsoft OS

Windows has a vast history in the popularity of computer systems as it’s MS DOS was the first standard IBM compatible OS for personal computers. MS DOS has progressed quite popularly as its journey till the Windows 10 has been great, being constantly the number one operating system in the world. As of 2020, approximately 90 percent of the PCs have been using Windows operating systems. Windows provides the users with graphical user interface (GUI), multitasking, scheduling, virtual memory management and the go to support for various peripheral devices. The latest Windows 10’s features of Cortana and Microsoft edge were an absolute jawbreaker.  

  • Linux OS

Linux Operating systems are most widely used in open-source software development, and are widely used where the user has low level knowledge about the system softwares. This type of OS is much faster in data processing and does task scheduling on another level. In fact, the most used operating system for mobile phones, Android, is powered by Linux OS. A Linux OS has different part such as:

Boot loader: The boot process of the computers are taken care of by the boot loader.

Kernel: The most inner core of the system is mainly the OS is the kernel of Linux. This lowest level of the Linux operating system manages memory, CPU and task scheduling. 

Daemons: These are the startup services which just start at the time of booting the system up

Graphical Server: The program responsible for displaying the graphics on to the computer screen is a Graphical server.

Applications: These are the applications which can be easily searched and run on a Linux OS. But the process of installation here is much different as it is done through the commands.

  • Mac OS X

Mac OS, also known as Macintosh, is the operating system which powers every mac. It is specifically designed for Apple systems and only is compatible with that social kind of hardware, which makes it unique from other OS. Mac OS has been developed on the same Kernel as Unix and has gained much popularity ever since. 

Process Management in OS

A process is any program which is currently in execution; an active entry and a program is a passive entry. As a process requires resources to accomplish its tasks such as managing the CPU, files, memory and initialization of data. A program counter is associated with single threads which decide which threads to be executed next. Whereas, multi-threaded processes have one counter per thread. Because multiple users can use multiple resources at the same time which requires multiple threads to run concurrently. These are managed by concurrency which takes place via multiplexing. 

Process management activities take care of the tasks such as creating new or altering already existing user and system processes, suspending and getting the processes to suspend via process scheduler and resume when required. The OS is also responsible for providing mechanisms for process synchronization, communication and helps deadlock handling.

Open-Source Operating Systems

Recently, an open source operating system was made available for private development instead of just binary closed-closure. It is made open source so that it becomes counter to the copy protection and digital rights movement (DRM). It was started by Free Software Foundation (FSF), which has copyleft the GNU Public License (GPL). It’s examples can be taken as GNU/Linux  and BSD Linux.  

Main Components of Operating Systems

The main components of operating systems are kernel, system calls, system boot, system I/O, system programs, file systems, GUI, process control, task scheduler, file manager, and device manager etc. The overall structure of the Windows OS is much simpler than the complex Linux or UNIX where everything is performed at the grass root level, and commands are only taken via the command prompt. 

Operating System main purpose

There are many core features of the Operating system but the most important ones are to act as a resource allocator and a program controller. As a resource allocator, the OS manages all the embedded resources. The program which makes it possible for the OS to run is the kernel. As all the resources attached wait for their turn, the OS picks the right process to be started next so that the resource use is most efficient. The OS acts as a control program to make sure the programs run error free and prevent an incorrect use of the computer.