νλ‘μΈμ€ λκΈ°ν & μνΈλ°°μ (Process Synchronization and Mutual Exclusion)
Process Synchronization
β λ€μ€ νλ‘κ·Έλλ° μμ€ν
- μ¬λ¬ κ°μ νλ‘μΈμ€ μ‘΄μ¬
- νλ‘μΈμ€λ€μ μλ‘ λ 립μ μΌλ‘ λμ
- 곡μ μμ λλ λ°μ΄ν°κ° μμ λ, λ¬Έμ λ°μ κ°λ₯
β λκΈ°ν(Synchronization)
- νλ‘μΈμ€λ€μ΄ μλ‘ λμμ λ§μΆλ κ²
- νλ‘μΈμ€λ€μ΄ μλ‘ μ 보λ₯Ό 곡μ νλ κ²
Asynchronous and Concurrent P's
β λΉλκΈ°μ (Asynchronous)
- νλ‘μΈμ€λ€μ΄ μλ‘μ λν΄ λͺ¨λ¦
β λ³νμ (Concurrent)
- μ¬λ¬ κ°μ νλ‘μΈμ€ λ€μ΄ λμμ μμ€ν μ μ‘΄μ¬
β λ³ν μνμ€μΈ λΉλκΈ°μ νλ‘μΈμ€λ€μ΄ 곡μ μμμ λμ μ κ·Όν λ λ¬Έμ κ° λ°μν μ μμ
Terminologies
β shared data (곡μ λ°μ΄ν°) or Critical data
- μ¬λ¬ νλ‘μΈμ€λ€μ΄ 곡μ νλ λ°μ΄ν°
β Critical section (μκ³ μμ)
- 곡μ λ°μ΄ν°λ₯Ό μ κ·Όνλ μ½λ μμ (code segment)
β Mutual exclusion(μνΈ λ°°μ )
- λ μ΄μμ νλ‘μΈμ€κ° λμμ critical sectionμ μ§μ νλ κ²μ λ§λ κ²
Critical section (example)
β sdata: shared data
β κΈ°κ³μ΄ λ²μ κ²°κ³Ό
β Race condition: μ€ν μμμ λ°λΌμ κ°μ΄ λ¬λΌμ§λ€!
Mutual Exclusion (μνΈ λ°°μ )
Mutual Exclusion Methods
β Mutual exclusion primitives(κΈ°λ³Έ μ°μ°)
- enterCS() primitive
- Critical section μ§μ μ κ²μ¬
- λ€λ₯Έ νλ‘μΈμ€κ° critical section μμ μλμ§ κ²μ¬
- exitCS() primitive
- Critical sectionμ λ²μ΄λ λμ νμ²λ¦¬ κ³Όμ
- Critical sectionμ λ²μ΄λ¨μ μμ€ν μ΄ μλ¦Ό
Requirements for ME primitives
β Mutual exclusion(μνΈ λ°°μ )
- Critical section(CS)μ νλ‘μΈμ€κ° μμΌλ©΄, λ€λ₯Έ νλ‘μΈμ€μ μ§μ μ κΈμ§
β Progress(μ§ν)
- CS μμ μλ νλ‘μΈμ€ μΈμλ, λ€λ₯Έ νλ‘μΈμ€κ° CSμ μ§μ νλ κ²μ λ°©ν΄ νλ©΄ μλ¨
β Bounded waiting(νμ λκΈ°)
- νλ‘μΈμ€μ CS μ§μ μ μ ν μκ° λ΄μ νμ©λμ΄μΌ ν¨
Two Process Mutual Exclusion
version 1
β turn κ°λ νμ©
β Progress 쑰건 μλ°°!
- P0μ΄ critical sectionμ μ§μ νμ§ μλ κ²½μ°
- ν Processκ° λ λ² μ°μ CSμ μ§μ λΆκ°
version 2
β flag νμ©
β Mutual exclusion 쑰건 μλ°°
version 3
β Progress, Bounded waiting 쑰건 μλ°°
'β Group_Study > Operating System' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[3μ£Όμ°¨] Mutual Exclusion Solutions (OS supported SW solution) (0) | 2022.12.18 |
---|---|
[3μ£Όμ°¨] Mutual Exclusion Solutions (SW & HW) (1) | 2022.12.17 |
[2μ£Όμ°¨] Scheduling Algorithms (0) | 2022.12.14 |
[2μ£Όμ°¨] Process Scheduling (0) | 2022.12.13 |
[2μ£Όμ°¨] Thread Management (0) | 2022.12.12 |
λκΈ