본문 바로가기

TIL

[TIL]20220609

CS 스터디

챕터36: 파일 시스템과 블록

챕터37: 파일을 휴지통에 넣을 때 일어나는 일 

파일 시스템

  • 하드 디스크나 CD/DVD, 이동식 메모리(USB) 자치 같은 물리적 저장 매체를 파일과 폴더의 계층 구조처럼 보이게 하는 부분
    • EX) C:/image/person.jpg
    • C드라이브 아래 image 폴더 안의 person.jpg 사진 파일
  • 폴더(디렉토리)는 조직화된 구조를 보여주고 파일은 문서, 사진, 음악 등 실질적인 내용을 담고 있다!
  • 컴퓨터가 보유한 모든 정보는 파일 시스템에 저장되고, 사용자는 파일 시스템을 통해 정보에 접근한다.

보조 기억 장치 파일 시스템

  • 예를 들어 우리는 컴퓨터를 구매할 때 SSD사서 C드라이브로 할당한 다음 윈도우 구동 전용(운영 체제)으로 사용하고 HDD를 사서 D드라이브로 할당한 다음 여러가지 삭제되면 안되는 파일을 보관한다.
  • 우리의 D드라이브가 500 기가 바이트라고 가정하면 5천억 바이트의 데이터를 담을 수 있다
  • 드라이브 자체는 500기가 바이트를 1000바이트 덩어리(블록) 5억개로 표현한다
    • 500G = 1000 * 500,000,000byte
  • 만약 1500 바이트의 파일 저장한다면 1000바이트 짜리 블록 2개를 사용하고 남는 500바이트는 버린다.
    • 이렇게 할 수 있는 이유는 HDD가 사기 때문
  • 실제로 디스크 안에서 파일에 대한 블록들이 물리적으로 연결되어 있지 않기 때문에 폴더 엔트리(파일을 구성하는 자료구조)는 실제 파일의 물리적인 위치(디스크에서 어떤 블록에 있는지)를 알려준다!
  • 아래처럼 연속적인 블록에 할당하는 방법도 존재한다!

파일 생성하기

  • 프로그램에서 파일을 생성할 때, 파일 시스템에 요청해서 적절한 폴더에 새로운 엔트리를 만들어서 크기를 0으로 표시한다.
  • 만약 파일에 3100바이트의 파일을 쓴다고 가정하면 미사용 목록에서 파일이 모두 들어갈 수 있는 4개의 블록(4000 바이트)를 찾아 데이터를 복사한 다음 사용 목록으로 만들고 파일 엔트리에 블록의 위치를 넣어준다

휴지통

  • 파일이 삭제될 때는 파일의 블록 내의 내용이 지워진 후 미사용 목록으로 되돌아가고 파일 엔트리가 삭제될 것 같지만 사실 휴지통 자체도 또 다른 파일이기 때문에 삭제될 파일의 파일 블록들이 휴지통에 복사 된 후 파일 엔트리가 삭제된다.
  • 파일 블록과 내용이 그대로 있기 때문에 휴지통에서 파일을 복원할 때는 위의 위의 과정을 정반대로 수행한다!
  • 만약 휴지통을 비울 때(휴지통에서도 파일을 날릴 때)는 휴지통 파일 안에 있는 파일 엔트리 자체가 삭제되고 해당 블록들의 내용이 사라진 다음 미사용 목록으로 돌아갈 것 같지만 사실 블록 안의 실제 내용은 지워지지 않고 미사용 목록으로만 돌아간다!
    • 이러한 기능으로 컴퓨터의 시점을 돌릴 수 있다!
  • 만약 새로운 파일이 생성되면 미사용 목록에 있는 삭제된 파일의 블록들이 덮여씌워진다

 

'TIL' 카테고리의 다른 글

[TIL]20220611  (0) 2022.06.11
[TIL]20220610  (0) 2022.06.10
[TIL]20220608  (0) 2022.06.09
[TIL]20220607  (0) 2022.06.07
[TIL]20220606  (0) 2022.06.06