혼공 학습단/혼자 공부하는 컴퓨터구조+운영체제

혼공단 11기 5주차 미션

uomnf97 2024. 2. 4. 19:55
📌 5주차 미션
  • 진도 : Chapter 12~13
  • 기본미션 : p. 363의 확인 문제 1번 풀고 인증하기
  • 선택미션 : Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기

1️⃣ 기본 미션

  • p. 363의 확인 문제 1번 풀고 인증하기 :
    • 📌 문제 : 뮤텍스락과 세마포어에 대한 설명으로 옳지 않은 것을 고르시오
    • ① : 뮤텍스락은 임계 구역을 접근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다.
      ② : 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다.
      ③ : 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다.
      ④ : 세마포를 이용하면 반드시 바쁜 대기를 해야합니다.
    • 정답 : ④
    • 풀이 : 뮤텍스락은 상호 배제를 위한 동기화를 이루고, 카운팅 세마포는 공유자원이 여러개 있는 상황에 적합합니다. 그리고 이를 이용해 실행 순서도 제어할 수 있습니다. 하지만, 세마포는 뮤텍스와 다르게 wait, signal을 통해 바쁜 대기(busy wait)을 피할 수 있기 때문에 답은 4번입니다.

 

2️⃣ 선택 미션 : Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기

  • 임계 구역(critical section) : 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역
  • 상호 배제(mutual exclusion) :
    • 공유가 불가능한 자원을 동시에 사용하는 것을 피하기 위해 고안된 알고리즘
    • 한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없게 하는 것을 말함
    • 뮤텍스락을 통해 구현해줄 수 있음
    • 상호 배제를 통해 race condition 문제를 해결할 수 있음.

Critical Section

 

Reference :