 Hello dear learners. So today we are going to learn about Operating System which is a part of your third semester course in MCA and MSC-LT, syllabus of Krishna-Kanta-Handik State Open University. So today I will talk about the first chapter that is Introduction to Operating System. So I have divided this chapter into three segments. In the first segment we will talk about the definition of Operating System and its objectives. In the second segment I will talk about the Operating System Services and in the third we will talk about the classification of Operating System. So now let us look at the definition of Operating System. So Operating System can be said to be a software which acts as an interface between the computer, user and the computer hardware. Now all of the Operating System needs to fulfill three objectives. So the first objective is ease of use. So basically when we use a computer we use a lot of devices along with a computer. Now each of these devices they have a device driver along with it. Now it is the job of the Operating System to issue commands to this device driver so that we can issue commands to the particular devices. So that is the ease of use. That is we do not have to give low level instructions to the device because as a Operating System it gives us the high level commands to the device which gets translated to low level commands for the devices. Now the second objective is efficient utilization of resources. So in here the Operating System acts as a manager so that it can allot the different resources to the different users or different programs that are asking for those resources. So now let us look at the third objective. So the third objective is ability to evolve. So the Operating System needs to keep on evolving. That is it needs to keep on improving itself by adding more functions and more resources to it. For example if we consider Windows we have a number of Operating Systems that have come up within the years. So we have Windows 7, Windows XP, then we have Windows 10. So on every Operating System needs to evolve. So that is the third objective of every Operating System. Now let us move on to the second segment. So in the second segment we will talk about the Operating System services. So mainly the Operating System services have been grouped into four categories. So now let us look at the first category. That is program execution and control. Now all the services that are related to the program, for example creation of a program, deletion of a program, allotting resources for that particular program, all the services come under program execution. So allotting space for a program execution is also a service that is done under this group. Now let us look at the second group of Operating System services that is IO operations or we can say as input output operations. So all the input output instructions, the input that we give to the computer, the output that we get from the computer. So all these operations come under the input output operations. So this takes care of all of that. Suppose we need to print a file so that instruction will come from this part of the Operating System. Next, let us look at the third Operating System services which is file manipulation. We know that all the data we have in the computer are in the form of files. So the creation of these files are in the directories, the deletion of the files in the directories plus opening a file, reading a file. So all these functions are supported by this file manipulation service of the Operating System. So now next let us look at the fourth Operating System service that is error detection. Now let me ask you a question. So if we try to open an MS word file in a VLC media player, will it open? No. Yes. Why no? Because the format won't match. So how will it detect? Now who will detect that we are trying to open a word file in a media player? So that is the jump of this error detection part of the Operating System. So here we have four main services for the Operating System. So now that these four services can be again grouped into something sub-services. So now let us look at those. The first sub-system service is Process Management System. Now the services that will come under Process Management System are allocating the memory to a process, creating the process control block. That is it will keep track of where the program starts and where the program ends. The memory that has been allotted to the process. Also the life cycle of the process that is every process has a life cycle which we will again learn in the second chapter. So there this life cycle that is also managed by the Process Management System. Next we have another service that is process scheduling. Now for example let us take two processes P1 and P2. So here I want to tell you those of you who don't know a programming execution is said to be a process. Simply there we have a program let us say a C program when we execute it we simply say that it is now a process. So let us for example take two processes P1 and P2. Now I have only one CPU and I need to give I need to execute both of these programs. Now who will get the CPU first and who will get it the second. So who is going to take the decision. So that decision is going to be taken by the operating system. So the operating system will take that decision whether we are going to follow first in first out scheduling algorithm that is whoever comes first will get the CPU first or assortage job first. That is whichever execution time will be minimum will offer the CPU to that process first. So whether we are going to follow this strategy or this strategy or any of the other strategies that are available. So that decision is going to be taken in this service of the operating system. So now let us look at the third service that is memory management system. We have in our computer memory someone needs to keep track how much memory is there left in the computer system. How much memory the OS has captured. How much suppose we have a new process that has been created. How much memory is going to be allocated to this process from where that memory will start, from where that memory will end. So all this are being taken care of by the memory management system. Also when a process is created memory needs to be allocated. Similarly when this process has been terminated so memory needs to be deallocated. That is here it also keeps track of the free spaces that are available in the computer. So when we need to allow the space to the program it will allocate from here and when this program has been terminated again this space will be kept track of by the free space management that is part of the memory management system. Now let us look at the fourth subsystem service that is file management. Now we have already taken talking about file management that here we are going to take care of how the file is created, how file is deleted, opening of a file, reading of a file, renaming of a file copying a file. So all this functions will come under file management. Next let us look at another service that is input output management service. Input output management service will take care of the different devices that are connected with a computer. For example a printer, a keyboard, a mouse. So when we give a particular input to the computer that will be taken care of by the input management service. Next let us look at some other services that have been offered. So the next is networking system. Networking system gives us services like remote login and remote copy. Those are the services of the networking system. Next another service is user interface. That is how we try to connect, how we try to give commands to the computer. So it can be done using a terminal, it can be done using a mouse, it can be done using a keyboard. So all these different types of features will come under user interface services. Next the last one is protection. That is suppose I have a multi user computer system. So some of those files I want to be shared and some of those I don't want to be shared. So now suppose another user comes and tries to access a file that does not have the shared option. So that user should not be able to access my unshared document. So now that will come under this protection service of the OS. That any user that doesn't have access to a file then he should not be able to use it or read it or access it. So that comes under the protection service of the operating system. So we have completed till here. Do you have any doubts till here? Thank you. So then we will quickly go to the third segment. So the third segment is about different types of classification of operating system. So now the operating system classification has been done based on the purpose on which the operating systems were developed and the functions that they support now. So let us look at back at the history. So in what happened in 1940s. So in 1940s there were no operating systems. But what we had was something like a console which has 8 or 16 toggle switches. So this could only accept machine instructions. Now along with this 8 or 16 toggle switches we also had buttons for restart, shutdown, debug. So all these options were also available in this electronic computers at the time of 1940s. So whatever instructions we wanted to give could be given using machine instructions. Now next let us look at what happened in the 1950s. So in the 1950s we had something that is known as punch card system. So in this system what happened was punch. The program were written in punch card and they were being read by a punch card reader. So this era had SNLers high level languages. Those were written in these punch cards. So now what happened here was every user could get a time slot for a particular day and he could come with his punch card and he could run his program. But now for every user the compiler have to be loaded first then his program will be executed and if there was an error then his punch card would be halted and his program would not be executed. Plus the remaining slot of the time that was given to that user would be wasted. So this kind of system was very costly and it was very time consuming. So because of this defects we come to the first operating system that is the batch operating system. Now in batch operating system what was done is we had a resident monitor which could be seen to be the first operating system that is developed. So this resident monitor took files from different users and it could automatically execute these files and give results. So suppose the second user had a file which had an error in it then it will simply go on to the third file. Now the instructions for the resident monitor were given using something known as JCL or job control languages. So this job control languages in here we specified which job we wanted to do first and in what way we wanted the job to be done. So these instructions were given using JCL or job control languages. So this was the basis for your first operating system that is batch operating system. Now the next operating system is multi-programming operating system. Now all the jobs that we give the computer system to perform they can be divided into either CPU instructions or input output instructions. Really think about all the jobs or the programs that we offer that we give the computer to perform they can be either divided into CPU instructions that is either they are processing type of instructions or they are input output instructions. Suppose for example if I write a simple C program suppose simple C program so main so I take three variables a, b and c then I take a user input for variable a similarly user input for variable b. Let us put the summation of a and b in variable c. And then again let me display this variable c so the c program. So now we can see that this instruction this part of the instructions are CPU instructions these two are IO instructions again this is a CPU instruction and this is again a IO instruction. So all the jobs that the programs can be divided into these two categories. Now the user input instructions are very as we know the user input is slow because the human beings are very slow when we compare us to a CPU or a processor. So these instructions will take more time as compared to this instruction. The CPU instructions are being operated or to be processed by the CPU while these input instructions are going to be operated by a special part of the CPU this is IO operator. So now this will take more time and the CPU instructions will take less time. So while the IO input are busy we can offer the CPU to some other programs. So this is the concept behind multi-programming OS that while the input output part is slowly working on one program we can offer the CPU processor to another program so that we can work on two or multiple programs at the same time. Now let us look at the fourth type of operating system that is time-sharing operating system. Now in the batch operating system and in multi-programming operating system we do not have any real time interactions with the user or with multiple users. Now the time-sharing operating system gives us this feature that we can communicate with multiple users at the same time. Now how do we communicate with multiple users at the same time? What we can do is we take one second and this one second can be divided into multiple milliseconds. So suppose for example we have four users, user one, user two, user three and user four. So when we have multiple users and we need to respond these four users at the same time what we can do is divide this one second into four parts and give one part suppose 100 milliseconds to the first user the second 100 milliseconds of this one second to the second user and third 100 milliseconds to the third user and again to the fourth user. And once we have given the 100 milliseconds each to the each user again we can give the fifth 100 milliseconds again to the first user and this way we can continue. Now as a user I will not be able to recognize 100 milliseconds. I can only as a human we can only recognize still one seconds so when the computer gives me 100 millisecond time of a second I will not be able to distinguish for me I will realize that the computer has been in respond to me for the whole time. So that is the idea behind this my time shared operating system. Now let us look at another operating system that is personal computer or personal OS. This is one of the most common operating systems that are available nowadays. So basically personal operating systems are one user only operating systems. So the next operating system is parallel operating systems. Now the concept behind parallel operating system is such now we know that a CPU has a fixed speed limit so the speed view can only reach a particular line of speed limit. So once it reach its highest speed it cannot go any further. But suppose we need a work done more faster then what we can do is we can allow more than one CPUs for a particular computer. So that can be two or more CPUs per computer. So that is the concept behind parallel operating system. That is any job that we need to do in the more faster we can divide it into two parts if that is allowed and then we can give one part to one CPU and second part to the other CPU. And we can get the job done more faster. Next let us look at another operating system that is distributed operating systems. Now distributed operating systems are basically a connection of large number of computers that are connected through high speed internet networks. And very good example of distributed operating system is our ATMs that we have in our banking system. So distributed operating system basically it will give us a feel of a single user operating system like a personal computer. But actually it has a large number of computers and the CPU work can be divided between all of these computers. Next last operating system that we are going to discuss here today is real time operating system. Now real time as the name itself suggests means that this operating system has to give results within real time. That is the time limit will be given for the execution of jobs in this operating system. So and if the time limit is not maintained then a catastrophic or some hard measures need to be taken. The real time operating system has two parts or two different types. One is the hard real time operating system and other is the soft real time operating system. In hard real time operating system if the operating system doesn't give the results within that particular frame of time that has been mentioned earlier then it leads to a catastrophe. But in soft real time it can be relaxed a bit. For example of a hard real time software we can see about rockets or air traffic control. If we give a particular instruction and the instruction is not followed then it will lead to catastrophe. For example suppose India sends a rocket to the moon and we need to change the trajectory or otherwise it will crash to a asteroid. So in that case what we do is we need to give a real time instruction to the rocket to change its trajectory. Only then we can come out of that catastrophe. So that is an example of a hard real time operating system. Whereas for example of a soft real time operating system it can be something as a weather sensor. So if the weather sensor, instead of taking the weather sensor at suppose 20 hours instead of taking it it has taken 20-05 hours. So there won't be any catastrophe. So this kind of example is for soft real time operating system. So these are the different types of operating system classification that we have learned today. Let me give you a summary of what we have taught today. So first of all we have defined operating system followed by the three objectives that each operating system need to have. After that we have defined a different type of operating system services that any operating system needs to provide. After that we have looked at the different type of operating system classifications. So now this ends the first chapter that is production to operating system which is a very basic level chapter. So in the next chapter we will learn about process. So we will learn about processes and along with it we will also learn about trends. So we will learn about the process, what is a process, what is a process control block, what are the different life cycles in a process, what is a thread, what is multi-threading, different types of threads. So all this concept we are going to talk about in the next class. So thank you for listening to me today. Thank you.