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

 

+ Recent posts