디스크 스케줄링 (Disk Scheduling)

Woosung Kim·2022년 2월 7일
0

하드디스크 구조

섹터를 여러 개 묶은 것을 블록(block)이라고 한다.

하드디스크는 블록 단위로 사용한다. (pool of free blocks)

블록할당의 방법

연속 할당

하드 디스크에 block들이 나열되어 있는데 여기에 연속된 순서대로 파일을 저장하는 것

  • 순차 접근: 순차적으로 읽을 수 있음
  • 직접 접근: 특정 부분을 직접 읽을 수 있음

→ But 파일이 할당되고 지워지는 과정 속에 빈공간(hole)이 생겨 외부단편화 문제 발생

연결 할당

파일을 linked list의 형태로 저장을 하는 것

외부단편화를 없앨 수 있음
포인터로 연결하였기 때문에 순서대로 읽는것만 가능하고 직접 접근이 불가능하며 속도 저하 문제가 생긴다.

색인 할당

파일 당 할당된 포인터를 저장하는 인덱스 block을 사용하여 파일을 할당하는 방법

데이터를 랜덤한 블록 번호에 할당한 후 블록번호를 하나의 블록에 따로 저장

순차접근과 직접접근이 가능하며 외부 단편화가 일어나지 않는다. 그러나 인덱스 블록에 대한 메모리 손실이 발생한다.

디스크 스케줄링

FCFS (First Come First Served)

큐에 가장 먼저 들어온 요청이 온 순서대로 서비스
장점: 다른 기법보다 단순, 공평하게 요청처리
단점: 비용이 많이 발생되며 비효율적임

SSTF(Shortest Seek Time First)

현재 헤드에서 가장 가까운 트랙의 요청 먼저 처리
장점: Seek Time이 적다 처리량이 극대화됨
단점: 안쪽 및 바깥쪽에서 starvation이 발생할 수 있음, 응답시간 편차도 존재

SCAN

헤드가 지속적으로 디스크를 앞뒤로 검사

장점: 기아현상을 없애고 응답시간편차를 줄임
단점: 양쪽 끝 트랙 가운데 위치한 트랙보다 대기 시간이 길어짐

C-SCAN

헤드가 한쪽 방향으로만 움직이고 반대방향으로 돌아갈 때는 서비스하지 않고 이동만 하는 방식

장점: 처음 위치로 되돌아갈 때는 데이터를 읽지 않으므로 더 빠른 속도로 움직일 수 있음
단점: 처음부터 끝까지 하니까 비효율적임

LOOK

비효율적인 움직임을 없애기 위해 존재하는 실린더의 최소와 최대 범위만 움직임

장점: 불필요한 이동시간 제거

단점: 가야되는지 말아야되는지 판단 -> 오버헤드

profile
개발하는 강아지

0개의 댓글