운영체제의 스케줄링 기법 중 가장 기초적인 스케줄링 기법이다.
FCFS(First-Come First-Served)로 준비 큐에 먼저 도착한 프로세스를 먼저 서비스하는 방법이다.
예를 들어 프로세스가 A, B, C 순으로생성되면 준비 큐에 A, B, C 순서로 들어오게 되고 가장 먼저 준비 큐에 도착한 프로세스 A에게 CPU를 배정해 실행되도록 한다. 그 동안 프로세스 B와 C는 프로세스 A가 종료될 때까지 준비큐에서 기다린다. 프로세스 A가 종료되면 그다음 큐에 들어온 프로세스 B가 실행된다.
프로세스 |
CPU 처리 시간 |
A |
30ms |
B |
10ms |
C |
2ms |
위의 표와 같은 처리 시간이 걸린다고 할 때 FCFS 스케줄링기법을 이용한다면 프로세스 A의 대기시간은 0ms, 프로세스 B는 30ms, 프로세스 C는 2ms 의 대기시간이 걸린다. 따라서 평균 대기 시간은 (0+30+2)/3 = 약 10ms이다.
하지만 프로세스의 실행 순서가 C, B, A순이라면 평균 대기시간은 ( 0 + 2 + 10)/3 = 4ms이다.
따라서 FCFS 스케줄링은 프로세스의 실행 순서에 따라 평균 대기시간의 차이가 크다.
'이론 > 운영체제' 카테고리의 다른 글
우선순위 스케줄링 (0) | 2015.10.06 |
---|---|
라운드 로빈(Round Robin) 스케줄링 (0) | 2015.10.06 |
스레싱(Thrashing)이란 (0) | 2015.10.01 |
함수호출규약 (0) | 2015.09.08 |