테키테크 TEKITECH
[혼공학습단 9기] 혼공컴운 5주차 미션 본문
5주 차 미션!
[미션 1] p. 363의 확인 문제 1번 풀고 인증하기
① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. (O)
② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. (O)
③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. (O)
④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. (X)→ 대기(wait) 또는 가도 좋다는 신호(signal)에 따르게 되고, 대기 상태로 만들 수 있습니다.
[미션 2] Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기
공유 자원 중에서 두 개 이상의 프로세스를 동시에 실행했을 때 문제가 발생하는 자원이 있는데, 이러한 자원에 접근하는 코드 영역을 임계 구역(critical section)이라고 한다. 잘못된 실행으로 임계 구역의 코드를 실행해 문제가 생길 수 있는데, 이를 레이스 컨디션(race condition)이라고 한다. 이러한 임계 구역 문제를 해결하는 방법, 즉 상호 배제를 위한 동기화를 위해서 3가지 원칙을 반드시 따라야 한다.
① 상호 배제 (mutual exclusion)
한 프로세스가 임계 구역에 진입했다면, 다른 프로세스는 임계 구역에 들어올 수 없다.
② 진행 (progress)
임계 구역에 어떤 프로세스도 진입하지 않았다면, 임계 구역에 진입하고자 하는 프로세스는 들어갈 수 있어야 한다.
③ 유한 대기 (bounded waiting)
한 프로세스가 임계 구역에 진입하고 싶다면, 그 프로세스는 언젠가는 반드시 임계 구역에 들어올 수 있어야 한다.
공부한 내용
- Chapter 12 프로세스 동기화
→ [운영체제] Ch12. 동기화 문제(생산자와 소비자 문제, 임계 구역 문제)과 동기화 도구(뮤텍스 락, 세마포, 모니터) - Chapter 13 교착 상태
→ [운영체제] Ch13. 교착 상태(데드락)에 대응하는 방법
'그리고 > 스터디' 카테고리의 다른 글
[운영체제] Ch11. CPU 스케줄링 (0) | 2023.02.14 |
---|---|
[운영체제] Ch10. 프로세스와 스레드, 멀티프로세스와 멀티스레드 (0) | 2023.02.13 |
[운영체제] Ch09. 운영체제 이해하기 (0) | 2023.02.12 |
[컴퓨터구조] Ch06. RAM과 캐시메모리, 그리고 주소공간 (0) | 2023.02.12 |
[컴퓨터구조] Ch05. CPU 제대로 쓰기 (0) | 2023.02.10 |