[컴퓨터 기초] HDD, SSD와 파일시스템

Robert.Yang·2023년 2월 20일
1

컴퓨터 기초

목록 보기
13/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

HDD,SSD와 파일시스템

레지스터는 CPU의 가장 핵심 장치이며 각 요소마다 이름이 존재한다. RAM은 요소마다 일련번호가 붙고 이것을 메모리 주소라고 한다. 그 요소는 용량이 1byte단위로 관리가 된다.

HDD의 논리적 구조

HDD 구조는 아래의 그림처럼 구성되어 있으며 HDD 속도를 말할 때는 HDD의 spindle이 돌아가는 속도로 따진다. 즉 HDD의 Head가 spindle을 돌면서 정보를 읽는다.

HDD를 논리적으로 보았을 때 어떤 개념으로 관리체계를 나누는데 바로 트랙과 섹터로 나눠진다. 섹터쪽에서 우리의 정보를 기술 할 수 있는데 이 기술된 정보를 우리는 Read 혹은 Write를 할 수 있다. 여기서 좀 알아둬야 할것이 있는데 하나의 섹터의 write가 되어있는 상태에서 또 write를 하면 overwrite가 되는데 이 과정을 몇 수십만번 반복하면 이 섹터는 더 이상 사용이 불가능하다. 이런 경우를 Bad Sector라고 한다. 물론 이런것은 OS가 빈공간에서 알아서 write를 해주기 때문에 우리는 크기 신경을 안써도 되지만 이런 증상이 일어날 수 있으니 알아두자. 섹터 하나당 용량은 512byte정도 된다.

조각모음의 의미

섹터 하나당 크기가 512byte라고 했는데 만약 파일 크기가 1MB라고 하고 저장을 한다 했을 때 섹터를 연속적으로 write를 한다면 좋지만 연속적으로 될 수 있는 경우가 있다. 그럴 때 마다 트랙을 옯겨서 워프를 하는데 이 과정이 HDD 물리적으로 디스크가 돌아야 하기 때문에 I/O 성능이 떨어진다. 그런데 조각모음을 하면 연속적으로 정보를 write할 수 있도록 다른 정보를 다른 트랙으로 이사시키는 과정이라고 보면 된다. 하지만 이 조각모음은 옛날에나 사용했고 요즘은 OS가 알아서 해준다.

주 기억장치 공간은 ‘일련번호’로 관리한다.

파일이 저장되는 방법 (파일시스템)

각 OS마다 파일시스템은 다르며, 윈도우 같은 경우에는 NTFS라는 파일시스템을 사용한다. 어느 파일이 몇번 트랙 몇번 섹터 저장된 파일 이름을 표형태로 저장하는데 이것을 file allocation이라고 하고 모든 파일 시스템이 이 표형태를 다 가지고 있다. 그럼 만약에 파일을 삭제했을 경우 어떻게 될까? 0으로 overwrite하는게 아니고 파일명 앞에 ##을 붙이고 deleted라는 컬럼에 체크를 해두는 형태로 진행한다. 그래서 삭제되었던 파일이 복원도 가능한것이다.

또한 알아두어야 할 용어가 있는데 0번 트랙 0번 섹터에 있는 것을 마스터 부트 레코드라고 부른다. 이 마스터 부트 레코드에는 일반 파일정보가 들어가는 것이 아니라 OS의 부트 로더라는 코드가 들어간다. 즉, 마스터 레코드에 정보를 꺼내서 메모리에 적재하면서 메모리등 기타장치들을 체크하는 과정이 있는게 이것을 부팅한다라고 한다.

그리고 포맷이라는 용어가 있는데 디스크를 포맷한다라는 의미는 디스크의 file allocation형식을 바꾸거나 FAT의 데이터를 날린다고 보면 된다.

자세히 보면 빠른 포맷이라고 하면 FAT테이블 데이터를 날려버리는 것이고 느린 포맷은 트랙과 섹터들을 0으로 overwrite하는것으로 보면 된다.

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글