ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드디스크 구조2
    파일처리 2020. 4. 17. 20:23
    728x90

    지난 번에는 하드디스크의 기본적인 장치 구조에 대해 알아봤어요

    이번에는 하드디스크의 구체적인 장치와 동작방식에 대해 알아볼거에요

     

    Sector

    트랙을 구성하는 최소 단위 = 가장 작은 저장 단위 = addressable unit on disk

    하나의 섹터에 하나의 레코드만 저장 = 속도가 향상

    하나의 섹터에 여러 데이터를 우겨넣음 = 메모리 save

    Track

    데이터가 저장되는 길.

    트랙은 섹터로 구성되며 섹터에 데이터가 저장되고, 그 섹터가 쭉 나열되어 있는 것이 트랙

    Cylinder

    Sector 와 Track 은 물리적으로 실존하는 존재이지만 Cylinder 는 논리적인 단위에요.

    트랙 안쪽부터 1번, 2번 ... 번호를 매긴다고 하면 각 Platter 의 n번 Track 의 집합을 Cylinder 라고 해요

    실린더를 이해하는건 굉장히 중요한데 이게 왜 중요한지는 잠시 뒤에 설명할게요 (지금 설명할 수 없어요 Seek time 개념이 필요해요 ㅠㅠ)

     

    저장용량 계산하기

    섹터 저장 용량 : 512bytes

    트랙당 섹터 수 : 63개

    실린더의 트랙 수 (= Platter 갯수) : 16

    Cylinder 갯수 ( = Track 갯수) : 4092

     

    하드디스크 총 용량 = 512 * 63 * 4092 * 16 = 2,111,864,832 bytes

     

    예제

    레코드 1개에 256bytes 인 데이터가 있다고 하자. 이러한 데이터 50000개를 저장하려면 몇 개의 cylinder 가 필요한가? (하드디스크 스펙은 위에서 구한 스펙과 같다)

     

    필요한 실린더 수 = ( 데이터 총 용량 ) / ( 실린더 용량 ) = ( 256 * 50000 ) / ( 512 * 63 * 16 ) = 24.8 cylinders

    보충 자료

    Gap

    섹터를 나눌 때 약간의 공간의 낭비가 있다고 해요 그런 부분을 Gap 이라고 합니다.

    Cluster

    클러스터 또한 논리적인 단위에요 연속된 Sector 를 Cluster 라고 불러요.

    1개 트랙이 63개의 섹터로 이루어졌을 때 크기가 63인 클러스터는 트랙 그 자체가 되는거에요

    섹터가 가장 작은 저장 단위였다면 클러스터는 파일에 할당하는 최소 단위에요.

    즉 아무리 작은 파일이더라도 1개의 클러스터 단위로 저장되는거죠

     

    FAT (File Allocation Table)

    FAT

    파일은 클러스터 단위로 저장되지만 분명 저장의 단위는 섹터에요.

    결국 논리적인 단위인 클러스터를 관리하기 위한 테이블을 FAT 라고 불러요

    왼쪽 테이블은 특정 파일이 어떤 클러스터에 저장되어 있는지 저장되어 있고, FAT 에는 특정 클러스터가 어느 섹터인지 저장되어 있어요

    Extents

    Extents

    하나의 파일을 표현하기 위해 사용된 서로 인접한 클러스터를 말해요

    잘 이해가 안되죠?

    예를 들어 1기가 짜리 영화를 하드디스크에 저장한다고 해봅시다. 왼쪽그림처럼 1개의 Extents 에 모두 저장되는게 가장 이상적인 구조에요 연속된 Cluster 에 저장되면 조회가 빠르니까요

    반면에 오른쪽 그림은 그렇게 좋지 못한 상태에요. 4개의 Extents 로 하나의 파일을 구성한거죠. 서로 불연속한 클러스터에 저장됐기에 이 영화를 보려면 헤드가 왔다갔다 해야하기 때문에 느려요 (이 때 걸리는 시간을 Seek time 이라고해요)

     

    Fragmentation

    Fragmentation

    하드디스크를 처음 사서 쓰면 왼쪽 그림처럼 데이터가 좌측부터 착착 쌓이면서 저장될거에요.

    그런데 쓰다보면 파일을 지우기도하잖아요 그럴 때 오른쪽 사진처럼 디스크 중간의 파일이 삭제되는 경우도 당연히 있겠죠?

    그렇게 하드디스크를 오래쓰다보면 빈공간이 띄엄띄엄 있게 돼서 결국 어떤 파일을 저장하든 여러 Extents 를 쓸 수 밖에 없는 상황이 와요

    이런 현상을 단편화(Fragmentation)이라고 해요. 윈도우 메뉴 중에 디스크 조각모음 있죠? 이게 단편화를 없애고, 파일들을 디스크 상의 한쪽으로 몰아 넣는 작업을 해주는거에요

     

    Interleaving Sector

    Interleaving Sector

    이건 옛날 얘기라 몰라도 돼요

    연속적으로 읽어야하는 상황에서 헤드가 데이터를 읽는 속도보다 Spindle 이 빠르게 회전하면 섹터를 지나쳐버릴수도 있다는 문제가 있었기에 일부러 섹터를 건너 띄며 배정했었다고 해요. 지금은 이렇게 하지 않는답니다.

     

     

    Seek time 까지 설명하면서 왜 실린더가 중요한지 설명하려했는데 글이 너무 길어져서 한 번 끊었다 갈게요 다음에 봬요~

    '파일처리' 카테고리의 다른 글

    파일이란?  (0) 2020.05.24
    하드디스크 구조(3) - 비용  (0) 2020.05.17
    SSD : 플래시메모리(Flash memory)  (0) 2020.04.21
    하드디스크 구조  (0) 2020.04.17
    파일처리 기본  (0) 2020.04.17

    댓글

Designed by Tistory.