-
Disk random and sequential access시스템 2021. 4. 8. 20:22반응형
Random Access란?
Random access는 운영 체제가 무작위(여기저기)로 블록을 요청하는 것을 의미한다
데이터를 읽기 위해 디스크 헤드를 올바른 트랙으로 이동 한 다음 또 다른 데이터를 읽기 위해 회전을 기다려야 하므로 무작이 접근이라고 한다
- seek-time(arm movement) 올바른 위치에 도달하기 위해 arm을 움직이는 시간
- rotational delay (wait for the right angle) 플래터가 트랙의 올바른 위치로 회전
- transfer time (transfer the actual data) 하드 디스크 블록의 섹터를 전송하고 읽을 수 있는 실제 시간
디스크 드라이브의 블록에 액세스해야 할 때마다 디스크 액추에이터 암이 헤드를 올바른 트랙 ( 검색 시간(1) )으로 이동 한 다음 디스크 플래터가 올바른 섹터로 회전해야한다 ( 회전 대기 시간(2) )
당연히 얼마나 시간이 걸리느냐는 이전에 헤드가 있던 위치와 플래터에있는 섹터의 위치에 얼마나 가까운지에 따라 달라진다. 헤드 바로 아래에있는 경우 기다릴 필요가 없지만 헤드를 통과 한 경우 많이 걸린다
4 밀리 초가 걸리는 가장 빠른 15k RPM 디스크에서도 마찬가지이다 (분당 15,000 회전 = 초당 250 회전, 즉 1 회전은 1/250 초 또는 4ms임을 의미함)
다음 블록(빨간색의 경우)이 디스크의 다른 위치에있는 경우 검색 시간과 회전 대기 시간에 대해 동일한 패널티가 발생한다. 이러한 유형의 작업을 임의 I / O라고 한다. 그러나 다음 블록이 동일한 트랙(보라색의 경우)에서 이전 블록 바로 뒤에 위치하는 경우 디스크 헤드는 바로 데이터를 만나 대기 시간이 발생하지 않는다 (즉, 대기 시간 없음 ). 물론 이것은 순차 I/O 이다
sequential access
sequential access는 특정 트랙을 일련의 순서대로 읽는다 즉 섹터를 순차적으로 읽는다는 의미 그리고 플래터 위치를 변경해서 실린더를 읽는다
- seek to cylinder (arm movement)
- rotational delay (wait for the right angle) 플래터가 트랙의 올바른 위치로 회전
- transfer time (transfer the actual data) 하드 디스크 블록의 섹터를 전송하고 읽을 수 있는 실제 시간
- 1,2,3 반복
참조
https://www.youtube.com/watch?v=IvVZ7jf8wqw&ab_channel=Prof.Dr.JensDittrich
https://flashdba.com/2013/04/15/understanding-io-random-vs-sequential/
이미지 참조
mamu2830.blogspot.com/2019/10/chs-lba.html
반응형'시스템' 카테고리의 다른 글
개발자도 알면 좋은 DMA(direct memory access) (1) 2021.03.30