디스크 스케쥴링도 다뤄볼만한 주제이다.
CPU와 메모리 사이에서 메모리에 어떤 프로그램 일부를 올릴 것인가에 따라서 성능이 좌지 우지 되는 것처럼 디스크도 어떤 방식으로 검색하는 것이 성능이 좋을지에 대해서는 생각해볼만하다.
디스크 내에 정보가 저장되어 있는 구역을 섹터라고 하는데, 이 섹터를 헤드라는 것이 움직이면서 데이터를 찾아다닌다. 저장된 위치는 고정이기때문에 그 위치를 찾아서 섹터가 움직이는 것이다. 우리가 윈도우 탐색기에서 파일을 보고 폴더를 들어가보면 파일들이 여러개 있을 것이다. 우리가 윈도우가 제공해주는 아주 편리한 기능을 보는 것이다. 파일을 파일로 보고 어떤 특정 폴더에 저장되어 있다고 보여진다. 좀더 들여다보면 그 파일은 하드디스크에 저장이 되어 있는데, 물리적으로는 많은 조각으로 분리되어 이곳저곳에 저장되어 있다. 그리고 베드 섹터라는 말도 있었고, 그것은 그 부분의 위치에 저장할 수 없게 물리적 일부 고장이 난 것이다. 가끔 음악을 듣다가 판이 튀는 경우가 있는데, 그런식이다. 그 일부가 고장났다고 해서 하드디스크를 못쓰는게 아니다. 정상적인 공간에 쓰게 된다.
가끔 디스크 정리하면 빠를 수 있었던 것은 물리적으로 분산되어 있는 조각들을 모아서 파일의 접근성을좋게 해준다. 헤드가 여러 곳의 섹터를 오가며 데이터를 찾지 않고 한군데에서 가져오면 빠르기 때문이다.
과거 하드디스크가 전부인 당시는 그래서 가끔 윈도우에서 조각모음을 해줬던 것이다. 지금은 그 광경을 보기는 어렵다. 이는 SSD의 등장때문이다.
그래서 하드 디스크 속도라는 것은 원하는 데이터를 찾고 전송하는 시간이다. 데이터가 있는 해당 디스크내에서 섹터를 찾고, 섹터가 돌아가면서 해당 데이터를 찾고, 그 데이터를 전송해준다. 이 시간을 줄이는 것이 관건이다. 이를 디스크 스케쥴링이라하며 밀려 있는 요청들을 어떤 순서로 처리할 것인가 그것에 대한 정책의 이야기이다. 어떤 요청부터 해줄 것인가 대표적으로 처음 요청한 온 것을 먼저 처리해준다. 검색 시간이 짧은 것들 먼저 할 수도 있다.
이에 따른 속도 개선을 위한 연구는 많은 세월동안 이뤄졌다. 지금도 모든 시스템이 SSD로 전환될 수 없기에 여전히 연구는 필요하지만, 사실 부질 없다. 대세는 SSD로 전환되고 있어서 이 검색 속도보다 중요한 것은 패러다임의 전환을 통한 혁신이였을 것이다.
책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다.
https://wikidocs.net/22302
'쉽게 풀어본 IT 기술 ' 카테고리의 다른 글
컴퓨터에서 인터럽트란? (0) | 2018.08.31 |
---|---|
디스크의 확장 RAID (0) | 2018.08.30 |
컴퓨터 내 디스크란 (0) | 2018.08.30 |