문제 설명
페이지를 관리하는 가상의 주소는 페이지 번호와 페이지 내부의 위치를 알려주는 오프셋으로 이루어져 있다.
예를 들어 페이지의 크기가 4바이트이고, 페이지가 3개인 프로세스가 있다고 생각해보자.
각 페이지에는 4개의 저장 공간이 있으며 각 저장공간의 위치를 가르키는 오프셋 0,1,2,3이 있다.
가상의 주소는 페이지 번호와 오프셋이 합쳐져 만들어진다.
다음은 이를 그림으로 표현한 것이다.
페이징에선 이렇게 주어진 가상 주소와 페이지 테이블을 활용하여 물리주소를 생성한다.
이 때 생성하는 물리 주소는 페이지 번호 대신 프레임번호로 대체되어 생성된다.
페이지 수와 페이지 크기, 페이지 테이블이 주어졌을 때
입력되는 가상주소의 실제 물리주소를 출력하시오.
예를 들어 페이지의 크기가 4바이트이고, 페이지가 3개인 프로세스가 있다고 생각해보자.
각 페이지에는 4개의 저장 공간이 있으며 각 저장공간의 위치를 가르키는 오프셋 0,1,2,3이 있다.
가상의 주소는 페이지 번호와 오프셋이 합쳐져 만들어진다.
다음은 이를 그림으로 표현한 것이다.
페이징에선 이렇게 주어진 가상 주소와 페이지 테이블을 활용하여 물리주소를 생성한다.
이 때 생성하는 물리 주소는 페이지 번호 대신 프레임번호로 대체되어 생성된다.
페이지 수와 페이지 크기, 페이지 테이블이 주어졌을 때
입력되는 가상주소의 실제 물리주소를 출력하시오.
입력 설명
1번째 줄에 페이지의 수(N)과 페이지의 크기(K), 입력되는 가상주소의 개수(M)이 입력된다.
\((1 \le N \le 10000 , 1 \le K \le 4096, 1 \le M \le N*K)\)
2번째 줄부터 N줄에 걸쳐 페이지 테이블이 입력된다.
N+2번째 줄부터 M줄에 걸쳐 가상 주소(ADR)가 16진수로 입력된다.
\((0 \le ADR \le N*K)\)
\((1 \le N \le 10000 , 1 \le K \le 4096, 1 \le M \le N*K)\)
2번째 줄부터 N줄에 걸쳐 페이지 테이블이 입력된다.
N+2번째 줄부터 M줄에 걸쳐 가상 주소(ADR)가 16진수로 입력된다.
\((0 \le ADR \le N*K)\)
출력 설명
M줄에 걸쳐 가상주소를 물리주소로 변환한 주소값이 출력된다.
입력 예시 Copy
3 4 4
0 3
1 1
2 7
0
1
A
7
출력 예시 Copy
C
D
1E
7