Disk Scheduling (디스크 스케줄링)

2024. 2. 5. 23:01·CS/OS
728x90
반응형

디스크 구조

https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/10_MassStorage.html

 

Taccess (디스크 접근시간) = Tseek (탐색 시간) + Trotation (회전 지연시간) + Ttransfer(전송 시간)

disk queue : 디스크에 오는 요청을 저장해두는 queue

 

> 디스크 스케줄링 알고리즘을 이용하여 시간을 감소시킴

 


Disk Scheduling Algorithm

FCFS ( First Come First Served ) 

disk queue에 요청이 들어온 순서대로 처리

https://www.geeksforgeeks.org/difference-between-fcfs-and-c-scan-disk-scheduling-algorithm/

장점 : 공평하게 요청을 처리할 수 있음, 단순한 알고리즘

단점 : 비효율적임 > 헤드가 움직이는 거리가 매우 커짐

 

SSTF ( Shortest Seek Time First )

탐색 시간이 가장 짧은 것을 선택함

 

https://www.geeksforgeeks.org/program-for-sstf-disk-scheduling-algorithm/

 

장점 : Seek Time이 적음, 처리량을 극대화할 수 있음

단점 : starvation(기아) 발생,, 최적의 알고리즘은 아님

 

▶ starvation (기아) 발생

disk queue에는 지속적으로 새로운 프로세스의 요청이 들어옴 → 헤드와 멀리 떨어져 있는 실런더는 끝내 수행하지 못하는 현상

 

SCAN (엘리베이터 기법)

지속적으로 디스크를 앞뒤로 검사하는 방법 > 진행방향에 있는 요청을 처리한 후 다시 반대 방향으로 진행하며 요청 처리

https://www.geeksforgeeks.org/scan-elevator-disk-scheduling-algorithms/

장점 : 기아 발생 가능성 제거, 응답 시간 편차 줄임

단점 : 양쪽 끝 트랙의 대기시간이 길어짐

C-Scan

Circular Scan : 한 방향으로 계속 움직이는 SCAN 방식
0부터 끝까지 처리한 후 다시 0으로 읽지 않고 빠르게 돌아와서 도는 방식

https://www.geeksforgeeks.org/c-scan-disk-scheduling-algorithm/

 

장점 : SCAN보다 시간 균등성이 좋음

단점 : 처리할 요청이 없어도 헤드가 끝까지 이동하는 것이 비효율적

* 중간에 들어오는 요청을 처리하지 않고 다시 0으로 돌아가서 돌 때 요청한것을 전부 처리함

 

Look 

실린더의 최소와 최대 범위에서만 움직이는 scan 알고리즘

https://www.geeksforgeeks.org/disk-scheduling-algorithms/?ref=gcse

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

단점 : 범위를 알기 위해 미리 큐를 검사 > 오버헤드 발생

 

C-Look

실린더의 최소와 최대 범위에서만 움직이는 C-Scan 알고리즘

https://www.geeksforgeeks.org/disk-scheduling-algorithms/?ref=gcse

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

단점 : 범위를 알기 위해 미리 큐를 검사 > 오버헤드 발생

 

RSS ( Random Scheduling )

스케줄링이 무작위 처리 시간, 무작위 마감일, 무작위 가중치 등 무작위 속성을 포함하는 경우에 사용됨

 

N-Step Scan

N개의 버퍼가 생성되어, 버퍼가 가득 차면 다음 요청 버퍼로 전송됨

장점 : 응답 시간의 편차가 적음, 기아 현상 방지 가능

 

SLTF ( Shortest Latency Time First )

실린더 내의 트랙에 대한 요청을 검사한 후 회전 지연 시간이 가장 짧은 요청부터 처리

 

 

reference

- computer systems (Bryant, Randal E.)

- https://www.geeksforgeeks.org/disk-scheduling-algorithms/?ref=gcse

728x90
반응형

'CS > OS' 카테고리의 다른 글

운영 모드  (0) 2025.01.12
CPU Scheduling  (2) 2024.08.12
Limited Direct Execution  (0) 2024.04.28
Process  (5) 2024.04.28
Data Structures (Process Control Blocks)  (0) 2024.03.10
'CS/OS' 카테고리의 다른 글
  • CPU Scheduling
  • Limited Direct Execution
  • Process
  • Data Structures (Process Control Blocks)
min_zu
min_zu
  • min_zu
    민주제도
    min_zu
  • 전체
    오늘
    어제
    • ._. (176)
      • AI (2)
        • DeepLearning (2)
        • CS231n (0)
      • Web (2)
        • ReactJS (0)
      • CS (83)
        • OS (7)
        • Data Structure (23)
        • Computer Architecture (8)
        • Computer Network (20)
        • Algorithm (25)
      • Linux (3)
        • KaliLinux (0)
        • Docker (1)
      • Hacking (83)
        • Write Up (25)
        • Pwnable (13)
        • Reversing (2)
        • Cryptography (12)
        • Web Hacking (4)
        • Window (6)
        • Network (7)
        • Web3 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WinAFL
    ComputerArchitecture
    Tree
    DeepLearning
    Sort
    Mac
    AI
    DataStructure
    Graph
    Web
    UTM
    Search
    OS
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
min_zu
Disk Scheduling (디스크 스케줄링)
상단으로

티스토리툴바