운영체제 - 페이지 프레임 문제 풀이


운영체제론 10장 6번문제 


6. 32비트(각각 메모리의 한 바이트를 명시한다) 주소를 사용하는 순수 페이징 시스템이 있다고 가정하자. 메인 메모리의 크기가 128MB고, 페이지 크기가 8KB다.


a. 이 시스템은 페이지 프레임을 몇 개 지니는가?

b. 이 시스템은 변위 d를 유지하는 데 몇 비트를 사용하는가?

c. 이 시스템은 페이지 번호 p를 유지하는 데 몇 비트를 사용하는가?


답)




해설)


해설에 앞서 먼저 알아두어야 할 내용들이 있다.


1. 가상주소를 실주소로 변환하기 위해서, 프로세스 당 하나의 페이지 테이블을 만들어 둔다. 이 테이블의 크기는 해당 프로세스의 페이지 개수에 비례한다. 


2. 페이지 사상 테이블은 모든 페이지에 대한 페이지 번호와 변위정보를 가진 '엔트리'를 가지고 있다. 


3. 8KB에서 8=2^3(2의 3승)이고, KB에서 K는 대략적으로 2^10(2의 10승, 즉 1024)로 가정한다. 즉 8KB는 2^(3+10)B = 2^13B이다.


a. 128MB에서 128=2^7, M=2^20이므로, 128MB=2^27B라 할 수 있다. 단순히 메인 메모리의 크기 128MB를 페이지 크기 8KB로 나누면 된다. 즉 2^27/2^13=2^14이다.


b. 페이지 크기가 8KB=2^13B 라 했다. 즉 13개의 bit로 해당 페이지 내에서 참조할 주소의 변위를 표현할 수 있다. 예를 들어 변위가 15라면 0000000001111 라고 표현할 수 있다.    


c. 엔트리는 페이지 번호와 변위정보를 가지고 있으며, 문제에서 32비트 주소를 사용한다고 했으므로(주소를 나타내기 위해 32비트를 사용한다는 뜻) 변위 정보 13비트를 뺀 나머지 19비트가 페이지 번호가 사용하는 bit 수이다.












반응형

+ Recent posts