스케줄링 알고리즘은 크게 선점형 알고리즘과, 비선점형 알고리즘으로 나뉜다.
시분할 시스템을 고려해 만들어진 알고리즘으로, 어떤 프로세스가 CPU를 할당받아 실행 중이라도
운영체제가 CPU를 강제로 빼앗을 수 있다.
프로세스가 CPU를 할당받으면 작업이 끝날 때 까지 CPU를 점유하기 때문에
효율이 떨어져 지금은 거의 사용되지 않는다.
CPU 사용률
전체 시스템 동작 시간 중 CPU가 사용된 시간을 측정하는 방법
처리량
시스템이 정상적으로 작동한다면 일정 시간 후 작업이 끝난다.
처리량은 단위 시간당 작업을 마친 프로세스의 수로, 이 수치가 클수록 좋은 알고리즘이다.
대기 시간
작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간
응답 시간
프로세스 시작 후 첫 번째 출력 또는 반응이 나올 때 까지 걸리는 시간
반환 시간
프로세스 가 생성된 후 종료되어 사용하던 자원을 모두 반환하는 데까지 걸리는 시간
CPU 알고리즘의 효율성을 평가 할 때 대기, 응답, 반환 시간을 주로 계산한다.
스케줄링 알고리즘의 성능을 비교할 때는 주로 평균 대기 시간을 본다.
First Come First Served 선입 선출 스케줄링
준비 큐에 도착한 순서대로 CPU를 할당하는 비선점형 방식이다.