나무 숲

Secondary Storage Structure 본문

Career

Secondary Storage Structure

wood.forest 2016. 6. 8. 21:09

Mass Storage Structure

- Magnetic disk (HDD..) provides bulk of secondary storage of modern computers

* Drive(Disk platters) at 60 to 200 times per second

* Transfer rate(MB/sec) : data flow between drive and computer

* Positioning time (random-access time) : move disk arm to desired cylinder(seek time) and time for desired sector to rotate under the disk head(rotational latency)


- Drive attached to computer via I/O bus

* Busses vary, including EIDE, ATA, SATA, USB, Fibre Channel, SCSI

* host controller in computer uses bus to talk to disk controller built into drive or storage array



Moving head disk mechanism

- read/write head = disk reader

- Platter size 는 성능과 관계있다 => reduce head movement (fast r/w)




Disk Structure

- Disk drives are addressed as large 1-dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer

- 1-dimensional array of logical blocks is mapped into the sectors of the disk sequentially

* Sector 0 is the first sector of the first track on the outermost cylinder

* Mapping 남은 트랙에서 실린더로, 그리고 남은 실린더에서. 바깥에서 안쪽으로



Disk Scheduling

- OS는 h/w를 효과적으로 사용하고자 한다->fast time access & disk bandwidth(=transfer rate)


- Access time has 2 major components

* Seek time : 디스크가 헤드를 움직여 원하는 섹터를 가진 실린더를 찾는 시간

* Rotational latency : 헤드가 있는 위치에 원하는 섹터가 올 때까지 디스크가 도는 시간

= h/w 성능을 업 시켜서 seek time을 줄여보자! 

- seek time은 seek distance와 비슷하다

- disk bandwidth는 전송된 바이트들의 총 개수이다. (서비스에 대한 첫 요청 시간+마지막 전송 시간/총 시간)


- 디스크 I/O 서비스를 위한 여러가지 알고리즘


예시는 모두 98,183,37,122,14,124,65,67로 통일! +head pointer 53


1 FCFS

* total head movement = (98-53)+(183-98)+(183-37)+(122-37)+(122-14)+(124-14)+(124-65)+(67-65) = 640 cylinders* First Come First Serve

* 실린더 간의 큰 점프가 보인다

* 가장 빠른 서비스는 아님

* swing이 커서 액세스 시간이 길어질 것!





2 SSTF

* Short Seek Time First

* 현재 head position으로부터 가장 짧은 seek time을 가진 요청을 찾는다

* SJF 스케줄링 형식 -> 어떤 request들에게 starvation을 발생시킬 수 있다

* total head movement = (65-53)+(67-65)+(67-37)+(37-14)+(98-14)+(122-98)+(124-122)+(183-124)= 236 cylinders




3 SCAN

* disk arm이 디스크 한쪽 끝에서 시작하여 다른 한쪽 끝을 향해 움직이는데, 거기까지 도달할 때까지 요청을 처리한다. head movement가 reverse 되어도 서비스는 계속된다

* elevator algorithm이라고도 불린다

* total head movement = (53-14)+(183-14)= 208 cylinders




4 C-SCAN

* provides a more uniform wait time than SCAN

* 헤드는 한쪽에서 다른 한쪽으로 이동하며 가면서 요청을 처리한다. 한쪽 끝에 도달하면 즉시 디스크의 시작으로 돌아간다. 이 때 아무런 요청도 처리하지 않는다

* 실린더가 원형 리스트인 것처럼 대한다 (Circular SCAN)

* 처음으로 돌아가는 시간이 좀 낭비될 수 있다




5 Look/C-Look

* arm은 양 방향 중 한쪽으로 가장 멀리 있는 요청으로 가고, 도착하면 방향을 즉시 바꿔서 반대 방향 중 가장 멀리 있는 요청으로 온다. (전체를 돌지 않고 범위 끝까지만 간다)* SCAN/C-SCAN의 변형

* 옆 그림은 C-Look이고 Look은 SCAN과 마찬가지로 점프 없이 읽으면서 돌아오는 것을 나타낸다




Selecting a disk scheduling algorithm

- SSTF가 흔하고 자연스럽다

- SCAN/C-SCAN은 perform better for systems that place a heavy load on the disk

- Performance depends on the number and types of requests

- 디스크 서비스를 위한 요청은 file-allocation method에 영향을 받을 수 있다

- 디스크 스케줄링 알고리즘은 운영체제에서 separate module로 사용되어야 하고 필요하다면 다른 알고리즘으로 교체하는 것이 가능하도록 해야 한다

- Either SSTF or LOOK is a reasonable choice for the default algorithm

728x90
반응형

'Career' 카테고리의 다른 글

Thrashing  (0) 2016.06.09
Page Relacement  (0) 2016.06.09
Implementing file system  (0) 2016.06.08
Segmentation  (0) 2016.06.08
Paging  (0) 2016.06.08
Comments