본문 바로가기

별걸다하는 IT/운영체제 OS

[운영체제]디스크 스케줄링 FCFS(First Come First Served) 선입선처리 스케줄링

[운영체제 완전 정복 목차]

디스크 스케줄링 FCFS (First Come First Served)

디스크 스케줄링에서 가장 처음 나온 것이 FCFS, FIFO입니다. 프로세스 스케줄링에서 배웠던 FCFS와 개념은 동일해요.


The simplest form of disk scheduling is of course, the first-come, first-served (FCFS) algorithm

당연히 디스크 스케줄링에서 가장 심플한 방식은 FCFS 알고리즘 입니다.

This algorithm is intrinsically fair, but it generally does not provide the fastest service.

가장 먼저 들어온 것을 먼저 처리하는 방식입니다. 본질적으로 제일 공평한 방식이예요. 하지만 빠른 속도를 제공해주지는 않아요.



queue에 현재 디스크 요청이

98, 183, 37, 122, 14, 124, 65, 67

이 순서대로 들어와 있습니다.


여기서 이 번호는 disk block번호가 아니라 실린더 번호입니다. 

seek time이 실린더 번호의 차이에서 일어나기 때문이예요.


현재 헤드의 위치가 53에 있는데 

98에 갔다가, 183에 갔다가 다시 37 갔다가. 이쪽 갔다가 저쪽 갔다가

여러분이 봐도 당연히 성능이 나쁠 것 같죠?

당연히 움직이는 거리를 최소화 하는 방향으로 가는게 더 효율적일거예요.

그 방식은 다음 포스팅에서 다뤄보고 

이렇게 들어오는 순서대로 처리하는 방식을 FCFS입니다.


디스크 요청이 들어온 순서 : 98, 183, 37, 122, 14, 124, 65, 67

헤드가 이동 순서: 53, 98, 183, 37, 122, 14, 124, 65, 67

이동 거리: 45+85+146+85+108+110+59+2=640


정리

가장 먼저 도착한 요청을 우선적으로 처리. 입출력 요청 대기 큐에 들어온 순서대로 서비스 하는 방법.

장점: 개발이 용이, 공평성 유지(Every request gets a fair chance), 무기한 기다림이 없다.(No indefinite postponement)

단점: 이동 경로가 길어짐, 최적의 seek time을 찾으려 하지 않는다 (Does not try to optimize seek time)