I. 다음과 같이 두 개의 Job이 있을 때, CPU 스케줄링 정책에 따른 Average Turnaround Time과 Average Response Time을 구하시오. (문제 1~2, 총 30점)
Jobs Arrival Time Total Execution Time
A 5 10
B 0 20
단, 다음의 가정을 따른다.
CPU는 하나만 존재하고, 모든 Job은 I/O를 수행하지 않는다고 가정
Time Slice는 5로 가정
다수의 Job이 CPU를 할당 받을 조건을 동시에 만족하면 직전에 실행하지 않은
Job 중에서 알파벳 순서가 가장 빠른 Job을 우선적으로 선택
MLFQ의 경우, 모든 Job이 가장 높은 우선순위에서 시작하며, 3레벨의 큐를 가지
며, Boost Period는 30으로 가정
1. Round-Robin (RR) (15점)
Average Turnaround Time: __(간단한 수식과 답 기재)__
Average Response Time: __(간단한 수식과 답 기재)__
2. Multi-Level Feedback Queue (MLFQ) (15점)
Average Turnaround Time: __(간단한 수식과 답 기재)__
Average Response Time: __(간단한 수식과 답 기재)__
II. 16-bit Addressing, 4KB 페이지를 사용하는 시스템에 대해서 TLB와 Linear Page Table 이 다음과 같을 때, 아래 질문에 답하시오. (문제 3~6, 총 40점)
[ TLB ]
VPN PFN Valid
- - 0
- - 0
- - 0
- - 0
[ Linear Page Table ]
PFN
0x0
0x7
0x1
0x3
0x2
0x4
0x6
:
다음의 C코드(일부)에서 접근하는 &a[i*1024]의 Physical Address를 적고 TLB
miss 여부를 적으시오.
int a[1024*1024];
for ( i=0 ; i<4 ; i++ )
sum += a[i*1024];
a[0]의 Virtual Address는 0x2000 (즉, &a[0] == 0x2000)
int는 4 Bytes
배열 a[]는 위 코드에 의해서 처음 접근되는 것이며, 위 코드 수행 중에 context
switch는 발생하지 않는다고 가정
문제번호 C코드 Physical Address (16진수) TLB miss (miss/hit)
3.(10점) a[0*1024]
4.(10점) a[1*1024]
5.(10점) a[2*1024]
6.(10점) a[3*1024]
III. 24-비트 주소 시스템에서 Linear Page Table과 Two-Level Page Tables에 대해서 비교 하시오. 단, 페이지 크기는 4KB, 페이지 디렉토리와 페이지 테이블의 엔트리 크기는 64바이트로 가정한다. (문제 7~8, 총 25점)
7. Linear Page Table을 사용할 때, 한 프로세스의 전체 Address Space를 표현하기 위해서 사용되는 다음을 계산하시오.
전체 페이지 테이블의 크기 (Bytes) (5점):
8. Two-Level Page Tables를 사용할 때, 한 프로세스의 전체 Address Space를 표현하기 위해서 사용되는 다음을 계산하시오.
Page directory index (bits) (5점):
Page table index (bits) (5점):
전체 페이지 디렉토리와 테이블의 크기 (Bytes) (10점):