X

CPU 선점 스케줄링 기법

I. 우선 순위 기반 선점 방식, CPU 선점 스케줄링 기법

가. CPU 선점 기법의 개념

  • 우선순위가 높은 프로세스가 현재 프로세스를 중지 시키고 자신이 CPU를 점유하는 스케줄링 기법

나. CPU 선점 기법 개요도

II. CPU 선점 기법

알고리즘 처리방식
RR
(Round Robin)

– 대화식 사용자 위한 시분할 시스템
– 준비 큐(FCFS)에 의해 보내진 각 프로세스는 같은 크기의 CPU 시간을 할당 받음
* First Come First Speed
– 프로세스가 할당된 시간 내에 처리 완료 못하면 준비 큐(FCFS) 리스트의 가장 뒤로 보내지고 CPU는 대기중인 다음 프로세스로 넘어감
– 일반적 시간 할당량 100 밀리 초에서 1, 2초 사이
– 할당 시간 크면 FCFS, 작으면 문맥 교환 발생

– 문맥 교환: CPU를 다른 프로세스로 교환하기 위하여 이전의 프로세스의 상태를 보관하고 새로운 프로세스의 보관된 상태를 적재하는 작업
– 프로세스: 컴퓨터 내에서 실행중인 프로그램의 인스턴스
SRT
(Short Remaining Time)
– 가장 짧은 시간 소요 판단되는 프로세스 수행
– 남은 처리 시간이 짧은 프로세스가 준비 큐에 생기면 언제라도 프로세스 선점
– 긴 작업은 SJF 보다 대기 시간이 길다
다단계 큐
(Multi-level Queue)
– 작업들을 여러 종류의 그룹의 분할
– 여러 개의 큐를 이용 상위 단계 작업에 의해 하위 단계 작업이 선점 당함
– 준비 상태 큐를 여러 종류로 분할(작업 분류 별 묶음) 하지만 다른 큐로 작업 이동 불가
– 각 큐는 자신만의 독자적인 스케줄링을 가짐
다단계 피드백 큐
(Multi-Level Feedback Queue)
– 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU Time Slice 부여
– 새로운 프로세스는 높은 우선순위, 실행 시간이 길어질수록 점점 낮은 우선순위 큐로 이동 (맨 마지막 단계에서는 Round Robin 처리)
– 하위단계일수록 할당 시간 증가(공평성 부여)

 

III. CPU 선점과 비선점 기법 비교

구분 선점(Preemptive)
스케줄링
비선점(Non-preemptive)
스케줄링
개념 – 우선순위가 높은 다른 프로세스가 현재 프로세스를 중지 시키고 자신이 CPU 점유 – 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유불가
특징 – 하드웨어(Timer) 필요
– 공유 데이터에 대한 프로세스 동기화 필요
– 특수 하드웨어(Timer) 없음
– 종료 시까지 계속 CPU 점유
장점 – 비교적 빠른 응답
– 대화식 시분할 시스템에 적합
– 응답시간 예상이 용이
– 모든 프로세스에 대한 요구를 공정하게 처리
단점 – 높은 우선순위 프로세스들이 들어오는 경우 오버헤드를 초래 – 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기
알고리즘 Round Robin, SRT, 다단계 큐, 다단계 피드백 큐 우선순위 스케줄링, 기한부 스케줄링, FCFS, SJF, HRN
활용 – 실시간 응답 환경, Deadline 응답 환경 – 처리시간 편차가 적은 특정 프로세스 환경

 

Categories: CA/운영체제
도리: