CPU Scheduling
프로세스의 특성 분류
I/O bound process
CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 작업
CPU-bound process
계산 위주의 job
CPU scheduler & Dispatcher
CPU scheduler
ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다.
운영체제 내부에서 CPU 스케줄링을 하는 기능(운영체제 커널의 코드)을 의미한다. 특정하고 독립된 하드웨어나 소프트웨어가 하니다.
Dispatcher
CPU 제어권을 CPU scheduler 에 의해 선택된 프로세스에게 넘기는 운영체제의 커널 코드이다.
이 과정을 context switch, 문맥교환이 라고 한다.
CPU 스케줄링이 필요한 경우는 프로세스에게 다음과 같은 상태 변화가 있는 경우이다.
running → blocked : 예를 들면, I/O 요청하는 시스템 콜 등
running → ready : 할당시간만료로 timer interrupt 가 발생하는 경우 등
blocked → ready : I/O 작업이 완료된 후 인터럽트하는 경우
terminate
1, 4에서의 스케줄링은 nonpreemptive 강제로 빼앗기지 않고 자진 반납하는 경우이고
모든 다른 스케줄링은 preemptive 강제로 빼앗은 경우이다.
Previous프로세스 시스템 콜과 프로세스간의 협력, System call and Interprocess CommunicationNextCPU Scheduling Algorithm
Last updated