Explain Operating System and its Functions


Hello Friends! The topic is Introduction to Operating system and its functionalities. we will first discuss the introduction to Operating System After which we will discuss the functionalities of the operating system. So what is an Operating System basically? An Operating System is a system software Which means it is a software that is inside your computer system What's the basic functionality of an Operating System?

Explain Operating System and its Functions
Explain Operating System and its Functions

What's the basic definition of an Operating System? It works as an interface between the user and the hardware. This is the definition of Operating System in the simplest language With a handful of users at the front end, the interaction between the users and the hardware is established by the Operating System of the computer If we now see in this diagram, What is the hardware here? Let's consider the scenario of our own laptop or desktop Basically hardware is nothing but the CPU Which we call 'the Brain of the system' after which comes the Input/Output Devices What are the input/output devices we majorly know?

Keyboard, mouse, printer, scanner, etc. are my input/output devices Then comes the RAM RAM we call generally as Main Memory Other than that secondary memory, that is our hard disk So this is the hardware we have in a system When we access this hardware If I am accessing my system, then I am accessing these devices only But am I accessing these devices directly?

Are users directly accessing the devices, that is, the hardware? No, they are accessing them through the Operating System So the operating system works here as an interface The next point is, why is there a need for an Operating System? If we did not have an Operating System, what would be the scenario?

The scenario would be that whenever a user wants to access a hardware component, he/she has to write a program for it Means, a program has to be written through which the device can be accessed That is, whenever the user has to access the device, a program has to be written For every single device, different programs have to be written repeatedly So let's assume I just want to execute a print command Let's say I have a word file and I want to print that file But I can't directly go to print option and print the file I will have to first write a program to invoke the printer so that the printer will print the file If I talk about the CPU If there's a process if I wish to execute a job The execution of the job comes later. The first task would be to provide the CPU with an instruction How will we provide the CPU with that instruction?

We will have to write programs exclusively for that Due to this reason, the interaction (communication) between the user and the hardware would turn way too complex There could be another scenario in which, a user has accessed one particular device When another user wants to access the same device, I don't release the resource Why so?


 It is because I have directly accessed the hardware So there is no authority in between who can take back the access from me So, there are several such reasons due to which we have to use an operating system Which serves as an interface between the user and the hardware We will see those when we discuss the functions Every single function of the operating system can be considered as the reason for using an operating system in our system (computer) So if I provide a basic example to the operating system used majorly is Windows If we talk about the primary function of the Operating System or why we use an operating system The major goal of the operating system is to provide convenience to the user Yes.

To provide convenience, in the sense, to make it easy for the user to access the hardware That's the functionality of the Operating System This is the reason why Windows, for several years, had acquired the complete market (users) There was a time when Windows had acquired 95% of the users That is, the major portion of the computer users was using Microsoft Windows Because the major goal is the convenience and Windows provides the maximum convenience You can check out your friends' laptops or anywhere else. The majority of them would be using the Windows operating system You could find different versions of Windows like Windows 7, 8 or 10, that depends But why do we provide Windows?

Because of convenience But as time goes by, the problems that we solve in our systems have started getting more and more complex With which the user's time value has increased as well That is, the user expects the problems to get solved faster For this, we require 'throughput' What does throughput mean?

The number of tasks executed per unit time That's the simple definition of throughput So as the number of tasks executed in a particular amount of time keeps increasing, my throughput increases too So we require an operating system that has a high throughput as well as is highly convenient For throughput, the most used Operating System is Linux But it doesn't mean that Linux doesn't provide convenience I'm just drawing the comparison to state why Windows had once acquired 95% of the users in the market it was because of its convenience But at present, the market acquisition of Windows as of 2018 is at approximately 82% Means, the acquisition of the market right now has severely dropped as compared to the last few years The market acquisition of Linux which was at 1 or 2 % earlier has gone up Why?

 Because of its throughput Other than this, we also have other operating systems like Apple's own Operating system which is called Mac (ie) Macintosh That has a good user base too So if we look into the real-life examples of operating systems, we have Windows, Linux, Mac and many more But the major goals narrow down to convenience and throughput The next part is What are the functionalities of the Operating System? Means, if I have an operating system in my system, what are its' functionalities?

The major functionality of the operating system is, it acts as a resource governor or a resource manager It manages the resources How do we manage the resources? If I am the only user of my system, I do not require the resource governor But wherever there's parallel access, that is, when multiple users access the system or particular hardware Which usually happens at the server level If we talk about the server where a lot of users send requests to access the data

There the operating system serves the role of a resource manager The user who gets the access, the amount of time the user gets access to the device and such are decided by the operating system After the stipulated time, the operating system revokes the access of the device from the user That's how we manage the resources, so that, the load doesn't build over a particular device When we open the task manager in our system We could easily find a lot of values in wave-like representations Which denote how much of CPU resources we are using, how much of RAM we are currently using, etc.

  All those values are managed by the operating system So that the load over the system neither exceeds the optimum usage limit nor falls way too below Means, it tries to manage the resources at the optimum level But it comes into use mainly in parallel processing Where multiple users try to access a particular device The second point is Storage Management Or we can say next comes Process Management means In our systems, we manage the processes Means, we execute the processes I turn on my laptop and start working on Microsoft Word Along with that, I open Windows Media Player and also a gaming app Means, I open multiple processes simultaneously All these processes are executed by the operating system How does this work?

 The mechanism is called CPU scheduling We use various CPU scheduling algorithms in this CPU scheduling means I have to execute a process Let's consider that I have written a simple C Program and saved it in .c format Now I have to execute the program and the program gets converted into a process Now the process gets executed in the CPU The execution of the process in the CPU is taken care of by the CPU scheduling mechanism CPU scheduling consists of several different types of algorithms which help to access the CPU and execute the processes efficiently This management is taken care of by the operating system Other than this comes the Storage Management involves storing data in the secondary storage devices which includes the Hard Disk

 Which actually means the data which we want to store permanently The way in which it is stored is managed by the Operating System And how do we manage the storage? By file system NIFS and CFS, I mean CIFS and NFS Common Interface File System and Networked File System These two are commonly used in Linux and Windows Their major goal is to handle all data input to be stored permanently inside the Hard disk with the help of the File System Inside the tracks or sectors whichever is applicable as a Disk Architecture Which in turn is managed by the Operating System The Fourth One is Memory Management In Memory Management there is RAM

Because If we differentiate between Storage and Memory Management, Storage Management involves Hard Disk It is the functionality of the Operating System to manage the Hard Disk efficiently But hard disk has no constraints whereas RAM has a constraint which is Limitation of Size In the sense the RAM, to which all the processes that are ready for execution are stored, is limited This topic is called as multitasking or multi programming concept in which the processes to be executed are brought in to the Main memory or RAM And when they arrive inside the RAM, they are made to wait in a queue inside the CPU

So how much memory we need to utilize to execute the process and how we can take the memory back is what we call as allocation and de-allocation Just because RAM has limited storage, we cannot simply let an already executed process as it is in RAM without giving space for the next process to enter At that time the Operating System sends the executed process out of CPU and lets a new process in which is termed as Swapping These topics are actually individual units which are to be studied further

whereas here I am discussing only the gist of these topics and their functionalities I have already created videos on the topics which involve Memory Management, Storage Management which also covers Disk and File System, CPU Scheduling and Resource Management Above all these comes the functionality which I am writing it here, it is called as Security Security and Privacy Privacy & Security is provided by the Operating System Whenever we switch on the computer, it seeks a password for the Windows system to authenticate the user details through the correct input And Windows uses  Security Protocol which uses the password to provide safe access of the files to the user Other than this,

 as I have told that a process under execution gets an allocated memory inside the RAM for the process to be stored Like for P1, the memory segment is 0 to 100 Another process P2 has got 101 to 200 memory segment When any process calls or executes an instruction outside its segment or block, then the process on the whole gets totally blocked Means if the process P2 calls or executes any instructions from that of P1 block, then P2 gets completely blocked Means the privacy and security is maintained even among the processes so that they don't interfere or interchange data with each other So privacy and security is also given by Operating System Here actually more functionalities are there to be discussed but these are the main/important functionalities of Operating System

 And the last point that I wanted to tell you is noting the diagram where the concept behind the term Applications is How we as normal users try to access the Operating System? When we switch on a computer the Desktop acts as an interface to the user with Operating System We go to My Computer where if we want to watch a movie or listen to songs we open C, D or E drives and access the particular file Now the user can access the files through the applications or through direct access to Operating System Majorly we use applications only if, for example, if I want to take a printout of a particular file, then what will I do?

First I will make it an MS Office file which is an application Now if I press Ctrl+P a dialog box pops up asking "Do You Want To Print?" and we would give "Yes" giving it the print command Here the print command is providing us access to hardware But you are directly accessing the hardware through an application for which the Operating System acts as an interface Do you as a user feel it?

Not at all, It doesn't give us that feel so it gives a good interface that the user is not at all felt the presence of Operating System during accessing the hardware So beyond this we have Shell where we use the command prompt in Windows or Terminal application in Linux OS to have direct access of the Operating System That is the command prompt method which we generally term as System Calls Operating Systems basically work with System Calls which we will discuss in next post but here.



Post a Comment

0 Comments