디스크 스케줄링(Disk Scheduling)

Updated:

[참고] Operating System Concepts / 홍릉과학출판사

디스크 스케줄링(Disk Scheduling)

효율적인 스케줄링을 통해 디스크의 접근 시간과 대역폭 상승

  • 디스크 드라이브에 빠른 접근 시간과 높은 전송량 필요

  • 디스크 접근시간 = 탐색 시간(seek time) + 회전 시간(rotation latency)

  • 선입 선처리 스케줄링(FCFS Scheduling)

    가장 간단한 형태인 FCFS(First-Come-First-Served)이다. 이 알고리즘은 본질적으로는 공평하지만 빠른 서비스를 제공하지 않는다.


  • 최소 탐색 시간 우선 스케줄링(SSTF Scheduling)

    SSTF(Short-Seek-Time-First)알고리즘은 Head가 다른 곳으로 이동하기 전 근처에 있는 요구들을 먼저 처리해주고 헤드를 이동한다.


    단점 : 기아(starvation)상태 발생


  • SCAN 스케줄링(SCAN Scheduling)

    Disk의 끝에서 시작하여 다른 끝으로 이동하며 가는 길에 있는 모든 요청을 처리한다.


  • C-SCAN 스케줄링(C-SCAN Scheduling)

    SCAN을 변형시켜 각 요청에 걸리는 시간을 균등하기 위해 만든 알고리즘이다. SCAN과 같이 C-SCAN은 한쪽 방향으로 헤드를 이동해가면서 요청을 처리하고 한쪽 끝에 다다르면 처음 시작했던 자리로 다시 되돌아가서 서비스를 시작한다.


  • LOOK 스케줄링(LOOK Scheduling)

    헤드로 각 방향으로 가다가 그 방향에서 요청이 없으면 즉시 반대로 방향을 바꾸는 알고리즘이다. SCAN과 C-SCAN과 달리 움직이기 전에 요구가 있는지 확인(Look for)하기 때문에 각각 LOOK, C-LOOK 스케줄링이라고 한다.