ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CPU 스케줄링
    Computer Science/Operating System 2021. 1. 10. 00:38

    질문

    5.1 기본 개념

    • CPU 스케줄러가 하는 역할은 무엇인가요?
      • CPU가 유휴 상태가 될 때마다, 운영체제는 준 비 큐에 잇는 프로세스 중에서 하나를 선택해 실행해야 합니다. 이러한 선택 절차를 수행하는 역할을 합니다.
    • 선점 스케줄링과 비선점 스케줄링의 차이는 무엇인가요?
      • 비선점 스케줄링에서는 CPU가 한 프로세스에 할당되면 프로세스가 종료하든지, 또는 대기 상태로 전환해 CPU를 방출할 때까지 점유합니다.
      • 선점 스케줄링에서는 CPU가 어떤 프로세스가 종료되기 전 다른 프로세스에 할당할 수 있습니다.
    • 디스패처란 무엇인가요?
      • 디스패처란 CPU 코어의 제어를 CPU 스케줄러가 선택한 프로세스에 주는 모듈이며, 문맥 교환, 사용자 모드 전환 등의 역할을 수행합니다.

    5.2 스케줄링 기준

    • CPU 스케줄링 알고리즘을 비교하기 위한 기준은 어떤 것이 있나요?
      • CPU 이용률 : CPU를 최대한 바쁘게 유지시키자
      • 처리량 : 단위 시간 당 완료된 프로세스의 개수
      • 총처리 시간 : 프로세스를 실행하는데 소요된 시간
      • 대기 시간 : 준비 큐에서 대기하면서 보낸 시간의 합
      • 응답 시간 : 하나의 요구를 제출한 후 첫 번째 응답이 나올 때까지의 시간

    5.3 스케줄링 알고리즘

    • FCFS 스케줄링이란?
      • CPU를 먼저 요청하는 프로세스에게 먼저 할당하는 방법
      • FIFO 큐를 이용해서 구현합니다다
      • 진입 순서에 따라 평균대기 시간이 매우 길 수 있습니다.
    • SJF 스케줄링이란?
      • CPU 버스트 시간이 짧은 프로세스부터 CPU를 할당합니다.
      • 최적의 수행 능력을 가지고 있지만 프로세스의 CPU 버스트 시간을 예상해야하기 때문에 구현이 어렵습니다
    • RR 스케줄링이란?
      • FCFS 스케줄링과 흡사하지만 시스템이 프로세스들 사이를 옮겨 다닐 수 있도록 선점이 추가됩니다.
      • 시간 할당량을 정해서 CPU는 준비 큐를 돌면서 한 번에 한 프로세스에 한 번의 시간 할당량 동안만 CPU를 할당합니다.
      • 시간 할당량을 작거나 크게 정함에 따라 성능이 정해지기 때문에 적절한 선택이 중요합니다
    • 우선순위 스케줄링이란?
      • 우선 순위가 높은 프로세스에 먼저 CPU를 할당하는 방법입니다. 우선 순위가 같다면 FIFO 방식으로 작동합니다
    • 기아 상태란 무엇인가요?
      • 우선 순위 스케줄링 알고리즘을 사용할 경우 낮은 우선순위 프로세스들이 CPU를 무한히 대기하는 경우가 발생합니다.
      • 이를 방지하기 위해 오랫동안 시스템에서 대기하는 프로세스들의 우선순위를 점진적으로 증가시키는 방법을 사용합니다(aging)

    요약

    • CPU 스케줄링은 준비 큐에서 대기 프로세스를 선택하고 CPU를 할당하는 작업입니다. 디스패처에 의해 선택된 프로세스에 CPU가 할당됩니다.
    • 스케줄링 알고리즘은 선점형 또는 비선점형으로 나뉩니다. 거의 모든 운영체제는 선점형입니다.
    • FCFS 스케줄링은 가장 간단한 스케줄링 알고리즘이지만 짧은 프로세스가 매우 긴 프로세스를 기다리게 할 수 있습니다
    • SJF 스케줄링은 최적이며 평균 대기시간이 가장 짧지만, 다음 CPU 버스트의 길이를 예측하기 어려우므로 구현하기는 어렵습니다.

    'Computer Science > Operating System' 카테고리의 다른 글

    메모리 관리  (0) 2021.01.14
    교착 상태  (0) 2021.01.14
    동기화 도구들  (0) 2021.01.10
    스레드와 병행성  (0) 2021.01.10
    프로세스  (0) 2021.01.10

    댓글

Designed by Tistory.