Interprocess Communication 11 “Only a brain-damaged operating system would support task switching and not make the simple next step of supporting multitasking.” – Calvin Keegan Processes
- Abstraction of a running program
- Unit of work in the system
- Pseudoparallelism
- A process is traced by listing the sequence of instructions that execute for that process
- The process model
– Sequential Process / Task ∗ A program in execution ∗ Program code ∗ Current activity ∗ Process stack · subroutine parameters · return addresses · temporary variables ∗ Data section · Global variables
- Concurrent Processes
– Multiprogramming – Interleaving of traces of different processes characterizes the behavior of the cpu – Physical resource sharing ∗ Required due to limited hardware resources – Logical resource sharing ∗ Concurrent access to the same resource like files – Computation speedup ∗ Break each task into subtasks ∗ Execute each subtask on separate processing element – Modularity ∗ Division of system functions into separate modules – Convenience ∗ Perform a number of tasks in parallel – Real-time requirements for I/O
- Process Hierarchies
– Parent-child relationship – fork(2) call in Unix – In ms-dos, parent suspends itself and lets the child execute
- Process states
– Running