1. 요구 페이징의 의미와 효과를 설명하시오
•
필요한 데이터를 프로세스가 요청할 때 가져오는 방법
◦
예) 포토샵 같은 대형 프로그램을 실행하는 경우
•
포토샵을 실행 할 때 메모리에는 본 프로그램만 올리고 필터는 사용자가 필요로 할 때마다 메모리로 가져오는 것이 요구 페이징
•
페이지를 미리 가져오는 방식은 가져온 페이지를 쓰지 않을 때 메모리를 낭비하지만, 요구 페이징은 필요한 데이터만 가져오기 때문에 사용함으로써 메모리를 절약하고 효율적으로 관리할 수 있으며 프로세스의 응답 속도가 향상된다
•
현대의 운영체제는 요구 페이징을 기본으로 사용한다
2. 세그먼테이션 오류와 페이지 부재의 차이를 설명하시오
•
페이지 부재란?
◦
가상 메모리 시스템에서는 물리 메모리가 부족할 경우 일부 페이지가 스왑 영역으로 옮겨진다. 그래서 프로세스가 물리 메모리에 접근햇을 때 해당 데이터가 메모리에 있지 않고 저장장치의 스왑 영역에 있을 수 있다.
◦
페이지 부재는 프로세스가페이지를 요청했을 때 해당 페이지가 물리 메모리에 없을 때 발생하는 오류
◦
페이지 부재가 발생하면 메모리 관리자는 스왑 여역에서 해당 페이지를 물리 메모리로 옮긴 후 작업을 시작한다.
•
세그먼테이션 오류는 사용자의 프로세스가 주어진 메모리 공간을 벗어나거나 접근 권한이 없는 곳에 접근할 때 발생하고 프로세스를 강제 종료함으로써 해결한다
3. 지역성의 의미를 설명하시오
•
메모리가 꽉 차서 필요한 페이지를 가져오지 못 할 때는 페이지 교체 알고리즘이 메모리에서 쫓아낼 페이지를 찾는다. 이 때 지역성을 바탕으로 대상 페이지를 고른다.
•
앞으로 적게 사용될 페이지를 대상 페이지로 선정해서 페이지 부재를 줄이고 컴퓨터의 성능을 높인다
•
지역성은 특정 위치에 있는 데이터를 집중적으로 접근하는 것
1.
공간의 지역성: 현재 위치에서 가까운 데이터에 접근할 확률이 높다
2.
시간의 지역성: 현재를 기준으로 가장 가까운 시간에 접근한 데이터가 사용될 확률이 높다
3.
순차적 지역성: 여러 작업이 순서대로 진행되는 경향이 있다
4. LRU 페이지 교체 알고리즘의 동작을 설명하시오
•
최적 근접 알고리즘 중 하나
◦
성능
FIFO < FIFO 변형 교체 알고리즘 < LRU, LFU, NUR < 최적 페이지 교체 알고리즘
•
Least Recently Used: 최근 가장 적게 사용한 페이지
•
메모리에 올라온 후 가장 오랫동안 사용되지 않는 페이지를 스왑 영역으로 옮긴다
•
단점은 접근 시간이나 참조 비트를 유지하기 위한 메모리가 추가로 필요하기 때문에 낭비되는 메모리 공간이 많다는 것이다
•
구현 방법
1.
페이지 접근 시간
•
페이지가 메모리에 올라오거나 사용될 때마다 그 시간을 표시한다
•
추가 적인 메모리 공간을 필요로 함으로 사용자가 사용할 수 있는 공간이 낭비된다.
2.
카운터 숫자 방식
•
접근 시간을 카운터 숫자로 표현한다 (0이 최초 접근 그 후로부터 1초씩 1을 추가_
•
추가 적인 메모리 공간을 필요로 한다
3.
참조 비트 시프트 (shift) 방식
•
각 페이지에 일정 크기의 참조 비트를 만든다. 참조 비트의 초깃값은 0이고 페이지에 접근할 때마다 1로 바꾸고 주기적으로 오른쪽으로 한 칸씩 이동한다 (Shift)
•
페이지 B에 접근하면 페이지 b의 가장 앞 비트 가 1이 된다
•
다음으로 페이지 A에 접근하면 모든 참조 비트가 오른쪽으로 한 칸 이동하고 페이지 A의 맨 앞 참조 비트가 1이된다.
•
그리고 페이지 B에 다시 접근하면 모든 참조 비트가 오른쪽으로 한칸 이동하고 페이지 b의 맨앞 참조 비트가 1이 된다.
•
대상 페이지는 참조 비트 중 가장 작은 값을 가진 페이지가 된다
•
참조 비트도 작지 않은 공간을 사용하므로 공간을 낭비한다