본문 바로가기

운영체제

FileSystem이란?(2)

* 본 내용은 운영체제를 공부하며 추후 복습하기 위해 포스팅하는 게시물입니다.

 

 

디스크로부터 데이터를 read/write 하기위한 시간은 3가지 단계로 분류할 수 있다.

 

1) Seek Time

 - Access Time의 대부분을 차지한다.

 - 디스크의 read/write 헤드가 찾고자하는 데이터가 존재하는 실린더를 찾아가는 과정을 의미한다.

 

2) Rotate Time

 - 디스크의 read/write 헤드가 실린더를 찾은 다음의 과정으로 트랙의 섹터를 찾아가는 과정을 의미한다.

 

3) Transfer Time 

 - 디스크의 헤드가 섹터를 읽은 다음 디스크로부터 메모리로 보내는 시간을 의미한다.

 

디스크를 접근하는 시간의 대부분은 디스크의 read/write 헤드가 실린더(트랜)을 찾아가는 단계에서 소요된다.

대안으로 Seek 시간을 줄이기 위한 다양한 디스크 스케줄링이 존재한다. 그렇다면 어떤 종류의 디스크 스케줄링이 있는지 알아보자

 

디스크 스케줄링 

1) FCFS(First Come First Service)

  • 먼저 들어온 요청부터 처리하는 방식

 

2) SSF(Shortest Seek Time First Scheduling) - 최단탐색시간 우선 스케줄링

  • 현재 헤드의 위치에서 가장 Seek Time 짧은 실린더에 위치한 데이터를 우선 처리하는 방식이다.
  • 디스크의 헤드가 이동하는 거리가 감소하는 장점이 있는 반면 짧은 Seek Time을 우선으로 처리하기 때문에 긴 Seek Time의 요청이 처리되지 않아 Starvation이 발생할 수 있는 단점이 있다.

 

3) SCAN, C-SCAN

  • 엘리베이터를 생각하면 이해하기 쉽다.
  • 디스크의 헤드가 바깥에서 안으로 이동하면서 요청을 처리하는 방식이다.
  • 요청된 실린더의 위치가 가장자리일 경우 요청을 처리하기 위한 Seek Time이 안쪽의 위치보다 상대적으로 길다.
  • 불균형한 Seek Time을 보완한게 C-SCAN으로 바깥에서 안으로 한 방향으로 이동하면서 요청을 처리하여 실린더의 위치에 상관없이 동일한 Seek Time을 갖는다.(바깥에서 안으로 이동할때 요청을 처리하며 안에서 바깥으로 이동할 시 요청이 있음에도 처리하지 않고 이동)

 

4) LOOK, N-LOOK

  • SCAN, C-SCAN의 경우 요청이 디스크의 헤드가 바깥 끝에 없음에도 불구하고 바깥 끝에서 안 끝으로 이동한다.
  • LOOK, N-LOOK은 만약 요청된 실린더의 위치가 가장 바깥이거나 안쪽일경우 디스크의 헤드가 해당 위치까지만 이동하여 불필요한 이동을 없앤다.  즉, 디스크의 헤드 이동범위가 0 ~ 180이며, 10, 25, 61, 151의 섹터 번호로 read/write 요청이 왔다면, 디스크의 헤드는 10 ~ 151까지 이동하며 처리한다. SCAN 알고리즘은 0 ~ 180까지 이동