선점형과 비선점형 스케쥴러
선점형 스케쥴러
: 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할 수 있다.
비선점형 스케쥴러
: 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없다.
( CPU 에서 실행중인 프로세스가 wait 이나 end 상태가 되야 스케줄러가 다른 프로세스를 실행 시킬 수 있다.)
선점형과 비선점형 스케쥴러 차이
비선점형 : 프로세스가 자발적으로 blocking상태로 들어가거나 실행이 끝났을 때(end)만 다른 프로세스로 교체 가능.
스케줄러 선점(점유,제어) 하지 못한다.
선점형 : 프로세스 running 중에 스케줄러가 이를 중단 시키고 다른 프로세스로 교체 가능
선점형이 조금 더 응답시간 빠르고 운영체제가 더 최적의 스케줄링 가능하다.
선점형과 비선점형 스케쥴러 예시
(시분할 2초씩 나눠져 있다고 가정)
비선점형은 선행하는 프로세스가 실행시간이 길면 나머지 프로세스는 실행이 지연, 응답시간이 길어진다.
선점형은 프로세스의 실행시간이 길어도 시분할 단위에 따라 일정한 시간이되면 다른 프로세스를 실행할 수 있으므로 응답시간 짧아질 수 있다.
스케쥴러 구분
FIFO(FCFS), SJF(최단시간), 우선순위기반은 어떤 프로세스를 먼저 실행 시킬지에 대한 알고리즘 (비선점형 스케줄러)
RoundRobin은 시분할 시스템을 위한 기본 알고리즘 (선점형 스케줄러)
ex.
제로베이스 컴퓨터 공학 전공자 따라잡기 강의 시청 후 정리한 내용입니다.
'CS > 운영체제' 카테고리의 다른 글
인터럽트 내부 동작 (0) | 2022.02.23 |
---|---|
인터럽트 (0) | 2022.02.23 |
프로세스 상태와 스케쥴러 (0) | 2022.02.23 |
스케쥴링 알고리즘 기본 (0) | 2022.02.23 |
프로세스 스케쥴링 (0) | 2022.02.22 |