카테고리 없음
운영체제 10차시 질문 정리
Oreorobin
2022. 7. 20. 14:30
Q1. 페이지 폴트가 일어나는 상황과 벌어졌을 경우 어떻게 처리하는 지를 설명해주세요 → 오령기
페이지 테이블을 기준으로 본다면, cpu가 필요로 한 페이지에 접근할 때, 해당 페이지가 invalid일 경우에 해당한다. 이러한 상황을 page falut라고 합니다.
페이지 폴트 발생 시,
- 메인 메모리에 가용 공간이 있다면, 빈 공간에 해당 페이지를 적재하면 됨
- 메인 메모리에 가용 공간이 없다면, 메인 메모리의 어떤 페이지를 내보내야 함(victim)
- page fault rate을 최소화하는 페이지 교체 알고리즘 필요
→ 페이지 폴트가 발생하지 않을 수록 메모리 관리가 잘 되고 있다는 뜻이다.
Q2. 페이지 교체 알고리즘 중 FIFO 알고리즘과 OPT 알고리즘에 대해 설명해주세요. → 오령기
FIFO 알고리즘
- 먼저 들어온 페이지를 가장 먼저 제거하는 페이지 교체 알고리즘 입니다.
- 일반적으로 페이지 폴트가 가장 많이 일어남
- 메모리 공간이 늘어나는데 페이지 폴트가 늘어나는 이상한 현상이 발생하기도 함.(Belady 모순)
OPT 알고리즘
- 가장 먼 미래에 참조되는 페이지를 교체하는 페이지 교체 알고리즘 입니다.
- 가상 이상적인 형태.
- offline algorith으로 모든 입력 정보를 미리 알고 있는 경우.
페이지 교체 알고리즘과 LRU(Least Recently Used)
페이지를 교체하는 이유는 가상 메모리를 통해 조회한 페이지는 다시 사용될 가능성이 높기 때문입니다. 페이지 교체를 위해서는 실제 메모리에 존재하는 페이지를 가상 메모리로 저장한 후에, 가상 메모리에서 조회한 페이지를 실제 메모리로 로드해야 됩니다. 그렇다면 어떤 실제 메모리의 페이지를 가상 메모리로 희생시킬 것이냐에 대한 문제가 발생하는데, 이때 사용하는 알고리즘 중 하나가 LRU(Least Recently Used) 알고리즘 입니다.
LRU 알고리즘은 실제 메모리의 페이지들 중에서 가장 오랫동안 사용되지 않은 페이지를 선택하는 방식입니다.
[운영체제(OS)] 15. 가상메모리
가상 메모리는 물리 메모리 크기의 한계를 극복하기 위해 나온 기술이다. 즉, 물리 메모리보다 큰 프로세스를 수행하기 위해 가상 메모리를 사용한다. 예를 들어, 100MB 메모리 크기에서 200MB 크기
velog.io