프로세스 스케줄링

2020. 7. 7. 00:46컴퓨터언어/운영체제

728x90
반응형

 

👍 프로세스 스케줄링

 

제한된 자원을 효율적으로 사용하기 위한 운영체제(소프트웨어)의 전략

 

컴퓨터를 켜면 ROM 내의 부트로더가 디스크에서 운영체제 핵심파일을 RAM에 적재시킴으로써 운영체제가 모든 통제권을 갖게 된다.

RAM 내 보호구역에 자리잡은 운영체제는, 다른 프로그램들이 실행될 수 있도록 프로세스를 적재한다.

그런데 다중프로그래밍에서는 프로세스가 엄청 많은 것에 비해 컴퓨터가 가진 자원은 매우 한정되어 있다.

따라서 운영체제는 수많은 프로세스들이 자원을 효율적으로 사용할 수 있도록 CPU할당과 문맥교환에 머리를 잘 굴려야 하는데,

이를 프로세스 스케줄링이라고 한다.


👍 프로세스 스케줄링과 비슷한 용어이지만 다른 개념

 

👊 장기(상위) : Job 스케줄링

프로세스가 자원을 사용하는 시기를 결정하여 대기 큐로 전달하는 작업 ex 디스크에서 램으로 적재되는 "제출"을 담당

느린 작업이므로 "Long-Term"이라고 함

 

👊 중기(중위) : CPU 스케줄링

CPU가 여러 개일 경우 어떤 CPU를 사용할 지 결정

 

👊 단기(하위) : 프로세스 스케줄링

여러 프로세스가 하나의 CPU를 점유하기 위한 시기를 결정하는 작업 ex 램 내에서 프로세스의 디스패치(준비->실행)와 타임런아웃(실행->준비)을 담당

빠른 작업이므로 "Short-Term"이라고 함


👍 프로세스 스케줄링의 성능 평가 기준

 

👊 CPU이용률 - 높을수록 좋음

CPU를 쉬지않고 몇 퍼센트를 이용하는가의 기준(40~90% 범위)

 

👊 처리능력(Throughput) - 많을수록 좋음

단위 시간당 처리할 수 있는 CPU의 작업량

 

👊 대기시간(Waiting Time) - 짧을수록 좋음

준비 상태에서 할당을 대기하는 시간

 

👊 응답시간(Response Time, 반응시간) - 짧을수록 좋음

입력에 대해 처음 반응하는 시간(첫로딩시간)

 

👊 반환시간(Turn-around Time) - 짧을수록 좋음

작업을 지시한 순간부터 모두 완료할 때까지 걸리는 시간


👍 프로세스 스케줄링의 두가지 방식 - 비선점형 & 선점형

 

👊 비선점형(Non-Preemption)

아직 CPU를 할당받지 못한 새로운 프로세스가 기존 실행중인 프로세스로부터 할당을 빼앗아 올 수 없는 방식

현재 프로세스가 종료되지 않고서는 다른 프로세스로 할당할 수 없으며, 프로세스 실행의 시간할당량을 미리 통보하면 응답시간의 예측이 용이하다.

일괄처리 시스템에 적합

FIFO, SJF, HRN, 우선순위, 기한부

2020/07/07 - [컴퓨터언어/운영체제] - 비선점형 프로세스 스케줄링 - FIFO, SJF, HRN, 우선순위, 기한부

 

👊 선점형(Preemption)

현재 사용중인 프로세스를 중단시키고 할당을 빼앗아 올 수 있는 방식

응답시간의 예측이 용이하지 않으며, 빠른 응답시간의 예측을 원할 때 사용된다.

높은 우선순위의 프로세스가 긴급할 때, 실시간, 대화형 시스템에 적합

RR, SRT, MFQ

2020/07/07 - [컴퓨터언어/운영체제] - 선점형 프로세스 스케줄링 - RR, SRT, MFQ

 

👊 비선점&선점 혼합형

MLQ(Multi Level Queue)

우선순위가 가장 높은(응급) 큐 안에 있는 프로세스들은 서로 비선점형으로 사용되며, 주로 시스템 프로세스가 입력된다.

우선순위가 중위/하위인 큐 안에 있는 프로세스들은 서로 선점형으로 사용되며, 중위는 대화형 프로세스, 하위는 일괄처리 프로세스가 입력된다.

즉 우선순위가 상위인 큐에 프로세스가 등장하면 중위/하위에 있는 프로세스는 모두 중단되고 상위인 큐가 비게 될 때까지 다 끝내고 돌아온다.

서로 다른 큐 간 프로세스 이동이 안된다.

728x90
반응형