프로세스 우선순위
: 프로세스마다 우선순위가 다름
이유
: 대부분의 프로세스들은
CPU와입출력장치를 모두 사용하며 실행된다.
즉, 프로세스는 실행 상태와 대기 상태를 반복하면 실행된다.이 때, 프로세스마다 CPU 이용시간과 입출력장치 이용시간이 다르기 때문에 순서대로 CPU를 이용하게하는 것은 비합리적이다.
그래서 프로세스에 우선순위를 부여함 (각 프로세스의 PCB에 우선순위를 명시)
스케줄링 큐
PCB에 우선순위가 명시되어 있지만 모든 프로세스를 일일이 보는 것은 비효율적
그래서, 프로세스의 줄을 세우는 스케줄링 큐를 사용함.
준비 큐
: CPU를 이용하고 싶은 프로세스들이 서는 줄
대기 큐
: 입출력장치를 이용하기 위해 대기 상태에 접어든 프로세스들이 서는 줄PCB들이 큐에 삽입된 순서대로 프로세스를 하나씩 실행하되, 그 중 우선순위가 높은 프로세스를 먼저 실행함
선점형과 비선점형 스케줄링
선점형 스케줄링(Preemptive Scheduling)
장점: 자원 독점 방지
단점: 문맥 교환 과정에서 오버헤드 발생할 확률↑
비선점형 스케줄링(Non-Preemptive Scheduling)
장점: 선점형에 비해 오버헤드 발생할 확률↓
단점: 자원 독점으로 골고루 자원을 이용하기 어려움
<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.05.04)
책과 강의를 통해 학습한 내용을 요약 정리했습니다.