티스토리 뷰
### HDD Scheduling ###
< Objective of HDD scheduling >
: Minimize 1.transfer time(전송 시간) 2.seek time(탐색 시간) 3.rotation time(회전 지연 시간)
: 공정성(fairness), 적시성(timeliness) 및 최적화(optimization)
< Scheduling procedures >
: process가 drive로 또는 drive에서 i/o를 필요로 할 때마다 os에 대한 system 호출
: 원하는 drive와 controller가 사용가능한 경우 요청 => 즉시 service요청 할 수 있다.
: drive or controller가 사용중인 경우 새로운 service요청
( 해당 drive에 대한 보류중인 요청 queue에 배치된다.)
: device queue에 대기중인 여러 요청이 있다.
: process가 HDD에 i/o request를 던지게 되면 os에 대해서 system call을 한다.
=> 만약 request를 전달하는 시점에 hard drive랑 controller가 idle(놀고있는)상황 이면 request가 바로 처리가 된다.
but 일하는 상황이면 이 request는 drive안에 할당된 queue안에 들어가서 대기를 한다.
process가 여러개가 돌고 있기 때문에 drive queue안에 여러 process로부터 들어온 request들이 있다.
그러면 이 device controller가 drive queue에 대기하고 있는 request의 sequence를 보고 sector접근 순서를 조정해서
disk 작업 성능을 향상시킬 수 있다. => hard disk algorithm을 보안할 수 있는 것이다.
< FCFS scheduling >
: HDD scheduling의 가장 간단한 형태이다.
: 본질적으로 공정하지만 일반적으로 가장 빠른 service는 아니다
< SCAN scheduling >
: head의 이동 거리를 생각을 해서 가까운 지점의 것을 처리하고 먼지점으로 이동해서 처리한다.
: 헤드는 디스크의 한쪽 끝에서 시작하여 다른 쪽 끝으로 이동하여 요청을 하나씩 처리하고 다른 쪽 끝에 도달합니다
=> 한쪽 방향움직이고 다른 방향 움직이는 형식(지그제그형식)
: head의 이동거리가 짧아졌다
< Circular-SCAN(C-SCAN) scheduling >
: SCAN의 변형으로 더 균일한 대기시간을 제공하도록 design되었다.
: head가 반대편 끝에 닿으면 return trip request를 처리하지 않고 즉시 beginning of the disk로 돌아온다.
'운영체제 > 이론' 카테고리의 다른 글
(79) RAID Structure 2 (0) | 2020.10.13 |
---|---|
(78) RAID Structure 1 (0) | 2020.10.13 |
(76) Mass Storage Structure (0) | 2020.10.11 |
(75) Thrashing 줄이는 방법 (0) | 2020.10.10 |
(74) Thrashing (0) | 2020.10.10 |