시스템

Disk random and sequential access

천천히올라가자 2021. 4. 8. 20:22
반응형

 

Random Access란?

Random access는 운영 체제가 무작위(여기저기)로 블록을 요청하는 것을 의미한다

 

데이터를 읽기 위해 디스크 헤드를 올바른 트랙으로 이동 한 다음 또 다른 데이터를 읽기 위해 회전을 기다려야 하므로 무작이 접근이라고 한다

 

  1. seek-time(arm movement) 올바른 위치에 도달하기 위해 arm을 움직이는 시간
  2. rotational delay (wait for the right angle) 플래터가 트랙의 올바른 위치로 회전
  3. 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는 특정 트랙을 일련의 순서대로 읽는다 즉 섹터를 순차적으로 읽는다는 의미 그리고 플래터 위치를 변경해서 실린더를 읽는다

 

  1. seek to cylinder (arm movement)
  2. rotational delay (wait for the right angle) 플래터가 트랙의 올바른 위치로 회전
  3. transfer time (transfer the actual data) 하드 디스크 블록의 섹터를 전송하고 읽을 수 있는 실제 시간
  4. 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/

 

Understanding I/O: Random vs Sequential

Storage for DBAs: Ever been to one of those sushi restaurants where the food comes round in dishes on a conveyor belt? As each dish travels around the loop you eye it up and, as long as you can mak…

flashdba.com

 

이미지 참조

mamu2830.blogspot.com/2019/10/chs-lba.html

 

파일시스템이란 매우 자세히!

파일시스템에 관련된 정보들(클러스터 블록 차이, CHS LBA, 추상화 구조)에 대해 매우 자세하게 설명한 포스트입니다!

mamu2830.blogspot.com

 

반응형