진도
Chapter 14 - 가상 메모리
동시다발적으로 실행되는 수많은 프로세스는 서로 협력하기도 하고, 자원을 두고 경쟁하기도 합니다. 이번 장에서는 프로세스가 동시에 실행될 때 반드시 거쳐야 할 동기화에 대해 학습해보겠습니다. 동기화란 무엇인지, 그리고 동시에 실행되는 프로세스들을 올바르게 실행하기 위해서는 무엇을 고려해야 하는지 알아봅시다.
- 동기화란 무엇인지 알아봅니다.
- 공유 자원과 임계 구역 문제를 이해합니다.
- 임계 구역 문제를 해결하기 위한 동기화 기법들을 학습합니다.
학습 결과물
- 연속 메모리 할당
- 페이징을 통한 가상 메모리 관리
- 페이지 교체와 프레임 할당
Chapter 15 - 파일 시스템
동시에 실행되는 여러 프로세스는 각자가 필요한 자원을 할당받아 실행됩니다. 그 과정에서 때로는 프로세스들이 꼼짝도 못하고 정지해 버리는 교착 상태가 발생할 수 있습니다. 이번 장에서는 교착 상태란 무엇인지, 그리고 운영체제는 교착 상태를 어떻게 해결하는지에 대해 알아보겠습니다.
- 교착 상태가 무엇인지 이해합니다.
- 교착 상태는 어떤 상황에서 발생하는지 이해합니다.
- 교착 상태를 예방하고, 회피하고, 검풀하는 방법에 대해 학습합니다.
학습 결과물
- 파일과 디렉터리
- 파일 시스템
기본 미션
p. 400의 확인 문제 1번 풀고 인증하기
Q. 메모리 할당 방식에 대한 설명으로 올바른 것을 다음 보기에서 찾아 써 보세요.
<보기> 최초 적합, 최적 접합, 최악 접합
- ( 1 ): 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식
- ( 2 ): 프로레스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식
- ( 3 ): 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식
A. 1) 최초 적합, 2) 최악 접합, 3) 최적 접합
1) 최초 적합 (First Fit):
- 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식입니다.
- 메모리 공간을 순차적으로 탐색하면서 프로세스가 적재될 수 있는 첫 번째 공간에 할당합니다.
- 빠르게 적재할 수 있지만, 메모리 조각화가 발생하여 낭비되는 공간이 생길 수 있습니다.
2) 최악 접합 (Worst Fit):
- 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식입니다.
- 메모리 공간을 탐색하여 가장 큰 공간에 프로세스를 할당합니다.
- 빈 공간의 크기를 최대한 활용하여 메모리 조각화를 최소화할 수 있지만, 적재 시간이 느릴 수 있습니다.
3) 최적 접합 (Best Fit):
- 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식입니다.
- 메모리 공간을 탐색하여 프로세스가 들어갈 수 있는 가장 작은 공간을 찾아 할당합니다.
- 메모리 공간을 효율적으로 활용하여 메모리 조각화를 최소화할 수 있습니다. 그러나 탐색 시간이 길어질 수 있습니다.
선택 미션
Ch.14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423' 일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기
LRU(Least Recently Used) 페이지 교체 알고리즘은 가장 오래 전에 사용된 페이지를 교체하는 알고리즘입니다. 페이지 참조열이 '2313523423'일 때, 프로세스가 사용할 수 있는 프레임이 3개이므로 처음에는 모든 프레임이 비어 있습니다. 페이지 폴트가 발생할 때마다 프레임을 채우고 페이지를 교체합니다.
참조열을 순차적으로 따라가면서 페이지 폴트가 발생하는 경우를 계산해보겠습니다:
- 페이지 2를 참조: 페이지 폴트 발생 (프레임: [2, , ])
- 페이지 3을 참조: 페이지 폴트 발생 (프레임: [2, 3, _])
- 페이지 1을 참조: 페이지 폴트 발생 (프레임: [2, 3, 1])
- 페이지 3을 참조: 페이지 폴트 발생하지 않음 (프레임: [2, 3, 1])
- 페이지 5를 참조: 페이지 폴트 발생 (프레임: [2, 3, 5])
- 페이지 2를 참조: 페이지 폴트 발생 (프레임: [2, 3, 5])
- 페이지 3을 참조: 페이지 폴트 발생하지 않음 (프레임: [2, 3, 5])
- 페이지 4를 참조: 페이지 폴트 발생 (프레임: [4, 3, 5])
- 페이지 2를 참조: 페이지 폴트 발생하지 않음 (프레임: [4, 3, 5])
- 페이지 3을 참조: 페이지 폴트 발생하지 않음 (프레임: [4, 3, 5])
따라서 페이지 참조열 '2313523423'을 LRU 페이지 교체 알고리즘으로 참조할 때 발생하는 페이지 폴트의 횟수는 4번입니다.