개발/잡다개발

CPU Scheduling

----___<<<<< 2020. 6. 18. 16:09

 

FCFS(First Come First Served)

 

디스크 스케줄링에서 가장 심플한 방식입니다.

 

가장 먼저 도착한 요청을 우선적으로 처리하고, 입출력 요청 대기 큐에 들어온 순서대로 서비스합니다.

장정 : 개발이 용이하고 무기한 기다림이 없습니다.

단점 : 이동경로가 길어지고 최적의 seek time을 찾을 수 없습니다.

 

SJF(Shorteset Job First Scheduling)

 

CPU를 적게 사용하는 것 부터 먼저 수행을 시켜 Waiting time이 적습니다.

 

Priority Scheduling

 

우선순위 스케줄링이 있는데, 문제점으로 외부에서 새로운 프로세스가 들어오면 그 프로세스 우선적으로 처리하면서 오래 기다린 프로세스가 멈추는 경우가 있는데, 오래 기다릴 수록 우선순위를 높여주어야 한다.

 

Round-Robin Scheduling

 

시간을 쪼개서 프로세스를 실행합니다.

 

Multilevel Queue

 

멀티레벨 큐란, 각 큐에 우선순위 할당 및 알고리즘 적용을 다르게 할 수 있습니다.

 

Multiple-processor Scheduling

 

여러개의 CPU를 사용하여 처리량 증가, 자원을 공유함으로 비용 절감, 신뢰성 증가

 

POSIX Real-Time Scheduling 이란, 실시간 스레드 관리를 위한 API를 제공합니다.

 

 

 

 

 

 

 

 

 

참고

[1] - https://jhnyang.tistory.com/104

[2] - https://jhnyang.tistory.com/155

[3] - https://zzsza.github.io/development/2018/07/29/cpu-scheduling-and-process/

[4] - https://blog.naver.com/PostView.nhn?blogId=jhnyang&logNo=221519697258

[5] - https://m.blog.naver.com/PostView.nhn?blogId=4717010&logNo=60213255824&proxyReferer=https:%2F%2Fwww.google.com%2F

 

 

 

 

 

 

'개발 > 잡다개발' 카테고리의 다른 글

Synchronization Examples  (22) 2020.06.18
Synchronization Tools  (0) 2020.06.18
ICMP  (0) 2020.06.14
TCP UDP  (0) 2020.06.14
DHCP  (0) 2020.06.14