Skip to content

Latest commit

 

History

History
20 lines (20 loc) · 1.4 KB

File metadata and controls

20 lines (20 loc) · 1.4 KB

CPU 스케쥴링

정의

  • OS가 CPU를 사용하려고 하는 프로세스의 사이의 우선순위를 관리하는 작업 => 자원을 어떤 프로세스에 할당하는지 정책을 만드는 것
  • 프로세스들에게 자원을 최대한 공평하게 배분하며 처리율과 CPU 이용률을 증가,오버헤드(어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 등),응답시간,대기시간을 최소화하기 위한기법
  • 선점형 스케쥴링괴 비선점형 스케쥴링이있음
  • 메모리에 여러 개의 프로세스를 올려놓고(다중 프로그래밍), CPU의 가동시간을 적절히 나누어(시분할) 각각의 프로세스의 분배하여 실행

프로세스 상태 전이

생성(New)

  • New에서 Ready로 전이되는 과정
  • 프로세스가 생성되고 나서 생성된 프로세스는 준비 상태에 머무름
  • 준비 상태란 CPU를 점유하기 희망하는 상태(점유중이 아님)
  • 준비 상태에서 실행 상태로 넘어갈려면 작업 스케줄러가 선택해 주어야함

디스패치

  • 준비 상태에서 실행 상태로 전이되는 과정
  • 실행된 프로세스가 CPU를 점유

인터럽트(Interrupt)

  • 신호를 받게되면, 실행중이던 프로세스는 준비 상태로 전이
  • 우선순위가 높은 프로세스를 실행 상태로 전이

입출력 혹은 이벤트 대기(I/O or event wait)