Process Management
Job vs Process
β μμ (job) / νλ‘κ·Έλ¨ (Program)
- μ€ν ν νλ‘κ·Έλ¨ + λ°μ΄ν°
- μ»΄ν¨ν° μμ€ν μ μ€ν μμ² μ μ μν
β νλ‘μΈμ€(Process)
- μ€νμ μν΄ μμ€ν 컀λμ λ±λ‘λ μμ
- μμ€ν μ±λ₯ ν₯μμ μν΄ μ»€νΈμ μν΄ κ΄λ¦¬λ¨
νλ‘μΈμ€μ μ μ
β μ€νμ€μΈ νλ‘κ·Έλ¨
- 컀λμ λ±λ‘λκ³ μ»€λμ κ΄λ¦¬ νμ μλ μμ
- κ°μ’ μμλ€μ μμ²νκ³ ν λΉ λ°μ μ μλ κ°μ²΄
- νλ‘μΈμ€ κ΄λ¦¬ λΈλ‘ (PCB)μ ν λΉ λ°μ κ°μ²΄
- λ₯λμ μΈ κ°μ²΄(active entity): μ€ν μ€μ κ°μ’ μμμ μꡬ, ν λΉ, λ°λ©νλ©° μ§ν
β Process Control Block(PCB)
- 컀λ κ³΅κ° (kernel space) λ΄μ μ‘΄μ¬
- κ° νλ‘μΈμ€λ€μ λν μ 보 κ΄λ¦¬
νλ‘μΈμ€μ μ’ λ₯
μμ (Resource)
β 컀λμ κ΄λ¦¬ νμ νλ‘μΈμ€μκ² ν λΉ/λ°λ©λλ μλμ κ°μ²΄(passive entity)
β μμμ λΆλ₯
- H/W resources: Processor, memory, disk, monitor...
- S/W resources: Message, signal, files, installed SWs ...
Process Control Block (PCB)
β OSκ° νλ‘μΈμ€ κ΄λ¦¬μ νμν μ 보 μ μ₯
β νλ‘μΈμ€ μμ± μ μμ±
PCBκ° κ΄λ¦¬νλ μ 보
β PID: Process Identification Number
- νλ‘μΈμ€ κ³ μ μλ³ λ²νΈ
β μ€μΌμ€λ§ μ 보
- νλ‘μΈμ€ μ°μ μμ λ±κ³Ό κ°μ μ€μΌμ€λ§ κ΄λ ¨ μ 보
β νλ‘μΈμ€ μν
- μμ ν λΉ, μμ² μ 보 λ±
β λ©λͺ¨λ¦¬ κ΄λ¦¬ μ 보
- Page table, segment table λ±
β μ μΆλ ₯ μν μ 보
- ν λΉ λ°μ μ μΆλ ₯ μ₯μΉ, νμΌ λ±μ λν μ 보 λ±
β λ¬Έλ§₯ μ μ₯ μμ(context save area)
- νλ‘μΈμ€μ λ μ§μ€ν° μνλ₯Ό μ μ₯νλ κ³΅κ° λ±
β κ³μ μ 보
- μμ μ¬μ© μκ° λ±μ κ΄λ¦¬
νλ‘μΈμ€μ μν (Process States)
β νλ‘μΈμ€ - μμ κ°μ μνΈ μμ©μ μν΄ κ²°μ
β νλ‘μΈμ€ μν λ° νΉμ±
Process State Transition Diagram
Created State
β μμ
(job)λ₯Ό 컀λμ λ±λ‘
β PCB ν λΉ λ° νλ‘μΈμ€ μ
μ±
β 컀λ: κ°μ© λ©λͺ¨λ¦¬ κ³΅κ° μ²΄ν¬ λ° νλ‘μΈμ€ μν μ μ΄
- Ready or Suspended ready
Ready State
β νλ‘μΈμ μΈμ λ€λ₯Έ λͺ¨λ μμμ ν λΉ λ°μ μν
- νλ‘μΈμ ν λΉ λκΈ° μν
- μ¦μ μ€ν κ°λ₯ μν
β Dispatch (or Shedule)
- Ready -> running
Running State
β νλ‘μΈμμ νμν μμμ λͺ¨λ ν λΉ λ°μ μν
β Preemption
- running -> ready
- νλ‘μΈμ μ€μΌμ€λ§
β Block/sleep
- running -> asleep
- I/O λ± μμ ν λΉ μμ²
Blocked/Asleep State
β νλ‘μΈμ μΈμ λ€λ₯Έ μμμ κΈ°λ€λ¦¬λ μν
- μμ ν λΉμ System Callμ μν΄ μ΄λ£¨μ΄μ§λ€
β Wake-up
- Alseep -> Ready
Suspended State
β λ©λͺ¨λ¦¬λ₯Ό ν λΉ λ°μ§ λͺ»ν(λΉΌμκΈ΄) μν
- Memory image(λ©λͺ¨λ¦¬μ μν)λ₯Ό swap deviceμ 보κ΄
- Swap Device: νλ‘κ·Έλ¨ μ 보 μ μ₯μ μν΄ νΉλ³ν νμΌ μμ€ν
- 컀λ λλ μ¬μ©μμ μν΄ λ°μ
β Swap-out(suspended), Swap-in(resume)
Terminated/Zombie State
β νλ‘μΈμ€ μνμ΄ λλ μν
β λͺ¨λ μμ λ°λ© ν, 컀λ λ΄μ μΌλΆ PCB μ λ³΄λ§ λ¨μ μλ μν
- μ΄ν νλ‘μΈμ€ κ΄λ¦¬λ₯Ό μν΄ μ 보 μμ§
νλ‘μΈμ€ κ΄λ¦¬λ₯Ό μν μλ£ κ΅¬μ‘°
β Ready Queue
β I/O Queue
β Device Queue
'β Group_Study > Operating System' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[2μ£Όμ°¨] Process Scheduling (0) | 2022.12.13 |
---|---|
[2μ£Όμ°¨] Thread Management (0) | 2022.12.12 |
[1μ£Όμ°¨] Process Management: Interrupt, Context Switching (0) | 2022.12.07 |
[1μ£Όμ°¨] OS Overview (1) | 2022.12.05 |
[1μ£Όμ°¨] Computer System Overview (0) | 2022.12.04 |
λκΈ