2020. 7. 7. 00:46ㆍ컴퓨터언어/운영체제
👍 프로세스 스케줄링
제한된 자원을 효율적으로 사용하기 위한 운영체제(소프트웨어)의 전략
컴퓨터를 켜면 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)
우선순위가 가장 높은(응급) 큐 안에 있는 프로세스들은 서로 비선점형으로 사용되며, 주로 시스템 프로세스가 입력된다.
우선순위가 중위/하위인 큐 안에 있는 프로세스들은 서로 선점형으로 사용되며, 중위는 대화형 프로세스, 하위는 일괄처리 프로세스가 입력된다.
즉 우선순위가 상위인 큐에 프로세스가 등장하면 중위/하위에 있는 프로세스는 모두 중단되고 상위인 큐가 비게 될 때까지 다 끝내고 돌아온다.
서로 다른 큐 간 프로세스 이동이 안된다.
'컴퓨터언어 > 운영체제' 카테고리의 다른 글
선점형 프로세스 스케줄링 - RR, SRT, MFQ (0) | 2020.07.07 |
---|---|
비선점형 프로세스 스케줄링 - FIFO, SJF, HRN, 우선순위, 기한부 (0) | 2020.07.07 |
문맥교환 (0) | 2020.07.06 |
PCB(Process Control Block) (0) | 2020.07.06 |
인터럽트 (0) | 2020.07.06 |