1 / 20

Lecture 3: Processes

This lecture covers the process concept, process scheduling, operations on processes, cooperating processes, interprocess communication, and communication in client-server systems.

ednad
Download Presentation

Lecture 3: Processes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 3 : Processes

  2. Topics covered • Process Concept • Process Scheduling • Operations on Processes • Cooperating Processes • Interprocess Communication • Communication in Client-Server Systems

  3. Process Concept • Early computer systems allowed only one program to be executed at a time . This program had complete control of the system and had access to all the system's resources. In contrast, current-day computer systems allow multiple programs to be loaded into memory and executed concurrently. This evolution required firmer control and more compartmentalization of the various programs; and these needs resulted in the notion of :- • A process which is a program in execution. • A process is the unit of work in a modern time-sharing system.

  4. Process Concept • the operating system consists of a collection of processes:- 1- operating system processes executing system code 2- user processes executing user code. • Potentially/ all these processes can execute concurrently/ with the CPU (or CPUs) multiplexed among them. By switching the CPU between processes, the operating system can make the computer more productive

  5. Process Component • A process is includes :- 1- The current activity, as represented by the value of the program counter and the contents of the processor's registers. 2- The process stack, which contains temporary data (such as function parameters, return addresses, and local variables). 3 - A data section, which contains global variables. 4- A process may also include a heap, which is memory that is dynamically allocated during process run .

  6. Process in Memory

  7. What the Process • program by itself is not a process; a program is a passive entity, such as a file containing a list of instructions stored on disk (often called an executable file), whereas a process is an active entity, . Two common techniques for loading executable files are double-clicking an icon representing the executable file and entering the name of the executable file on the command line

  8. Process State • As a process executes, it changes state • new: The process is being created • running: Instructions are being executed • waiting: The process is waiting for some event to occur • ready: The process is waiting to be assigned to a processor • terminated: The process has finished execution

  9. Diagram of Process State

  10. Process Control Block (PCB) Information associated with each process • Process state • Program counter :- The counter indicates the address of the next instruction to be executed for this process • CPU registers:- The registers vary in number and type, depending on the computer architecture. They include accumulators, index registers, stack pointers, and general-purpose registers. Along with the program counter, this state information must be saved when an interrupt occurs, to allow the process to be continued correctly afterward .

  11. Process Control Block (PCB) • CPU scheduling information :- This information includes a process priority, pointers to scheduling queues, and any other scheduling parameters . • Memory-management information :- This information may include such information as the value of the base and limit registers, the page tables, depending on the memory system used by the operating system . • Accounting information :- This information includes the amount of CPU and real time used. • I/O status information :- This information includes the list of I/O devices allocated to the process, a list of open files .

  12. Process Control Block (PCB)

  13. Operation of processes • The processes in most systems can execute concurrently, and they may be created and deleted dynamically. Thus, these systems must provide a mechanism for process creation and termination. In this section, we explore the mechanisms involved in creating processes and illustrate process creation on Windows systems

  14. Operation of processes • process may create several new processes, via a create-process system call, during the course of execution. The creating process is called a parent process, and the new processes are called the children of that process. Each of these new processes may in turn create other processes, forming a tree of processes. Most operating systems (including UNIX and the Windows family of operating systems) identify processes according to a unique process identifier (or pid), which is typically an integer number

  15. CPU Scheduling • A process migrates among the various scheduling queues throughout its lifetime. The operating system must select, for scheduling purposes, processes from these queues in some fashion . The selection process is carried out by the appropriate scheduler • in a batch system, more processes are submitted than can be executed immediately. These processes are spooled to a mass-storage device (typically a disk), where they are kept for later execution. • The types of processes scheduler:- • - The long-term scheduler, or job scheduler, selects processes from this pool and loads them into memory for execution. • - The short-term scheduler, or CPU scheduler, selects from among the processes that are ready to execute and allocates the CPU to one of them

  16. CPU Scheduling • CPU-scheduling decisions may take place under the following four circumstances: 1- When a process switches from the running state to the waiting state (for example, as the result of an I/0 request or an invocation of wait for the termination of one of the child processes 2- When a process switches from the running state to the ready state (for example, when an interrupt occurs)

  17. CPU Scheduling 3- When a process switches from the waiting state to the ready state (for example, at completion of I/0) 4- When a process terminates

  18. P1 P2 P3 0 24 27 30 Scheduling Algorithms • First-Come, First-Served Scheduling:- ProcessBurst Time P1 24 P2 3 P3 3 • Suppose that the processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is: • Waiting time for P1 = 0; P2 = 24; P3 = 27 • Average waiting time: (0 + 24 + 27)/3 = 17

  19. Scheduling Algorithms • Shortest-Job-First (SJF) Scheduling:- • Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time • Two schemes: • no preemptive – once CPU given to the process it cannot be preempted until completes its CPU burst • preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF) • SJF is optimal – gives minimum average waiting time for a given set of processes

  20. Shortest-Job-First (SJF) Scheduling:- ProcessBurst Time P1 5 P2 17 P3 68 P4 24 • The Gantt chart is:

More Related