logo
Operating Systems

02. Process Management

Process Management

1. Processes and Threads

  • Process: the execution of a program, the basic unit of resource allocation and scheduling
  • Process states: ready, running, blocked, and their transitions
  • Process control: creation, termination, switching
  • Process organization: PCB (Process Control Block)
  • Process communication: shared memory, message passing, pipes
  • Thread: execution unit within a process, shares resources, lightweight
  • Multithreading models: user-level threads, kernel-level threads

2. Processor Scheduling

  • Basic concepts: scheduling objects, timing, switching
  • Scheduling criteria: CPU utilization, turnaround time, response time, etc.
  • Scheduling types: preemptive, non-preemptive
  • Typical algorithms: First-Come-First-Served (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Scheduling, Multilevel Feedback Queue

3. Synchronization and Mutual Exclusion

  • Critical section, mutual exclusion, synchronization
  • Software methods: Peterson’s algorithm, etc.
  • Hardware methods: interrupt disabling, Test-and-Set, etc.
  • Semaphore (P/V operations), monitors
  • Classic synchronization problems: producer-consumer, readers-writers, dining philosophers

4. Deadlock

  • Deadlock concept: processes are permanently blocked due to resource competition
  • Deadlock handling strategies: prevention, avoidance, detection and recovery
  • Deadlock prevention: break the four necessary conditions
  • Deadlock avoidance: Banker’s algorithm
  • Deadlock detection and recovery

Exercises

  1. Briefly describe the difference between a process and a thread.
  2. What are the three basic states of a process and their transition conditions?
  3. What are the characteristics of FCFS, SJF, and RR scheduling algorithms?
  4. What is a semaphore? What do P/V operations mean?
  5. What are the four necessary conditions for deadlock? How can deadlock be avoided?
Reference Answers

1. Difference between process and thread

A process is a unit of resource allocation, a thread is a unit of scheduling, and threads share process resources.


2. Three process states and transitions

Ready (waiting for CPU), running (using CPU), blocked (waiting for resources); transitions are caused by scheduling, I/O, events, etc.


3. Scheduling algorithm characteristics

FCFS: simple, easy to implement, long jobs may starve; SJF: shortest average turnaround time, hard to predict job length; RR: fair, fast response, suitable for time-sharing systems


4. Semaphore and P/V operations

Semaphore is used for synchronization and mutual exclusion; P operation requests a resource, V operation releases a resource


5. Deadlock conditions and avoidance

Mutual exclusion, no preemption, hold and wait, circular wait; avoidance methods: break conditions, Banker’s algorithm