CPU 스케줄링
스케줄링의 개요
프로세스들이 작업을 수행하기 위해서는 CPU 스케줄러에 의해 프로세서를 할당받아야 한다. 이러한 할당
작업은 운영체제에 의해 수행되며 CPU 들이 언제, 어느 프로세스에게 할당되는지를 결정하는 작업을
CPU 스케줄링이라고 한다.
스케줄링의 목적
다중 프로그래밍 환경 하에서는 다수의 프로세스들이 주기억 장치 내에 적재되어 CPU를 사용하기도 하고
I/O 장치 사용을 위해 CPU를 반납하기도 한다. 또한 다른 프로세스가 어떤 신호를 보낼 때까지 대기하기도
하며 서로 CPU를 사용하기 위하여 경쟁하기도 한다. 그러나 CPU는 어떤 한 시점에서 어느 하나의
프로세스만 실행시킬 수 있기 때문에 다른 프로세스들은 모두 CPU의 할당을 기다리게 된다. 특히 CPU
스케줄링 정책을 정할 때는 시스템과 사용자의 두 가지 측면에서 목적을 고려하여 스케줄링 한다.
스케줄링의 성능 기준
특정 상황에 맞는 스케줄링 알고리즘을 선택하려면 다양한 알고리즘의 특성을 고려해 가장 적은 실행
시간을 남긴 프로세스를 먼저 실행시켜 모든 프로세스의 평균대기 시간을 최소화하도록 스케줄링
해야 한다.
˙ CPU 이용률 : 가능한 CPU를 최대한 이용할 수 있어야 한다.
˙ 처리율 : 단위 시간당 완료된 프로세스의 개수를 말한다.
˙ 반환 시간 : 작업 제출 시간으로부터 완료 시간까지를 반환 시간이라 한다.
˙ 대기 시간 : 프로세스가 준비 큐에서 대기하는 시간을 말한다.
˙ 응답 시간 : 대화식 시스템에서는 터미널을 통해 입력시키고, 그 반응이 나올 때까지의 시간을 말한다.
'it관련' 카테고리의 다른 글
교착 상태의 발생 조건 (0) | 2017.05.09 |
---|---|
주기억 장치 관리 기법 (0) | 2017.05.09 |
동기화란? (0) | 2017.05.08 |
자바에서 말하는 객체지향에서의 객체뜻 (0) | 2017.05.08 |
컴퓨터 그래픽카드에 대한 오해와 답변 (0) | 2017.05.08 |