SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Part II
Process Management
   Chapter 3: Processes


                          1
Process Management

§   The Concept of a Process
§   Process Scheduling
§   Operations on Processes
§   Cooperating Processes
§   Interprocess Communication



                                 2
The Concept of a Process

§   What is a process?
§   Process states
§   Process control block
§   Threads




                                3
Process: Definition 1/2
§ When the OS runs a program (i.e., a binary
  executable), this program is loaded into memory
  and the control is transferred to this program’s
  first instruction. Then, the program starts to run.
§ A process is a program in execution.
§ A process is more than a program, because the
  former has a program counter, stack, data section
  and so on (i.e., the runtime stuffs).
§ Moreover, multiple processes may be associated
  with one program (e.g., run the same program, a
  web browser, twice).
                                                  4
Process: Definition 2/2
                  max
                          stack




                          heap
program counter
                          data      global data

                   0    text/code   program code

                                                   5
Process States
At any moment, a process can be in one of the five
states: new, running, waiting, ready and terminated.
vNew: The process is being created
vRunning: The process is being executed
vWaiting: The process is waiting for some event
 to occur (e.g., waiting for I/O completion)
vReady: The process is waiting to be assigned to a
 processor.
vTerminated: The process has finished execution.
                                                  6
Process State Diagram
converting to process
                                    reclaim resource
    new                             destroy process  terminated

         admitted         scheduler dispatch                   exit

                  ready                    running
                              interrupt
waiting for CPU
                                                   I/O or event wait
        I/O or event
        completion              waiting

                        waiting for I/O or event                 7
Process Control Block (PCB)
                      § Each process has a
pointer    process      number, the process ID.
            state
                      § Process info are stored
    process ID          in a table, the process
 program counter        control block (PCB).
                      § These PCBs are chained
    registers
                        into a number of lists.
   memory limits        For example, all
 list of open files
                        processes in the ready
                        status are in the ready
                        queue.
                                             8
Process Scheduling
§ Since the number of processes is always larger
  than the number of CPUs, the OS must
  maintain maximum CPU utilization.
§ To determine which process can do what,
  processes are chained into a number of
  scheduling queues.
§ For example, in addition to the ready queue,
  each event may have its own scheduling queue
  (i.e., waiting queue).

                                                   9
Various Scheduling Queues
       ready queue
head
tail

       tape 2
head
tail
       disk 0
head
tail

       term. 2
head
tail

                            10
Queuing Diagram for Scheduling

    ready queue                                CPU



   I/O            I/O queue          I/O request



                                  time slice expired


                  child execute      fork a child


                   interrupt         wait for an
                   occurs            interrupt         11
Schedulers
§ There are three types of schedulers
  ØLong-Term (Job) Scheduler: selects jobs and
    loads them into the system for execution (the
    new state). Executes less frequently.
  ØShort-Term (CPU) scheduler: selects from
    among the processes (in the ready queue),
    and allocates the CPU to one of them.
    Executes very frequently.
  ØMedium-Term Scheduler: does swapping to
    balance system load.
                                                12
Medium-Term Scheduler
 swap-in                              swap-out
              partially executed
            swapped-out processes




    ready queue                     CPU
                                                 end




                            I/O waiting
    I/O
                              queue

                                                 13
Context Switch
§ What is a process context? The context of a
  process includes the values of CPU registers,
  the process state, the program counter, and
  other memory/file management information.
§ What is a context switch? After the CPU
  scheduler selects a process (from the ready
  queue) and before allocates CPU to it, the CPU
  scheduler must
  Ø save the context of the currently running process,
  Ø put it into a queue,
  Ø load the context of the selected process, and
  Ø let it run.
                                                         14
Context Switch
    process 0      operating system      process 1

running
                                              idle
                save context into PCB0


                load context from PCB1
                                              running
   idle
                save context into PCB1


                load context from PCB0
                                              idle
running
                                                     15
Operations on Processes
q There are three commonly seen operations:
   vProcess Creation: Create a new process. The newly
    created is the child of the original. Use fork() or
    vfork() in Unix to create new processes.
   vProcess Termination: Terminate the execution of a
     process. Under Unix, use exit().
   vProcess Join: Wait for the completion of a child
     process. Under Unix use wait().
q fork(), vfork(), exit() and wait() are system
  calls.
q Use “ps –aux” to see all running processes
q Will discuss this later in this semester.
                                                      16
Cooperating Processes
§ A process is independent if it cannot affect or
  be affected by the other processes executing in
  the system.
§ A process is cooperating if it can affect or be
  affected by the other processes executing in
  the system.
§ Therefore, any process that shares resources
  with other processes is a cooperating process.


                                               17
Why Is Cooperating Processes Important?
§ Information sharing: Multiple processes can use
  the same set of information (e.g., files).
§ Computation Speedup: One may split a process
  into multiple processes to use multiple processors.
§ Modularity: A system can be divided into separate
  processes. Use the ps command to see how many
  processes are not yours!
§ Convenience: A user may have multiple tasks to
  work at the same time (e.g., editing, browsing,
  printing).
§ However, handling cooperating processes is
  difficult. You will hate me very soon, J 18
Interprocess Communications (IPC)
qCooperating processes must communicate to
 get the job done.
qThere are two types of communications:
  vProcesses that share the same memory:
    locks, semaphores, monitors, and others.
  vProcesses that are running in a distributed
    environment: message passing, sockets,
    remote procedure calls (RPC).
qWill cover both in later lectures.

                                                 19

Más contenido relacionado

La actualidad más candente

Processes in unix
Processes in unixProcesses in unix
Processes in unix
miau_max
 

La actualidad más candente (20)

Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
CPU Scheduling in OS Presentation
CPU Scheduling in OS  PresentationCPU Scheduling in OS  Presentation
CPU Scheduling in OS Presentation
 
Motivation in software project development
Motivation in software project developmentMotivation in software project development
Motivation in software project development
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process Concepts
 
Operating system 40 lru algorithm
Operating system 40 lru algorithmOperating system 40 lru algorithm
Operating system 40 lru algorithm
 
CPU Scheduling algorithms
CPU Scheduling algorithmsCPU Scheduling algorithms
CPU Scheduling algorithms
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Object-oriented analysis and design - questions and answers
Object-oriented analysis and design - questions and answersObject-oriented analysis and design - questions and answers
Object-oriented analysis and design - questions and answers
 
Context switching
Context switchingContext switching
Context switching
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
scheduling
schedulingscheduling
scheduling
 
Processes in unix
Processes in unixProcesses in unix
Processes in unix
 
Operating system; Multitasking
Operating system; MultitaskingOperating system; Multitasking
Operating system; Multitasking
 
Reader Writer problem
Reader Writer problemReader Writer problem
Reader Writer problem
 
Process of operating system
Process of operating systemProcess of operating system
Process of operating system
 
Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)
 
Operating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatzOperating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatz
 
Lecture 4 principles of parallel algorithm design updated
Lecture 4   principles of parallel algorithm design updatedLecture 4   principles of parallel algorithm design updated
Lecture 4 principles of parallel algorithm design updated
 
Mainframe systems
Mainframe systemsMainframe systems
Mainframe systems
 
Operating system critical section
Operating system   critical sectionOperating system   critical section
Operating system critical section
 

Similar a Process

Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - Engineering
Yogesh Santhan
 
23565104 process-management(2)
23565104 process-management(2)23565104 process-management(2)
23565104 process-management(2)
Anuj Malhotra
 
Ch2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.pptCh2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.ppt
Mohammad Almuiet
 
OS_Unit II - Process Management_CATI.pptx
OS_Unit II - Process Management_CATI.pptxOS_Unit II - Process Management_CATI.pptx
OS_Unit II - Process Management_CATI.pptx
Gokhul2
 
Operating System 3
Operating System 3Operating System 3
Operating System 3
tech2click
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentation
chnrketan
 

Similar a Process (20)

Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - Engineering
 
UNIT-2-Process-Management.pdf
UNIT-2-Process-Management.pdfUNIT-2-Process-Management.pdf
UNIT-2-Process-Management.pdf
 
OS (1).pptx
OS (1).pptxOS (1).pptx
OS (1).pptx
 
Operating System-Concepts of Process
Operating System-Concepts of ProcessOperating System-Concepts of Process
Operating System-Concepts of Process
 
3 process management
3 process management3 process management
3 process management
 
Processes
ProcessesProcesses
Processes
 
Process management
Process managementProcess management
Process management
 
23565104 process-management(2)
23565104 process-management(2)23565104 process-management(2)
23565104 process-management(2)
 
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncationLM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
 
Ch2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.pptCh2_Processes_and_process_management_1.ppt
Ch2_Processes_and_process_management_1.ppt
 
UNIT - 3 PPT(Part- 1)_.pdf
UNIT - 3 PPT(Part- 1)_.pdfUNIT - 3 PPT(Part- 1)_.pdf
UNIT - 3 PPT(Part- 1)_.pdf
 
OS_Unit II - Process Management_CATI.pptx
OS_Unit II - Process Management_CATI.pptxOS_Unit II - Process Management_CATI.pptx
OS_Unit II - Process Management_CATI.pptx
 
Operating System 3
Operating System 3Operating System 3
Operating System 3
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentation
 
Chapter03
Chapter03Chapter03
Chapter03
 
Process
ProcessProcess
Process
 
Os unit 3 , process management
Os unit 3 , process managementOs unit 3 , process management
Os unit 3 , process management
 
OS-Process.pdf
OS-Process.pdfOS-Process.pdf
OS-Process.pdf
 
Module 3-cpu-scheduling
Module 3-cpu-schedulingModule 3-cpu-scheduling
Module 3-cpu-scheduling
 
Processing management
Processing managementProcessing management
Processing management
 

Más de Mohd Arif

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcp
Mohd Arif
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
Mohd Arif
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
Mohd Arif
 
Project identification
Project identificationProject identification
Project identification
Mohd Arif
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniques
Mohd Arif
 
Presentation
PresentationPresentation
Presentation
Mohd Arif
 
Pointers in c
Pointers in cPointers in c
Pointers in c
Mohd Arif
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
Mohd Arif
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systems
Mohd Arif
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
Mohd Arif
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgeting
Mohd Arif
 
Network management
Network managementNetwork management
Network management
Mohd Arif
 
Networing basics
Networing basicsNetworing basics
Networing basics
Mohd Arif
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platform
Mohd Arif
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and ssl
Mohd Arif
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psec
Mohd Arif
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardware
Mohd Arif
 

Más de Mohd Arif (20)

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcp
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Project identification
Project identificationProject identification
Project identification
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniques
 
Presentation
PresentationPresentation
Presentation
 
Pointers in c
Pointers in cPointers in c
Pointers in c
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systems
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgeting
 
Network management
Network managementNetwork management
Network management
 
Networing basics
Networing basicsNetworing basics
Networing basics
 
Loaders
LoadersLoaders
Loaders
 
Lists
ListsLists
Lists
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platform
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and ssl
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psec
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardware
 
Heap sort
Heap sortHeap sort
Heap sort
 

Último

Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 

Último (20)

VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 

Process

  • 1. Part II Process Management Chapter 3: Processes 1
  • 2. Process Management § The Concept of a Process § Process Scheduling § Operations on Processes § Cooperating Processes § Interprocess Communication 2
  • 3. The Concept of a Process § What is a process? § Process states § Process control block § Threads 3
  • 4. Process: Definition 1/2 § When the OS runs a program (i.e., a binary executable), this program is loaded into memory and the control is transferred to this program’s first instruction. Then, the program starts to run. § A process is a program in execution. § A process is more than a program, because the former has a program counter, stack, data section and so on (i.e., the runtime stuffs). § Moreover, multiple processes may be associated with one program (e.g., run the same program, a web browser, twice). 4
  • 5. Process: Definition 2/2 max stack heap program counter data global data 0 text/code program code 5
  • 6. Process States At any moment, a process can be in one of the five states: new, running, waiting, ready and terminated. vNew: The process is being created vRunning: The process is being executed vWaiting: The process is waiting for some event to occur (e.g., waiting for I/O completion) vReady: The process is waiting to be assigned to a processor. vTerminated: The process has finished execution. 6
  • 7. Process State Diagram converting to process reclaim resource new destroy process terminated admitted scheduler dispatch exit ready running interrupt waiting for CPU I/O or event wait I/O or event completion waiting waiting for I/O or event 7
  • 8. Process Control Block (PCB) § Each process has a pointer process number, the process ID. state § Process info are stored process ID in a table, the process program counter control block (PCB). § These PCBs are chained registers into a number of lists. memory limits For example, all list of open files processes in the ready status are in the ready queue. 8
  • 9. Process Scheduling § Since the number of processes is always larger than the number of CPUs, the OS must maintain maximum CPU utilization. § To determine which process can do what, processes are chained into a number of scheduling queues. § For example, in addition to the ready queue, each event may have its own scheduling queue (i.e., waiting queue). 9
  • 10. Various Scheduling Queues ready queue head tail tape 2 head tail disk 0 head tail term. 2 head tail 10
  • 11. Queuing Diagram for Scheduling ready queue CPU I/O I/O queue I/O request time slice expired child execute fork a child interrupt wait for an occurs interrupt 11
  • 12. Schedulers § There are three types of schedulers ØLong-Term (Job) Scheduler: selects jobs and loads them into the system for execution (the new state). Executes less frequently. ØShort-Term (CPU) scheduler: selects from among the processes (in the ready queue), and allocates the CPU to one of them. Executes very frequently. ØMedium-Term Scheduler: does swapping to balance system load. 12
  • 13. Medium-Term Scheduler swap-in swap-out partially executed swapped-out processes ready queue CPU end I/O waiting I/O queue 13
  • 14. Context Switch § What is a process context? The context of a process includes the values of CPU registers, the process state, the program counter, and other memory/file management information. § What is a context switch? After the CPU scheduler selects a process (from the ready queue) and before allocates CPU to it, the CPU scheduler must Ø save the context of the currently running process, Ø put it into a queue, Ø load the context of the selected process, and Ø let it run. 14
  • 15. Context Switch process 0 operating system process 1 running idle save context into PCB0 load context from PCB1 running idle save context into PCB1 load context from PCB0 idle running 15
  • 16. Operations on Processes q There are three commonly seen operations: vProcess Creation: Create a new process. The newly created is the child of the original. Use fork() or vfork() in Unix to create new processes. vProcess Termination: Terminate the execution of a process. Under Unix, use exit(). vProcess Join: Wait for the completion of a child process. Under Unix use wait(). q fork(), vfork(), exit() and wait() are system calls. q Use “ps –aux” to see all running processes q Will discuss this later in this semester. 16
  • 17. Cooperating Processes § A process is independent if it cannot affect or be affected by the other processes executing in the system. § A process is cooperating if it can affect or be affected by the other processes executing in the system. § Therefore, any process that shares resources with other processes is a cooperating process. 17
  • 18. Why Is Cooperating Processes Important? § Information sharing: Multiple processes can use the same set of information (e.g., files). § Computation Speedup: One may split a process into multiple processes to use multiple processors. § Modularity: A system can be divided into separate processes. Use the ps command to see how many processes are not yours! § Convenience: A user may have multiple tasks to work at the same time (e.g., editing, browsing, printing). § However, handling cooperating processes is difficult. You will hate me very soon, J 18
  • 19. Interprocess Communications (IPC) qCooperating processes must communicate to get the job done. qThere are two types of communications: vProcesses that share the same memory: locks, semaphores, monitors, and others. vProcesses that are running in a distributed environment: message passing, sockets, remote procedure calls (RPC). qWill cover both in later lectures. 19