개발자꿈나무

디스크 스케줄링 본문

CS/운영체제론

디스크 스케줄링

망재이 2024. 1. 29. 17:26
탐색시간(Seek Time) 최적화 기법 - 트랙을 찾는 데 걸리는 시간

 

  • FCFS(First Come First Service) 스케줄링
    - 가장 간단한 형태로, 먼저 도착한 요청이 우선적으로 서비스 받음
    - 근본적인 공평성이 보장되고 프로그래밍이 편리
    - 헤드 이동거리에 비해 전체적인 처리율이 낮음
    - 현재 헤드의 위치가 트랙 50에 있고 대기큐에 105, 180, 40, 120, 10, 125, 65, 70의 순서로 트랙을 요청한다고 할 때

 

  • SSTF(Shortest Seek Time First) 스케줄링
    - 탐색거리가 가장 짧은 요청이 먼저 서비스를 받는 기법으로 현재 헤드 위치에서 최소의 탐색시간을 요하는 디스크 요청을 먼저 처리
    - 안쪽이나 바깥쪽의 트랙이 가운데 있는 트랙보다 훨씬 서비스를 덜 받는 기아현상이 발생할 수 있음
    - FCFS보다 처리량이 많고 평균 응답시간이 짧으나 응답시간의 편차가 발생
    - 일괄처리 시스템이 유용하고 응답시간의 편차가 크기 때문에 대화형 시스템에는 부적합
    - 현재 헤드의 위치가 트랙 50에 있고 대기큐에 105, 180, 40, 120, 10, 125, 65, 70의 순서로 트랙을 요청한다고 할 때

 

  • SCAN 스케줄링 (엘리베이터 알고리즘)
    - 요청 큐의 동적 특성을 반영한 것으로 입출력 헤드가 디스크의 한 끝에서 다른 끝으로, 또한 다른 한쪽 끝에 도달했을 때는 역방향으로 이동하면서 요청된 트랙에 대한 처리를 해나감
    - 헤드는 디스크의 한 끝과 다른 끝 사이를 계속해서 왕복
    - SSTF에서 발생하는 차별대우를 많이 없애고 낮은 편차를 가지므로 대화형 작업에 적합
    - 현재 헤드의 위치가 트랙 50에 있고 대기큐에 105, 180, 40, 120, 10, 125, 65, 70의 순서로 트랙을 요청한다고 할 때

 

  • C-SCAN(Circular-SCAN) 스케줄링
    - SCAN에서의 불공평한 대기시간을 좀 더 균등하게 하려 변형을 가한 스케줄링
    - 한쪽 방향으로 헤드를 이동해 가면서 요청을 처리하지만 한쪽 끝에 도착하면 다시 처음부터 처리
    - 헤드는 항상 바깥쪽 실린더에서 안쪽 실린더로 이동하면서 가장 짧은 탐색 시간을 갖는 요청을 서비스
    - 큐 내의 트랙을 처리하고 있는 도중 새롭게 요청된 트랙은 다음 번 이동 때 처리
    - 현재 헤드의 위치가 트랙 50에 있고 대기큐에 105, 180, 40, 120, 10, 125, 65, 70의 순서로 트랙을 요청한다고 할 때

 

  • LOOK 스케줄링
    - SCAN이나 C-SCAN은 헤드를 디스크의 끝에서 끝으로 이동한다는 원리지만 LOOK은 끝에서 끝으로 이동하는 것이 아니라 각 방향으로 요청에 따르는 거리만큼만 이동하고, 현재 방향에서 더 이상의 요청이 없다면 헤드의 이동 방향이 바뀌는 방식을 이용
    - SCAN은 LOOK, C-SCAN은 C-LOOK이라고 함
    - 현재 헤드의 위치가 트랙 50에 있고 대기큐에 105, 180, 40, 120, 10, 125, 65, 70의 순서로 트랙을 요청한다고 할 때

C-LOOK 스케줄링

 

 

 

 

회전지연시간 (Rotational Delay Time) 최적화 기법 - 섹터를 찾는 데 걸리는 시간

 

  • 에션바흐 기법
    - 헤드는 C-SCAN처럼 움직이는데 예외로 모든 실린더는 그 실린더에 요청과 상관없이 전체 트랙이 한 바퀴 회전할 동안에 서비스

  • SLTF 스케줄링 (섹터 큐잉 : Sector Queueing)
    - 여러 섹터에 대한 많은 요구들 중 가장 짧은 회전 지연시간을 갖는 요청에게 먼저 서비스
    - 고정헤드 디스크, 자기 드럼을 위한 스케줄링 기법
728x90

'CS > 운영체제론' 카테고리의 다른 글

미들웨어  (0) 2024.03.14
파일 시스템  (0) 2024.01.29
가상 메모리  (0) 2024.01.28
메모리 관리  (0) 2024.01.28
CPU 스케줄링  (2) 2024.01.27