///////
Search
2️⃣

연습문제 5~9

5. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 데이터의 변경이 있었는지 알려주는 비트는 무엇인가

5. 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가?
페이지 테이블 엔트리(Page Table Entry, PTE)
access bit : 페이지가 메모리에 올라온 후 사용된적 잇는지 modified bit : 페이지가 실제 메모리에 올라온 후 변경된 적 있는지 valid bit : 페이지가 실제 메모리에 있는지를 나타내는 비트(물리메모리에 있는지 0 , 스왑영역에 있는지 1) read, write, excute bit : 페이지에 대한 읽기, 쓰기, 실행 권한을 나타냄. 합쳐서 접근 권한 비트라고 한다.
그리고 플래그 비트 중 하나인 변경 비트(modified bit)는 페이지가 메모리에 올라온 후 데이터의 변경이 있었는지 알려주는 비트이다.
해당 메모리에 쓰기나 추가 작업을 했다면 변경 비트가 1이 된다.
변경 비트는 데이터가 새로운 값으로 오염되었다는 의미에서 더티 비트 라고도 한다.

6. 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 무엇이라 하는가?

페이지 부재라고 한다.
프로세스가 페이지를 요청했을 때, 메모리에 없는 페이지 부재 상황은 페이지 테이블에서 유효 비트(valid bit)가 1인것으로 확인할 수 있다.
유효 비트가 0인 경우는 물리 메모리 위에 있으므로, 프레임 번호가 주소필드에 기록되고
유효 비트가 1인 경우는 스왑 영역에 있기 때문에 저장 장치 내 주소(스왑 주소)로 기록된다.
페이지 부재 상황이 발생하면 스왑영역에서 필요한 페이지를 찾아서 물리 메모리의 프레임 중 하나로 이동시키면 해결된다.

7. 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되어 있는 성질을 무엇이라 하는가?

지역성 이라고 한다.

1. 공간의 지역성

현재 위치에서 가까운 데이터에 접근할 확률이 먼 거리에 있는 데이터에 접근할 확률보다 높다.

2. 시간의 지역성

현재를 기준으로 가장 가까운 시간에 접근한 데이터가 더 먼 시간에 접근한 데이터보다 사용될 확률이 높다.

3. 순차적 지역성

여러 작업이 순서대로 진행되는 경향이 있다는 것을 의미 (문헌에 따라 공간의 지역성에 포함되는 지역성)
대표적인 예시로, 캐시는 시간적으로나 지역적으로나 가까운 데이터를 가져옴으로서 적중률을 높일 수 있다!
자주 사용하는 페이지가 아닌, 앞으로 적게 사용될 페이지를 비우는 방식으로 성능을 높인다.

8. 처음으로 메모리에 올라온 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

페이지 교체 알고리즘은, 페이지 부재 발생 시 스왑영역에서 필요한 페이지를 물리 메모리의 프레임으로 이동시켜야 하는데
프레임이 꽉 차있는 경우, 프레임을 차지하고 있는 페이지 중 하나를 내보낼때 사용하는 알고리즘이다.
즉, 스왑 아웃 시킬 페이지를 결정하는 알고리즘이다.
처음으로 메모리에 올라온 페이지를 스왑영역으로 보내는 페이지 교체 알고리즘은 FIFO(First In First Out) 페이지 교체 알고리즘이다.
자료구조 중 하나인 큐처럼 동작한다.
자주 사용하는 페이지라도, 메모리에 머무르는 것이 아니라 들어온 순서대로 스왑 아웃되므로 성능이 좋지 않다.
이러한 문제점을 개선한 것은 2차 기회 페이지 교체 알고리즘이다.

9. 미래의 접근 패턴을 기준으로 대상 페이지를 선정하여 스왑 영역으로 보내는 방식으로, 실제로 구현이 불가능한 페이지 교체 알고리즘은 무엇인가?

최적 페이지 교체 알고리즘
4번 단계에서 스왑 아웃 시킬 페이지를 골라야 한다.
앞으로, 5~10 과정 동안 C는 1번만 쓰이므로 C를 스왑 아웃 시킨다.
> 현실적으로는 앞으로 어떤 페이지를 정확하게 아는 것은 불가능하다.