본문으로 바로가기

[OS] 8. 디스크 관리 (Disk Management)

category CS/Operating System 2019. 4. 22. 17:41

8. 디스크 관리

  1. 디스크 관리
  2. 디스크 스케줄링

 

1. 디스크 관리

디스크에 대한 접근 시간(Access Time) 은 아래와 같이 구분된다

탐색 시간(Seek Time)

  • 디스크 헤드를 해당 실린더 위치로 이동시키는 데 걸리는 시간

회전 지연 시간(Rotational Latency)

  • 디스크가 회전해서 읽고 쓰려는 섹터가 헤드 위치에 도달하기까지 걸리는 시간

전송 시간(Transfer Time)

  • 해당 섹터가 헤드 위치에 도달한 후 데이터를 실제로 섹터에 읽고 쓰는데 소요되는 시간

 

 

2. 디스크 스케줄링

효율적인 디스크 입출력을 위해 여러 섹터들에 대한 입출력 요청이 들어왔을 때, 이들을 어떠한 순서로 처리할 것인지 결정하는 매커니즘이다. 디스크 스케줄링의 가장 중요한 목표는 디스크 헤드의 이동 거리를 줄이는 것이다.

 

2.1. FCFS 스케줄링

디스크에 먼저 들어온 요청을 먼저 처리하는 방식을 말한다.

만약 입출력 요청이 한쪽 끝과 반대쪽 끝에 번갈아 도착한다면 헤드는 디스크를 계속 왕복하며 일을 처리해야 하므로 탐색 시간이 매우 늘어나는 결과를 초래한다.

2.2. SSTF 스케줄링

현재 헤드의 위치로부터 가장 가까운 위치에 있는 요청을 제일 먼저 처리하는 알고리즘을 말한다.

헤드의 이동 거리를 줄여 디스크 입출력의 효율성을 증가시키지만, 기아 현상(Starvation) 을 발생시킬 수 있다. 만약 현재 위치와 가까운 곳에 지속적인 요청이 들어올 경우 헤드와 먼 요청은 무한히 기다려야 하는 문제가 발생할 수 있다.

2.3. SCAN 알고리즘 (= 엘리베이터 스케줄링 알고리즘)

헤드가 디스크 원판의 한쪽 끝에서 다른 쪽 끝으로 이동하며, 그 경로에 존재하는 모든 요청을 처리한다. 즉, 디스크의 어떠한 위치에 요청이 들어오는가와 상관없이 정해진 방향으로 이동하며 요청을 처리하는 방법이다.

FCFS의 비효율성 , SSTF의 비형평성 을 극복한 방법이지만, 가운데 위치가 기다리는 평균 시간이 더 짧다는 문제점을 지니고 있다.

2.4. C-SCAN 알고리즘

SCAN 알고리즘의 문제점을 극복한 방법으로, 다른 쪽 끝에 도달해 방향을 바꾼 후에는 요청을 처리하지 않고 곧바로 출발점으로 다시 이동만 한다. SCAN 보다 헤드의 이동 거리는 조금 길어지지만 탐색 시간의 편차를 해결할 수 있다.

2.5. LOOK / C-LOOK

SCAN 알고리즘은 요청의 존재 여부와 관계 없이 헤드가 무조건 디스크의 끝에서 끝으로 이동하는 반면에, LOOK 은 한쪽 방향으로 이동 중이다가 전방에 더 이상 대기중인 요청이 없으면 이동 방향을 즉시 변경하는 방식이다.

C-LOOK 은 전방에 요청이 없을 때 방향을 바꾼다는 측면에서 LOOK 과 유사하며, 한쪽 방향으로 이동할 때만 요청을 처리한다는 점에서 C-SCAN 과 유사하다.