오래 못 할 짓 하지 않기

[ 운영체제 ] 7. CPU 스케줄링 본문

3학년 1학기/운영체제 (OS)

[ 운영체제 ] 7. CPU 스케줄링

쫑알bot 2024. 1. 9. 22:44
728x90

CPU 스케줄링

: OS가 프로세스들에게 CPU 자원을 배분하는 것

 

 

● 프로세스 우선순위

주로 빨리 처리해야하는 프로세스들에게

= 프로세스마다 우선순위가 다르다.

 

입출력 작업이 많은 프로세스 = 입출력 집중 프로세스의 우선순위가

CPU 작업이 많은 프로세스 = CPU 집중 프로세스의 우선순위보다 높다.

 

이유 : 입출력 완료까지 실행하는 시간보다는 대기하는 시간에 있기 때문에 , 

           입출력 집중 프로세스에 빨리 주고 대기하게 하고, CPU 집중 프로세스가 편하게 쓰게 해준다.

= 빨리 하고 나와라

 

 

● 우선순위 배분

 

OS가 PCB를 보고

어떤 프로세스가 CPU를 많이 사용할지 정한다.

 

 



 

하지만 OS가 모든 프로세스의 PCB를 보는 것은 시간적으로 낭비가 크다.

 

스케줄링 큐

: 특정 자원을 사용하려고 하는 프로세스들 끼리 묶어두는 큐

 

  )  자원쓰고 싶으면 줄 서라

스케줄링 큐는 선입선출이 아니다!

 

준비 큐 /  대기 큐

- 준비 큐 : CPU를 이용하고자 하는 프로세스들이 들어가는 큐

- 대기 큐 : 입출력 장치를 이용하고자 하는 프로세스들이 들어가는 큐

 

준비 상태와 대기 상태를 생각해봤을 때

 

준비 큐 = 준비 상태에 있는 프로세스들이 들어가는 큐

대기 큐 = 대기 상태에 있는 프로세스들이 들어가는 큐

 

같은 큐 안에서도 우선순위가 따로 있다. 먼저 들어왔다고 먼저 실행되는 게 아님

 

 

준비 큐에서도 우선순위가 높은 프로세스가 먼저 디스패치 되어 실행이 되고,

시간이 다 되면, 그 다음 준비 큐 or 대기 큐로 들어가게 된다.

 

 

 

대기 큐도 자세히 뜯어보면 아래와 같다.

 

 

 

 

 



선점형 or 비선점형 스케줄링
Preemptive Scheduling / Non- Preemptive Scheduling

 

 

● OS가 현재 CPU를 사용하는 프로세스로부터 자원을 뺏어와서 다음 프로세스에게 준다   ▶ 선점형 

 : 지금까지 보여줬던 프로세스 작동 방식이 이거이긴 함

  = 정해진 시간만큼 CPU를 쓰고 어찌됐든 OS가 뺏어옴

 

- 장점 : 하나의 프로세스의 자원 독점을 막고 , 골고루 자원 배분 가능

- 단점 : 문맥 교환이 많아지기 때문에, 오버헤드가 발생할 수 있다.

 


 

● 현재 CPU를 사용하는 프로세스가 끝날 때까지 기다린다.  ▶ 비선점형

: 하나의 프로세스가 특정 자원을 사용한다면, 끝날 때까지 가로챌 수 없다.

 

- 장점 : 문맥 교환이 적어서 꼬일 일이 없다.

- 단점 : 하나의 프로세스의 자원 독점

 

 

 

(출처)

유튜브 한빛미디어