LESSION PLAN SUBJECT: OPERATING SYSTEM MCA 3RDSEM. MODULE – II Topic Topic Number 2 2.1 Topic Name Introduction 2.2 Life cycle of a process Process states Event handling in OS 2.3 Scheduling Types of scheduling 2.4 Schedulers Types of scheduler 2.5 PCB 2.6 Context switching 2.7 Process switching 2.8 Process scheduling goals
TOPIC : 01 Introduction: Process: A process or task is an instance of a program in execution. The execution of a process must programs in a sequential manner. At any time at most one instruction is executed. The process includes the current activity as represented by the value of the program counter and the content of the processors registers. Also it includes the process stack which contain temporary data (such as method parameters return address and local variables) & a data section which contain global variables. Difference between process & program: A program by itself is not a process. A program in execution is known as a process. A program is a passive entity, such as the contents of a file stored on disk where as process is an active entity with a program counter specifying the next instruction to execute and a set of associated resources may be shared among several process with some scheduling algorithm being used to determinate when the stop work on one process and service a different one. Different Terms: Program: The term ‘Program’ was very common at that time and also used frequently today. A program can be considered a set of instructions in the form of modules. Thus, program is a classic term used for user’s computation.
Job: in a batch system, there was a requirement to load and unload the magnetic tapes for various activities such as compiling, linking, loading, and so on, the term ‘job’ was used for performing the execution of a program through the execution of those activities. For example, the job is to execute a C program and the execution of compiler, linker, and loader programs are job steps. These job steps are in sequence, that is, loading is meaningless without the execution of linking program. Thus, job is a sequence of single programs. Task: The term ‘task’ was used when there was need to have concurrent execution on a single processor, that is, more than one program of a single user. For example, when a user works in Windows environment, he or she is able to open and work on multiple windows such as Word file, email, web browser, and so on. To distinguish it from the multi-programming and multiuser, the term task’ was used and that is why it is called multi-tasking. Program: A program is a set of instructions the user/programmer has written and stored somewhere. It means that a program is a passive entity and continues to exist at a place. Process: On the other hand, when a program is ready for the execution, it becomes active and is known as a process. In other words, a program in execution is called a process. Thus, a process is an active entity with a limited span of time as compared to a program. The term ‘task’ is also sometimes used interchangeably with the term ‘process’. The program when executed consists of many processes. This type of program is known as concurrent program.
There are some processes (created out of a program or concurrent program) whose executions overlap in time. These processes are known as concurrent processes. In a multi-programming system, processes are interleaved to be executed efficiently on a single processor. These processes are concurrent processes. Concurrent processes may be independent of each other and are known as independent processes. They may also interact with each other. They may share a data, send a message to each other, or send signals to coordinate their activities. These are known as interacting or cooperating processes