오래 못 할 짓 하지 않기
[ 운영체제 ] 7. CPU 스케줄링 본문
CPU 스케줄링
: OS가 프로세스들에게 CPU 자원을 배분하는 것
● 프로세스 우선순위
주로 빨리 처리해야하는 프로세스들에게
= 프로세스마다 우선순위가 다르다.
입출력 작업이 많은 프로세스 = 입출력 집중 프로세스의 우선순위가
CPU 작업이 많은 프로세스 = CPU 집중 프로세스의 우선순위보다 높다.
이유 : 입출력 완료까지 실행하는 시간보다는 대기하는 시간에 있기 때문에 ,
입출력 집중 프로세스에 빨리 주고 대기하게 하고, CPU 집중 프로세스가 편하게 쓰게 해준다.
= 빨리 하고 나와라
● 우선순위 배분
OS가 PCB를 보고
어떤 프로세스가 CPU를 많이 사용할지 정한다.
하지만 OS가 모든 프로세스의 PCB를 보는 것은 시간적으로 낭비가 크다.
스케줄링 큐
: 특정 자원을 사용하려고 하는 프로세스들 끼리 묶어두는 큐
) 자원쓰고 싶으면 줄 서라
스케줄링 큐는 선입선출이 아니다!
● 준비 큐 / 대기 큐
- 준비 큐 : CPU를 이용하고자 하는 프로세스들이 들어가는 큐
- 대기 큐 : 입출력 장치를 이용하고자 하는 프로세스들이 들어가는 큐
준비 상태와 대기 상태를 생각해봤을 때
준비 큐 = 준비 상태에 있는 프로세스들이 들어가는 큐
대기 큐 = 대기 상태에 있는 프로세스들이 들어가는 큐
같은 큐 안에서도 우선순위가 따로 있다. 먼저 들어왔다고 먼저 실행되는 게 아님
준비 큐에서도 우선순위가 높은 프로세스가 먼저 디스패치 되어 실행이 되고,
시간이 다 되면, 그 다음 준비 큐 or 대기 큐로 들어가게 된다.
대기 큐도 자세히 뜯어보면 아래와 같다.
선점형 or 비선점형 스케줄링
Preemptive Scheduling / Non- Preemptive Scheduling
● OS가 현재 CPU를 사용하는 프로세스로부터 자원을 뺏어와서 다음 프로세스에게 준다 ▶ 선점형
: 지금까지 보여줬던 프로세스 작동 방식이 이거이긴 함
= 정해진 시간만큼 CPU를 쓰고 어찌됐든 OS가 뺏어옴
- 장점 : 하나의 프로세스의 자원 독점을 막고 , 골고루 자원 배분 가능
- 단점 : 문맥 교환이 많아지기 때문에, 오버헤드가 발생할 수 있다.
● 현재 CPU를 사용하는 프로세스가 끝날 때까지 기다린다. ▶ 비선점형
: 하나의 프로세스가 특정 자원을 사용한다면, 끝날 때까지 가로챌 수 없다.
- 장점 : 문맥 교환이 적어서 꼬일 일이 없다.
- 단점 : 하나의 프로세스의 자원 독점
(출처)
유튜브 한빛미디어
'3학년 1학기 > 운영체제 (OS)' 카테고리의 다른 글
[ 운영체제 ] 9. 프로세스 동기화 (0) | 2024.01.11 |
---|---|
[ 운영체제 ] 8. CPU 스케줄링 알고리즘 (0) | 2024.01.10 |
[ 운영체제 ] 6. 프로세스 / 스레드 확인 (with Python) (0) | 2024.01.08 |
[ 운영체제 ] 5. Thread (0) | 2024.01.05 |
[ 운영체제 ] 4. 프로세스 상태 및 계층구조 (0) | 2024.01.04 |