04. 운영체제 cpu scheduling

민주·2023년 11월 7일
0

CS

목록 보기
9/22

다중 프로세서 운영체제 설계의 핵심 : CPU 이용률 최대화. => 항상 실행 중인 프로세스를 가지게 하는 것.

  • CPU Scheduler : 레디 큐에 있는 프로세스(준비 상태) 중에 하나를 선택해 cpu 할당
  • Dispatcher : cpu의 제어권을 cpu scheduler가 선택한 프로세스에게 넘겨주는 모듈.
  • Preemptive & NonPreemptive: 선점 스케줄링(우선 순위 프로세스가 발생되면 강제 반납), 비선점 스케줄링(자진 반납)

cpu 스케쥴링이 필요한 프로세스의 상태 변화
1. I/O 발생 || 종료 Running=> Blocked || Blocked=> Ready
2. Interrupt 발생 Running=> Ready
3. I/O 종료 Blocked => Ready
4. Terminate

Utilization 높고, Throughput 높고, 처리시간 짧고, 응답시간 짧을 수록 좋다.

Schedulign Algorithm

  • FCFS (First come First )
  • SJF (Shortest Job First)
  • Priority Scheduling
  • Round Robin : FCFS에 선점 개념을 추가함.
  • Multilevel Queue
  • Multilevel Feedback Queue

Scheduling Type

  • Multiple-Processor Scheduling : cpu 여러개. Load Sharing 필요.
  • Real-time Scheduling : hard(정해진 시간 안에 task 반드시 끝내도록 보장) soft(일반 프로세스에 비해 높은 priority 보장)
  • Thread Scheduling : local / global

Algorithm Evaluation

  • Queueing models
  • Implementation & Measurement
  • Simulation
profile
일단 가보면 뭐든 있겠지

0개의 댓글