CPU 스케줄링 개요

song·2023년 5월 4일

프로세스 우선순위

: 프로세스마다 우선순위가 다름

이유

: 대부분의 프로세스들은 CPU와 입출력장치를 모두 사용하며 실행된다.
즉, 프로세스는 실행 상태와 대기 상태를 반복하면 실행된다.

이 때, 프로세스마다 CPU 이용시간과 입출력장치 이용시간이 다르기 때문에 순서대로 CPU를 이용하게하는 것은 비합리적이다.


그래서 프로세스에 우선순위를 부여함 (각 프로세스의 PCB에 우선순위를 명시)


스케줄링 큐

PCB에 우선순위가 명시되어 있지만 모든 프로세스를 일일이 보는 것은 비효율적

그래서, 프로세스의 줄을 세우는 스케줄링 큐를 사용함.



준비 큐
: CPU를 이용하고 싶은 프로세스들이 서는 줄

대기 큐
: 입출력장치를 이용하기 위해 대기 상태에 접어든 프로세스들이 서는 줄

PCB들이 큐에 삽입된 순서대로 프로세스를 하나씩 실행하되, 그 중 우선순위가 높은 프로세스를 먼저 실행함


선점형과 비선점형 스케줄링

  • 선점형 스케줄링 (Preemptive Scheduling)
    장점: 자원 독점 방지
    단점: 문맥 교환 과정에서 오버헤드 발생할 확률↑


  • 비선점형 스케줄링 (Non-Preemptive Scheduling)
    장점: 선점형에 비해 오버헤드 발생할 확률↓
    단점: 자원 독점으로 골고루 자원을 이용하기 어려움

<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.05.04)


책과 강의를 통해 학습한 내용을 요약 정리했습니다.
profile
인간은 적응의 동물

0개의 댓글