π»/CS
[μ΄μ체μ ] Synchronization - 1
ν’μ΄
2022. 12. 16. 00:39
νλμ address spaceμ μλ‘ λ€λ₯Έ μ€λ λλ€μ΄ λμμ μ κ·Όνλ©΄ λ¬Έμ κ° λ°μνλ€.
Race Condition
- λ κ° μ΄μ νλ‘μΈμ€/μ€λ λκ° shared resourceμ λμμ concurrentνκ² μ κ·Όν¨μΌλ‘μ¨ κ²°κ³Ό κ°μ΄ νμ λμ§κ° μκ³ , κ·Έλ κ·Έλ μ€νν λλ§λ€ μ‘°κΈμ© λ°λλ νμ
- λ κ° μ΄μμ concurrent ν νλ‘μΈμ€, μ€λ λλ€μ΄ 곡μ μμμ μ κ·Ό ν λ λκΈ°ν ν΄κ²° κ³Όμ μμ΄ μννλ μν©
race conditionμ λ°©μ§νκΈ° μν κΈ°λ² → synchronization
Critical Section
- μ½λμμ λκ° μ΄μμ νλ‘μΈμ€κ° λμμ 리μμ€λ₯Ό μ λ°μ΄νΈ ν μ μλ ꡬκ°.
- κ° νλ‘μΈμ€μμ 곡μ λ°μ΄ν°μ μ κ·Όνλ νλ‘κ·Έλ¨ μ½λ λΆλΆ.
- μ¬λ¬ κ°μ μ€λ λκ° μνλλ νλ‘κ·Έλ¨μμ κ° νλ‘μΈμ€/μ€λ λλ€μ΄ 곡μ νλ λ°μ΄ν° λ±μ λ³κ²½νλ μ½λ μμ
critical sectionμ 보νΈνκΈ° μν΄ λ°λμ μ§μΌμ ΈμΌ νλ 3κ°μ§
- Mutual exclusion
- critical sectionμ μ€μ§ νλ²μ νλμ νλ‘μΈμ€λ§ λ€μ΄κ° μ μμ.
- ν νλ‘μΈμ€κ° μν μ€μΈ μνμμλ λ€λ₯Έ νλ‘μΈμ€κ° μ λ μν μ€μΈ critical sectionμ μ κ·Όν μ μμ.
- Progress
- lockμ λν΄μ μ¬λ¬κ°κ° μμ²νμ λ, lockμ μ‘κ³ μλ μ¬λμ΄ μ무λ μλ κ²½μ°μλ μμ²ν μ¬λ¬ κ° μ€μ νλλ λ°λμ lockμ μ‘μ μ μμ΄μΌ ν¨. critical sectionμ λ€μ΄κ° μ μμ΄μΌ ν¨.
- Bounded waiting
- lockμ μ‘μΌλ €κ³ νλλ° νλͺ μ΄ κ³μ lockμ λͺ» μ‘λ μν© λ°μνλ©΄ μλ¨. starvaiton νμ μλ°©ν μ μμ΄μΌν¨.
- critical sectionμ λ€μ΄κ°κ³ μ νλ νλ‘μΈμ€λ μΈμ κ°λ κΌ μ§μ ν μ μμ΄μΌ ν¨.