2023년 5급 공채 기술 2차 운영체제론
문제 5개 · 100점. 참고 답안·채점 기준은 앱에서 볼 수 있습니다.
제1문 (20점)
주기억 장치에 아래와 같이 3개의 프로세스 P1, P2, P3와 디스패처(dispatcher)가 배치되어 있다. 다음 <조건>을 고려하여 물음에 답하시오. (총 20점)
[그림]
[그림]
| <조 건> | ||
| ○프로세스 P1의 명령어는 10개로 각각 주소 1000~1009에 저장되어 있다. ○프로세스 P2의 명령어는 3개로 각각 주소 2000~2002에 저장되어 있고, 3번째 명령어는 입출력 연산을 요청하므로, P2는 입출력완료를 대기해야 하며, 대기시간은 40ms라고 가정한다. ○프로세스 P3의 명령어는 8개로 각각 주소 3000~3007에 저장되어 있다. ○디스패처가 프로세스를 교체하기 위해 실행하는 명령어는 4개이다. ○하나의 프로세스는 최대 4개 명령어 사이클 동안만 연속 수행되며, 이후에 인터럽트 된다고 가정한다. ○현재 시점의 프로그램 카운터는 1000이라고 가정하고, 프로세스는 P1, P2, P3 순서대로 수행된다. ○각 명령어의 수행시간은 1ms이다. ○프로세스 P1, P2, P3의 도착시간은 각각 0ms, 1ms, 2ms이다. ○가상 메모리는 사용되지 않는다고 가정한다. ○프로세스의 상태는 수행(running), 준비(ready), 블록(blocked)이 있다. | ||
- (1) 시간 축을 기준으로 프로세스 P1, P2, P3에 대해 상태 전이 과정을 나타내는 타이밍 다이어그램(timing diagram)을 그리시오. (10점)
- (2) 시간 9ms, 16ms, 26ms에서 프로세스 P1, P2, P3가 각각 어떤 상태에 있는지 설명하시오. (5점)
- (3) 프로세스 P1과 프로세스 P3의 반환시간(turnaround time)을 각각 구하시오. (5점)
제2문 (20점)
디스크 입출력에 관한 물음에 답하시오. (총 20점)
- (1) 디스크 드라이브가 작동할 때, 디스크는 일정 속도로 회전한다. 데이터 읽기/쓰기 시 소요되는 시간은 크게 접근시간(access time)과 전송시간(transfer time)으로 구분되며, 접근시간은 탐색시간(seek time)과 회전지연시간(rotational delay time)으로 구분된다. 탐색시간과 회전지연시간에 대해 각각 설명하시오. (6점)
- (2) 다음의 디스크 상태와 조건을 보고 물음에 답하시오.
○평균 탐색시간 4ms, 회전속도 7500rpm, 512바이트 섹터를 트랙당 500개 가진 디스크가 있을 경우, 2,500섹터로 구성된 총 1.28MB 크기의 파일을 읽어내고자 한다.
○데이터를 디스크로 보내거나 받을 때 걸리는 전송시간은 다음 식과 같이 디스크의 회전속도에 종속적이다.T \, = \, \frac{{b}}{{rN}}
T=전송시간 b=전송된 바이트 수
N=트랙당 바이트 수 r=회전속도(초당 회전 수)
=전송시간 =전송된 바이트 수
=트랙당 바이트 수 =회전속도(초당 회전 수)
①해당 파일은 순차적으로 구성되어, 디스크에 가능한 조밀하게(compact) 저장되어 있다고 가정한다. 즉, 이 파일은 인접한 다섯 개 트랙의 모든 섹터들을 차지하고 있다. 이 경우 첫 번째 트랙을 읽는데 소요되는 시간과 전체 파일을 읽는데 소요되는 시간을 계산하시오. (단, 잔여 트랙들은 탐색시간 없이 읽을 수 있고, 입출력 연산 속도는 디스크의 데이터 생산 속도와 같다고 가정한다) (7점)
②동일한 데이터를 순차적 접근방식이 아닌 무작위 접근방식을 사용하여 읽을 경우, 하나의 섹터를 읽는데 소요되는 시간과 전체 파일을 읽는데 소요되는 시간을 계산하시오. (단, 디스크 상의 섹터들을 읽을 확률은 모두 동일한 것으로 가정한다) (7점)
제3문 (20점)
가상 메모리를 사용하는 시스템에서 다음의 순서로 페이지가 참조되고 있다. 물음에 답하시오. (총 20점)
| 4 | 3 | 2 | 1 | 4 | 3 | 6 | 4 | 3 | 2 | 1 | 6 |
- (1) 최적 페이지 교체(OPT) 알고리즘에 대해 설명하고, 페이지 프레임이 3개가 있는 가상 메모리 시스템에 적용하였을 경우의 페이지 적중 횟수를 구하시오. (6점)
- (2) LRU 알고리즘에 대해 설명하고, 페이지 프레임이 3개가 있는 가상 메모리 시스템에 적용하였을 경우의 페이지 적중 횟수를 구하시오. (6점)
- (3) Belady의 이상 현상(Belady’s anomaly)에 대해 설명하고, 위 페이지 순서로 참조가 일어날 경우, FIFO 알고리즘을 적용하였을 때 Belady의 이상 현상이 발생하는 모습을 구체적인 예를 들어 설명하시오. (8점)
제4문 (20점)
다음의 프로세스들을 대상으로 CPU 스케줄링 알고리즘을 적용하고자 한다. 물음에 답하시오. (총 20점)
| 프로세스 | CPU burst time(ms) |
| P1 | 5 |
| P2 | 2 |
| P3 | 4 |
| P4 | 6 |
| P5 | 3 |
- (1) SJF(Shortest Job First) 알고리즘의 간트 차트(Gantt chart)를 그리고 평균 대기시간을 구하시오. (6점)
- (2) HRN(Highest Response ratio Next) 알고리즘은 SJF 알고리즘에서 발생할 수 있는 ‘문제’를 해결하기 위해 만들어졌다.
①이 ‘문제’가 무엇인지 설명하고, HRN 알고리즘이 ‘문제’를 해결하는 방법을 제시하시오. (4점)
②각 프로세스의 현재 대기시간이 아래와 같을 때, HRN 알고리즘의 간트 차트를 그리고, 각 프로세스가 시작될 때의 우선순위와 각 프로세스의 총 대기시간을 구하시오. (10점)프로세스 대기시간(ms) P1 8 P2 5 P3 7 P4 11 P5 3
제5문 (20점)
HDD로 이루어진 RAID 시스템의 성능을 예측하고자 한다. 분석을 위해 디스크와 시스템의 오버헤드들은 무시하고, 성능은 IOPS(I/O Operations Per Second)로 측정한다. 읽기 성능은 RIOPS(Read IOPS), 쓰기 성능은 WIOPS(Write IOPS)라고 한다. 다음 물음에 답하시오. (총 20점)
- (1) 총 디스크의 수를 N, 각 디스크의 IOPS 성능을 X라고 할 때, 고정된 디스크 수에 대하여 RAID 0, RAID 1+0에서 각각 달성 가능한 이론적인 최대 RIOPS와 WIOPS를 구하시오. (6점)
- (2) 디스크의 수가 같다고 해도, RAID 레벨에 따라 사용 가능한 스토리지 공간이 달라질 수 있다. 예를 들어, 20TB 가용공간을 제공하기 위해서는 RAID 0에서 2TB 디스크 10개가 필요하지만, RAID 1+0에서는 2TB 디스크 20개가 필요하다. 이때, 필요 스토리지가 S이고, 각각의 디스크 크기와 IOPS 성능이 D와 X라면, RAID 0, RAID 1+0에서 각각 달성 가능한 이론적인 최대 RIOPS와 WIOPS를 구하시오. (6점)
- (3) 20TB의 가용공간을 제공하는 RAID 스토리지를 구성하고자 한다. 이 스토리지를 사용하는 시스템은 읽기와 쓰기가 각각 80%, 20%의 비율을 차지한다. 스토리지를 구성하는 디스크는 2TB 크기를 가지며, 100 IOPS의 읽기/쓰기 성능을 제공한다. RAID 0, RAID 1+0 스토리지 각각에 대하여 이 시스템에서의 전체 입출력 성능을 구하시오. (8점)