본문 바로가기
답안지/쉽게 배우는 운영체제

[심화문제] PART 04 CPU 스케줄링

by upself 2022. 11. 16.
728x90
쉽게 배우는 운영체제

쉽게 배우는 운영체제

조성호

명쾌한 비유와 사례로 쉽게 배우는 운영체제의 구조와 원리 컴퓨터 관련 학과 학생을 대상으로 운영체제의 구조와 원리를 설명한 책이다. 주요 개념은 일상생활의 사례를 통해 쉽게 이해하고, 개념 간의 관계는 다양한 그림과 표로 명확히 정리할 수 있다. 20년 가까이 강의해온 저자의 내공이 고스란히 녹아 있어 복잡하고...

 

 

 

[심화문제]

 

1. 스케줄링의 단계와 그 특징을 설명하시오.
  • 고수준 스케줄링 : 시스템 내의 전체 프로세스 수를 조절하는 것
  • 중간 수준 스케줄링 : 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막는 것
  • 저수준 스케줄링 : 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정하는 것

 

 

2. 스케줄링의 목적을 설명하시오.
  • 공평성 : 모든 프로세스가 자원을 공평하게 배정받아야 하며, 자원 배정 과정에서 특정 프로세스가 배제되어서는 안 됨
  • 효율성 : 시스템 자원이 유휴 시간 없이 사용되도록 스케줄링을 하고, 유휴 자원을 사용하려는 프로세스에는 우선권을 주여야 함
  • 안전성 : 우선순위를 사용하여 중요 프로세스가 먼저 작동하도록 배정함으로써 시스템 자원을 점유하거나 파괴하려는 프로세스로부터 자원을 보호해야 함
  • 확장성 : 프로세스가 증가해도 시스템이 안정적으로 작동하도록 조치해야 하며, 시스템 자원이 늘어나는 겨우 이 혜택이 시스템에 반영되기 해야 함
  • 반응 시간 보장 : 응답이 없는 경우 사용자는 시스템이 멈춘 것으로 가정하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 함
  • 무한 연기 방지 : 특정 프로세스의 작업이 무한히 연기되어서는 안 됨

 

 

3. 선점형 스케줄링과 비선점형 스케줄링을 비교하여 설명하시오.
  • 선점형 스케줄링 : 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPUF르 강제로 빼앗을 수 있는 스케줄링 방식
  • 비선점형 스케줄링 : 어떤 프로세스가 CPU를 점유하면 다른 프로세스가 이를 빼앗을 수 없는 스케줄링 방식

 

 

4. 스케줄링 알고리즘의 선택 기준에 대해 설명하시오.
  • CPU 사용률 : 전체 시스템의 동작 시간 중 CPU가 사용된 시간을 측정하는 방법이다. 가장 이상적인 수치는 100%이지만 실제로는 여러 가지 이유로 90%에도 못 미침
  • 처리량 : 시스템이 정상적으로 작동한다면 일정 시간 후 작업이 끝난다.  처리량은 단위 시간당 작업을 마친 프로세스의 수로 이 추시가 클수록 좋은 알고리즘이다.
  • 대기 시간 : 작업을 요청하더라도 실제 작업이 이루어지기 전까지는 대기 시간이 필요하다. 대기 시간은 작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간으로, 이 시간이 짧을수록 좋다.
  • 응답 시간 : 대화형 시스템에서는 사용자의 요구에 따라 얼마 만에 반응하는지가 궁금하다. 응답 시간은 프로세스 시작 후 첫 번째 출력 또는 반응이 나올 때까지 걸리는 시간으로, 이 시간이  짧을수록 좋다.
  • 반환시간 : 프로세스가 생성된 후 종류 되어 사용하던 자원을 모두 반환하는 데까지 걸리는 시간이다. 반환 시간은 대기 시간과 실행 시간을 더한 값이다.

 

 

5. FCFS, SJF, HRN 스케줄링의 특징을 설명하시오.
  • FCFS 스케줄링 : 준비 규에 도착한 순서대로 CPU를 할당하는 비선점형 스케줄링 방식이다.
  • SJF 스케줄링 : 준비 큐에 있는 프로세스 중에서 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식이다.
  • HRN 스케줄링 : CPU를 할당받기 위해 기다린 시간과 CPU 사용 시간을 고려하여 스케줄링을 하는 비선점형 방식이다.

 

 

6. 라운드 로빈, SRT, 다단계 큐, 다단계 피드백 큐 스케줄링의 특징을 설명하시오.
  • 라운드 로빈 스케줄링 : 한 프로세스가 할당받은 시간(타임 슬라이스) 동안 작업을 하다가 작업을 완료하지 못하면 준비 큐의 맨 뒤로 가서 자기 차례를 기다리는 선점형 방식이다.
  • SRT 스케줄링 : 기본적으로 라운드 로빈 스케줄링을 사용하지만, CPU를 할당받을 프로세스를 선택할 때 남아 있는 작업 시간이 가장 적은 프로세스를 선택하는 선점형 방식이다.
  • 다단계 큐 스케줄링 : 우선순위에 따라 준비 큐를 여러 개 사용하는 비선점형 방식이다. 프로세스는 운영체제로부터 부여받은 우선순위에 따라 해당 우선순위의 큐에 삽입되어 실행된다.
  • 다단계 피트백 큐 스케줄링 : 다단계 큐 스케줄링과 기본적인 형태가 같지만, CPU를 사용하고 난 프로세스가 원래의 큐로 되돌아가지 않고 우선순위가 하나 낮은 큐의 끝으로 들어간다.

 

 

7. 아사 현상과 에이징에 대해 설명하시오.
  • 아사 현상 : 크기가 큰 프로세스가 작은 프로세스로 작업이 계속 밀리는 현상
  • 에이징 : 프로세스가 양보할 수 있는 상한선을 정하는 방식 

 

 

8. 타임 슬라이스의 크기를 정하는 것과 시스템 효율성에 대해 설명하시오.

타임 슬라이스의 크기는 프로세스의 반응 시간에 영향을 미칠 뿐 아니라 시스템 전체의 성능에도 영향을 미친다.

  • 타임 슬라이스가 큰 경우, 하나의 작업이 끝난 뒤 다음 작업이 시작되는 것처럼 보인다. 
  • 타임 슬라이스가 작은 경우, 타임 슬라이스를 1밀리초와 같이 매우 작은 값으로 설정하면 사용자는 여러 프로그램이 동시에 실행되는 것처럼 느낄 것이다.

타임 슬라이스는 되도록 작게 설정하되 문맥 교환에 걸리는 시간을 고려하여 적당한 크기로 하는 것이 중요하다.

 

 

 

 

 먼저 자신을 비웃어라. 다른 사람이 당신을 비웃기 전에  

– 엘사 맥스웰
반응형