2024년 5급 공채 기술 2차 운영체제론
문제 4개 · 100점. 참고 답안·채점 기준은 앱에서 볼 수 있습니다.
제1문 (20점)
파일 시스템의 메모리 할당 기법인 연속 할당(contiguous allocation), 연결 할당(linked allocation), 색인 할당(indexed allocation)에 대하여 다음 물음에 답하시오. (총 20점)
- (1) 연속 할당의 문제점과 이를 해결하는 방안을 설명하시오. (6점)
- (2) 연결 할당의 정의와 문제점에 대해 설명하시오. (7점)
- (3) 색인 할당의 문제점과 이를 해결하는 방안을 설명하시오. (7점)
제2문 (25점)
시스템에 4개의 프로세스 P={P1, P2, P3, P4}가 있고, 3개의 자원 R={R1, R2, R3}이 있다. R1은 2개의 인스턴스(instance), R2는 1개의 인스턴스, R3는 2개의 인스턴스가 존재할 때, 프로세스의 상태는 다음과 같다. 다음 물음에 답하시오. (총 25점)
○P1은 R1의 1개 인스턴스와 R3의 1개 인스턴스를 사용하기 위해 대기 중
○P2는 R1의 1개 인스턴스와 R3의 1개 인스턴스를 사용 중이며, R2의 1개 인스턴스를 사용하기 위해 대기 중
○P3는 R1의 1개 인스턴스와 R3의 1개 인스턴스를 사용하기 위해 대기 중
○P4는 R2의 1개 인스턴스를 사용 중이며, R3의 1개 인스턴스를 사용하기 위해 대기 중
○P2는 R1의 1개 인스턴스와 R3의 1개 인스턴스를 사용 중이며, R2의 1개 인스턴스를 사용하기 위해 대기 중
○P3는 R1의 1개 인스턴스와 R3의 1개 인스턴스를 사용하기 위해 대기 중
○P4는 R2의 1개 인스턴스를 사용 중이며, R3의 1개 인스턴스를 사용하기 위해 대기 중
- (1) 자원 할당 그래프(resource allocation graph)를 통해 위의 시스템에서 프로세스와 자원 상태를 나타내고, 교착 상태(deadlock) 발생 여부와 그 이유를 기술하시오. (10점)
- (2) 위의 시스템에서 교착 상태가 발생했다면, 교착 상태에서 회복(recovery)하는 방법을 설명하시오. 교착 상태가 발생하지 않았다면, 가능한 작업 완료 순서 중 3개를 작성하시오. (10점)
- (3) 교착 상태와 기아 상태(starvation)의 차이점을 기술하시오. (5점)
제3문 (25점)
한 개의 프로세서(processor)가 6개의 프로세스 P={P1, P2, P3, P4, P5, P6}를 다음의 알고리즘으로 스케줄링(scheduling)한다.
각 프로세스에 대한 도착시간, 요구시간, 우선순위가 아래 표와 같다. 단, 우선순위의 경우 낮은 수를 높은 우선순위로 표현한다. 다음 물음에 답하시오. (총 25점)
○FCFS(First Come First Served)
○비선점(non-preemptive) SJF(Shortest Job First)
○RR(Round Robin):할당 시간(time quantum)=3, 작업 큐(준비완료 리스트)에서 프로세스는 FCFS로 처리
○비선점 Priority
○비선점(non-preemptive) SJF(Shortest Job First)
○RR(Round Robin):할당 시간(time quantum)=3, 작업 큐(준비완료 리스트)에서 프로세스는 FCFS로 처리
○비선점 Priority
각 프로세스에 대한 도착시간, 요구시간, 우선순위가 아래 표와 같다. 단, 우선순위의 경우 낮은 수를 높은 우선순위로 표현한다. 다음 물음에 답하시오. (총 25점)
| P1 | P2 | P3 | P4 | P5 | P6 | |
| 도착시간 | 0 | 8 | 3 | 6 | 5 | 2 |
| 요구시간 | 5 | 2 | 3 | 1 | 8 | 4 |
| 우선순위 | 1 | 3 | 1 | 4 | 5 | 2 |
- (1) 위의 표를 바탕으로 각 알고리즘의 동작을 간트 차트(Gantt Chart)로 나타내시오. (10점)
- (2) 위의 표를 바탕으로 각 알고리즘에서 프로세스의 평균 반환시간과 대기시간을 소수점 첫째 자리까지 반올림하여 구하시오. (10점)
- (3) 비선점 Priority가 아닌 선점(preemptive) Priority가 사용되는 경우, 새로 도착한 프로세스의 우선순위가 현재 실행되는 프로세스의 우선순위보다 높다면 어떻게 스케줄링 되는지 기술하시오. (5점)
제4문 (30점)
RAID에 관한 다음 물음에 답하시오. (총 30점)
- (1) 청크 크기 12를 사용하는 RAID-0의 논리 블록 주소가 3,782인 경우, 디스크 번호와 해당 디스크의 오프셋을 구하시오. (단, 하나의 청크는 4KB이고, 8개의 디스크를 사용하며, 디스크는 현재 비어 있고, 첫 번째 디스크의 0번 블록부터 기록한다고 가정한다) (12점)
- (2) 평균 탐색 시간은 7ms, 평균 회전 시간은 3ms, 그리고 전송률은 200MB/s인 디스크 8개를 사용하는 RAID-5를 가정하자. 40MB 크기를 순차 읽기와 순차 쓰기, 40KB 크기를 임의 쓰기와 임의 읽기를 한다고 할 때 각각의 처리성능을 구하시오. (단, 캐시의 영향은 없으며, 순차 읽기와 쓰기의 단위는 MB/s, 임의 읽기와 쓰기의 단위는 KB/s로 하며, 소수점 셋째 자리에서 반올림한다) (18점)