[운영체제] Process Scheduling 간단 요약

glow_soon·2022년 6월 9일
0

Process Scheduling : 프로세스가 생성되어 실행될때 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업 (대기 시간 최소화, 최대한 공평하게 처리 목적)

프로세스 스케줄링 기법은 크게 비선점과 선점 형태로 나뉜다

비선점 (non-preemptive)

이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할수 없는 스케줄링 기법

1. FCFS(First Come First Serve Scheduling) or FIFO

CPU를 먼저 요청한 프로세스가 먼저 CPU를 배정받는 스케줄링 기법

장점

  • 스케줄링 단순
  • 모든 프로세스 실행가능, 처리율이 높다

단점

  • 비선점 방식이라 대화형 작업에는 부적합
  • 수행시간 길면 대기시간이 높다, 짧고 간단한 작업도 계속 기다려야하는 문제 발생

2. Shortest Job First(SJF) or SPN(Shortest Process Next)

준비큐에서 기다리고 있는 프로세스 중에 가장 CPU 요구량이 적은것을 먼저 실행시키는 기법

장점

  • 평균 응답시간을 최소화 가능

단점

  • 실행시간이 긴 프로세스가 계속 대기하는 무한대기 발생 가능

3. HRRN (Higest Response Ratio Next)

준비큐에 있는 프로세스 중에서 응답률((대기시간+CPU요구량) / CPU 요구량)이 가장 높은 프로세스에게 높은 우선순위를 주는 방식


선점(preemptive)

특정 요건에 따라 각 프로세스의 요청이 있을때 프로세스에게 분배하는 방식
빠른 응답을 요구하는 시분할 시스템에 적합하다

1. Round-Robin / RR 스케줄링

FIFO 기반으로 CPU를 할당하되, 각 프로세스는 한번에 쓸 수 있는 CPU(시간 할당량)이 지나면 시간 종료 인터럽트에 의해 CPU를 빼앗기게 되는 방식

장점

  • 프로세스 하나가 CPU를 독점하는 단점을 방지한다
  • 모든 프로세스가 공정하게 스케줄링을 받을수 있다

단점

  • Context Switch의 오버헤드를 감수해야한다.

2. SRT(Shortest Remaining Time) 스케줄링

준비큐에서 완료까지 남은 CPU 요구량이 가장 짧은것을 먼저 실행시켜 주는 방식, 실행도중 남은 실행시간이 더 적은 프로세스가 준비큐에 들어올 경우 현재 실행중인 프로세스를 중단하고 새 프로세스에 CPU를 할당

3. 다단계큐 스케줄링

프로세스들의 우선순위 개수만큼 큐 필요, 프로세스들은 자신의 우선순위 값에 해당하는 큐에 들어가며, 우선순위가 낮은 하위 단계 큐의 작업은 실행 중이어도 상위단계 큐에 프로세스가 도착하면 CPU를 뺏긴다.

profile
나는야 코린이

0개의 댓글