[혼공컴운]5주차_기본미션, 선택미션

yoon·2024년 2월 4일
0

혼공컴운

목록 보기
5/6
post-thumbnail

12 프로세스 동기화

12-1 동기화

  • 동기화는 특정 자원에 접근할 때 한 개의 프로세스만 접근하게 하거나 프로세스를 올바른 순서대로 실행하게 하는 것을 의미합니다.
  • 공유 자원은 공동으로 사용하는 자원으로, 전역 변수가 될 수도 있고, 파일이 될 수도 있고, 입출력 장치, 보조기억장치가 될 수도 있습니다.
  • 임계 구역은 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역을 의미합니다. 임계 구역에 진입한 프로세스가 있다면 다른 프로세스는 임계 구역 밖에서 기다려야 합니다.
  • 상호 배제는 한 프로세스가 임계 구역에서 작업 중이면 다른 프로세스가 임계 구역에 들어갈 수 없도록 제어하는 것입니다.

12-2 동기화 기법

  • 뮤텍스 락은 임계 구역을 잠금으로써 프로세스 간의 상호 배제를 이룹니다.
  • 세마포는 공유 자원이 여러 개 있는 임계 구역 문제도 해결할 수 있는 동기화 도구입니다.
  • 모니터는 세마포에 비해 사용자가 사용하기 편리한 동기화 도구로 조건 변수를 사용합니다.


13 교착 상태

13-1 교착상태란

  • 교착 상태는 일어나지 않을 사건을 기다리며 무한히 대기하는 현상을 의미합니다.
  • 식사하는 철학자 문제는 교착 상태의 발생을 보여 주는 예시입니다.
  • 자원 할당 그래프를 이용해 교착 상태를 표현할 수 있습니다.
  • 교착 상태 발생 조건은 상호 배제, 점유와 대기, 비선점, 원형 대기입니다.

13-2 교착 상태 해결 방법

  • 교착 상태 예방은 교착 상태의 발생 조건 중 하나를 충족하지 못하게 하는 방법입니다.
  • 교착 상태 회피는 안전 상태를 유지할 수 있는 경우에만 자원을 할당하는 방법입니다.
  • 교착 상태 검출 후 회복은 교착 상태 발생 여부를 주기적으로 검사하고, 교착 상태가 발생하면 그때그때 회복하는 방식입니다.


기본미션

p. 363의 확인 문제 1번 풀고 인증하기

뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요.
1. 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다.
2. 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다.
3. 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다.
4. 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다.

정답: 4번



선택미션

Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기

  • 임계 구역은 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역을 의미합니다. 임계 구역에 진입한 프로세스가 있다면 다른 프로세스는 임계 구역 밖에서 기다려야 합니다.
    ex) 친구들과 함께 놀이터에서 놀고 있는데, 그 중에 하나의 그네만이 가장 인기가 많아요. 만약 한 번에 한 명씩만 그네를 탈 수 있다면, 그네는 "임계 구역"이라고 지칭합니다.

  • 상호 배제는 한 프로세스가 임계 구역에서 작업 중이면 다른 프로세스가 임계 구역에 들어갈 수 없도록 제어하는 것입니다.
    ex) 한 번에 한 명만 그네를 탈 수 있습니다. 만약 누군가가 그네를 타고 있다면, 다른 친구는 기다려야 합니다.

0개의 댓글