1. κ²½μ μν Race Condition
μ¬λ¬ νλ‘μΈμ€λ€(Execution-box)μ΄ κ³΅μ μμ(Storage-box)μ λμμ μ κ·Όνλ €κ³ νλ μν©μμ
μ΄λ€ νλ‘μΈμ€κ° λ§μ§λ§μΌλ‘ λ°μ΄ν°μ μ κ·Όνλμ§μ λ°λΌ λ°μ΄ν°μ μνκ° λ¬λΌμ§ μ μλ μν.
μ¦, λ°μ΄ν°μ μΌκ΄μ±(λ°μ΄ν°μ λΆμΌμΉ)μ 보μ₯ν μ μμ΄μ§λ λ¬Έμ λ°μ.
→ μ΄κ°μ κ²½μ μνμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ νλ‘μΈμ€λ€μ λκΈ°ν(Synchronized)λμ΄μΌ νλ€.
2. λκΈ°ν Synchronization
μ¬λ¬ νλ‘μΈμ€κ° 곡μ νλ μμμ μΌκ΄μ±μ μ μ§νλ κ²
μΌκ΄μ±μ μ μ§νκ³ κ²½μμνλ₯Ό λ§κΈ° μν΄ νλ ₯ νλ‘μΈμ€ κ°μ μ€νμμλ₯Ό μ ν΄μ£Όλ 맀컀λμ¦.
3. μκ³ μμ Critical Section
μ½λ μμμ Race conditionμ΄ λ°μν μ μλ νΉμ λΆλΆμ λ§νλ€.
μ¦, 곡μ λ°μ΄ν°λ₯Ό μ κ·Όνλ μ½λ λΆλΆμ λ§νλ€.
곡λμΌλ‘ μ΄μ©λκΈ° λλ¬Έμ νλ‘μΈμ€λ€μ μ κ·Ό μμλ₯Ό μ νμ¬ μμμΉ λͺ»ν λ¬Έμ κ° λ°μνμ§ μλλ‘ ν΄μΌν¨.
3-1. μκ³ μμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν 쑰건
β μνΈλ°°μ (Mutual Exclusion)
- ν νλ‘μΈμ€κ° μκ³ μμμ μμ μ€μ΄λΌλ©΄, λ€λ₯Έ νλ‘μΈμ€λ€μ ν΄λΉ μκ³μμμ μ§μ νλ©΄ μλλ€.
β‘ μ§ν (Progress)
- μ΄λ ν νλ‘μΈμ€λ μκ³ μμμ μννκ³ μμ§ μμ λ, μκ³ μμμ μ κ·Όνκ³ μ νλ νλ‘μΈμ€κ° μλ€λ©΄
ν΄λΉ νλ‘μΈμ€λ₯Ό μκ³ μμμ λ€μ΄κ° μ μκ² ν΄μΌνλ€.
μ¦, μ무λ μκ³ μμμ μλλ° νλ‘μΈμ€κ° μκ³ μμμ λͺ» λ€μ΄κ°λ©΄ μλλ€λ λ».
β’ νμ λκΈ° (Bounded Waiting)
- μ΄λ€ νλ‘μΈμ€λ 무νλκΈ°νμ§ μμμΌν¨
μ°Έκ³ ) https://code-lab1.tistory.com/50?category=1213006
[μ΄μ체μ ] λκΈ°ν λ¬Έμ (Synchronization problem), κ²½μ μν(Race Condition), μκ³ μμ(Critical Section)
λκΈ°ν λ¬Έμ (Synchronization Problem) λμμ 곡μ μμμ μ κ·Όνλ κ²μ λ°μ΄ν°μ μΌκ΄μ±μ ν΄μΉ μ μλ€. νλ‘μΈμ€λ€μ μ€ν μμλ₯Ό μ νμ¬ κ³΅μ μμμ μΌκ΄μ±μ 보μ₯νλ κ²μ λκΈ°ν(Synchronization
code-lab1.tistory.com
μ°Έκ³ ) https://rebro.kr/176
[μ΄μ체μ (OS)] 6. νλ‘μΈμ€ λκΈ°ν(Process Synchronization)
[λͺ©μ°¨] 1. Race Condition 2. Critical Section 3. Synchronization Algorithms 4. Synchronization Hardware 5. Mutex Locks 6. Semaphores 7. Classical Problems of Synchronization 8. Monitor μ°Έκ³ ) - https://parksb.github.io/article/10.html - KOCW 곡κ°κ°μ
rebro.kr
μ°Έκ³ ) https://hyunse0.tistory.com/393
[OS] μκ³κ΅¬μ, μκ³κ΅¬μ ν΄κ²°
곡μ μμ shared resource μ¬λ¬ νλ‘μΈμ€κ° 곡λμΌλ‘ μ΄μ©νλ λ³μ, λ©λͺ¨λ¦¬, νμΌ λ± κ³΅λμΌλ‘ μ΄μ©λκΈ° λλ¬Έμ νλ‘μΈμ€λ€μ μ κ·Ό μμλ₯Ό μ νμ¬ μμμΉ λͺ»ν λ¬Έμ κ° λ°μνμ§ μλλ‘ ν΄μΌν¨ κ²½
hyunse0.tistory.com
'CS > μ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ΄μ체μ ] νλ‘κ·Έλ¨, νλ‘μΈμ€, μ€λ λ, λ©ν°νλ‘μΈμ€Β·λ©ν°μ€λ λ (0) | 2023.01.29 |
---|