PROCESS MANAGEMENT

PROCESS MANAGEMENT
Slide Note
Embed
Share

Process management is a vital aspect of computer systems, involving the organization and execution of programs as sequential processes. This includes defining processes, multiprogramming, algorithms, and the logical sequence of operations. Explore the concept further through examples like determining the maximum common divisor using Euclid's algorithm.

  • Process Management
  • Computer Systems
  • Algorithms
  • Multiprogramming
  • Execution

Uploaded on Feb 22, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. PROCESS MANAGEMENT

  2. Contents Process concept Process states Process description

  3. Process concept

  4. Process definition Informally, a process is a program in execution All the programs in execution are organized as a set of sequential processes (process model)

  5. A process is the unit of work in a multiprogrammed system a multiprogrammed O.S. allows concurrent execution of more processes

  6. Multiprogramming CPU activity CPU activity PO PO PO PO P1 P1 PO PO P1 P1 t t t5 t5 tO tO t1 t1 t2 t2 t3 t3 t4 t4 PO process : t1-tO, t3-t2, t5-t4

  7. Algorithm: the logical sequence of operations that must be executed to solve a problem Program: algorithm description by a programming language

  8. Process: the sequence of computer operations during the execution of the program

  9. Example: determine the MCD (maximum common divisor) of two integers greater than one (Euclid s algorithm)

  10. { { a = x; b = y; a = x; b = y; while (a != b) while (a != b) if (a > b) a = a if (a > b) a = a b; else b = b else b = b- -a; } } b; a; Subtract the smaller number from the larger one; repeat until you get a zero or a one

  11. initial initial state state final final state state x x 18 18 18 18 18 18 18 18 18 18 18 18 y y 24 24 24 24 24 24 24 24 24 24 24 24 a a - - 18 18 18 18 18 18 12 12 6 6 b b - - - - 24 24 6 6 6 6 6 6

  12. Process instances More processes (instances) can be associated to the same program; each of them represents the execution of the same code with different input data

  13. A process is identified by: Program code (text section) Its current activity, represented by the value of the PC and of the processor s registers

  14. Process stack (temporary data) Data section (global variables)

  15. Several resources can be associated to one process: Memory Open Files I/O devices

  16. Process states

  17. I/O or event I/O or event wait wait active active blocked blocked I/O or event I/O or event completion completion

  18. The number of CPU is generally less than the number of available processes The active state is subdivided in two states:

  19. ready (the process is waiting to be assigned to a CPU) running (a CPU is executing instructions of the process)

  20. running running I/O or event I/O or event wait wait preemption preemption of CPU of CPU allocation of allocation of the CPU the CPU blocked blocked I/O o event I/O o event completion completion ready ready

  21. The ready state is logically equivalent to running state: a process in ready state could be executed (if a CPU is available)

  22. A blocked process cannot execute (even if the CPU is available)

  23. Additional states: new (tipycally,a new process created to execute a program, but not yet loaded in the ready queue) exit (a process that has completed or aborted)

  24. exit exit running running release release allocation of allocation of the CPU the CPU preemption preemption of CPU of CPU blocked blocked I/O or event I/O or event completion completion new new ready ready

  25. Additional state: swapped (a process can be swapped temporaly out of memory to a backing store and then brought back into memory for continued execution)

  26. States of a UNIX process running running ready ready init init zombie zombie sleeping sleeping swapped swapped terminated terminated

  27. Init: process is loaded in memory. The O.S. must build some tables to manage it

  28. Ready: the process is waiting to be assigned to a processor Running: instructions are being executed

  29. Sleeping: the process is waiting for some event to occur Terminated: the process has finished its execution

  30. Swapped: the process is temporarly trasferred to a backing store

  31. Zombie: the process is terminated, but it is waiting that the parent process collects its status information

  32. Multiprogrammed system (only one CPU): One process is being executed (running state)

  33. More others processes are waiting to be executed by the CPU (ready state) for some event to occur (I/O completion o reception of a signal) (waiting state)

  34. Process description

  35. Process Descriptor (Process Control Block-PCB): Data structure associated to each process

  36. Process descriptor Process state Process context CPU scheduling information Mem. management information Resource utilization Accounting information

  37. Process state the state may be new, ready, running, waiting, halted, and so on

  38. Context PC (the address of the next instruction to be executed) PS (cond.codes- flags int. en./dis. bit, sup./user mode bit)

  39. Cpu registers The registers vary in number and type depending on the computer architecture: accumulators, index registers, stack pointers, general purpose registers

  40. CPU scheduling information This information includes a process priority, pointers to scheduling queues, others scheduling parameters

  41. Memory manag. information the base and limit registers, the page tables or the segment tables depending on the memory system adopted

  42. Accounting information amount of CPU and real time used, time limits, job or process numbers, and so on

  43. Resource utilization I/O devices allocated to this process, a list of open files and so on.

  44. Scheduling queues Ready queue: The processes that are residing in main memory and are waiting to execute are kept on a list called the ready queue

  45. This queue is generally implemented as a linked list

  46. Process queues first first last last first first last last O O O O

  47. Blocked queue: The processes that are waiting for some event to occur (I/O completion o reception of a signal) are kept on a list called the blocked queue

  48. A new process is initially put in the ready queue. It waits there until it is selected for execution One of the following events can occur to promote it:

  49. As a result of an I/O request the process is placed in an I/O queue

  50. As a result of a creation of a subprocess the process can wait for its termination

Related


More Related Content