본문 바로가기

Dev/운영체제

쉽게 배우는 운영체제 4장 연습문제 풀이

 1. 시스템 내 전체 프로세스의 수를 조절하는 것으로, 장기 스케줄링 및 작업 스케줄링이라 불리는 스케줄링 수준은 무엇인가?

고수준 스케줄링

 

2. 어떤 프로세스에 cpu를 할당하고 어떤 프로세스를 대기 상태로 보낼지 등을 결정하는 스케줄링 수준은 무엇인가?

저수준 스케줄링

 

3. 어떤 프로세스가 cpu를 할당받아 실행중이더라도 운영체제가 cpu를 강제로 빼앗을 수 있는 스케줄링은 무엇인가?

선점형 스케줄링

 

4. 현재 입출력을 진행하는 프로세스로, 사용자와 상호작용이 가능하여 상호작용 프로세스라고도 불리는 것은 무엇인가?

전면 프로세스

 

5. 준비 큐에 도착한 순서대로 cpu를 할당하는 비선점형 스케줄링 알고리즘은 무엇인가?

FCFS 스케줄링

 

6. 준비 큐에 있는 프로세스 중 실행시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 스케줄링 알고리즘은 무엇인가?

SJF 스케줄링

 

7. SJF 스케줄링 알고리즘의 단점으로 크기가 큰 작업이 계속 뒤로 밀리는 현상을 무엇이라 하는가?

아사현상

 

8. 아사 현상을 해결하는 방법을 설명하시오.

에이징 : 프로세스가 양보할 수 있는 상한선을 정하는 방식이다. 프로세스가 자신의 순서를 야오할 때마다 나이를 한살씩 먹어 최대 몇살까지 양보하도록 규정한다.

 

9. 서비스를 받기 위해 대기한 시간과 CPU  사용 시간을 고려하여 우선순위를 정하는 스케줄링 알고리즘은 무엇인가?

HRN 스케줄링

 

10. 프로세스가 할당받은 시간(타임 슬라이스) 동안 작업하다가 작업을 완료하지 못하면 준비 큐의 맨 뒤로 가서 다음 자기 차례가 올 때까지 기다리는 선점형 스케줄링 알고리즘 중 가장 단순한 것은 무엇인가?

라운드로빈 스케줄링

 

11. 타임 슬라이스의 크기와 문맥 교환의 관계를 설명하시오.

라운드 로빈 스케줄링이 효과적으로 작동하려면, 타임슬라이스는 되도록 작게 설정하되, 문맥교환에 걸리는 시간을 고려하여 적당한 크기로 해야한다. 타임슬라이스가 작은 경우 문맥 교환에 많은 시간을 낭비한다. 타임 슬라이스가 큰 경우에 라운드 로빈 스케줄링은 FCFS 스케줄링과 다를게 없어진다.

 

12. 기본적으로 라운드 로빈 방식을 사용하지만, CPU를 할당받은 프로세스를 선택할 때 남아있는 작업 시간이 가장 적은 것을 선택하는 스케줄링 알고리즘은 무엇인가?

SRT 스케줄링

 

13. 우선순위에 다라 준비 큐를 여럭 개 사용하며 고정형 우선순위를 적용하는 스케줄링 알고리즘은 무엇인가?

다단계 큐 스케줄링

 

14. 우선순위에 따라 준비 큐를 여러 개 사용하며, 프로세스가 CPU를 사용한 후 우선순위가 낮아지는 특징을 가진 스케줄링 알고리즘은 무엇인가?

다단계 피드백 큐 스케줄링

 

15. 다단계 피드백 큐 스케줄링에서 마지막 큐에 있는 프로세스의 타임슬라이스 크기는 얼마인가?

무한대

 

16. 다단계 피드백 큐 스케줄링에서 우선순위가 낮아질수록 타임 슬라이스의 크기는 어떻게 변하는 가?

증가한다.

 

17. 다단계 피드백 큐 스케줄링에서 마지막 큐(우선순위가 가장 낮은 큐)는 어떤 스케줄링 알고리즘처럼 동작하는가?

FCFS