CS/운영체제

파일시스템의 이해

:_: 2022. 2. 24. 15:26

 

파일 시스템 

운영체제가 저장메체에 파일을 쓰기 위한 자료구조 또는 알고리즘

 

파일 시스템이 만들어진 이유(블록)

- 0 1 데이터를 어떻게 저장매체이 저장할까?

비트로 관리하기는 오버헤드가 너무

블록 단위로 관리하기로 (보통 4KB)

블록마다 고유 번호를 부여 관리

 

파일 시스템이 만들어진 이유(파일)

- 사용자가 블록 고유 번호를 관리하기 어려움 : 추상적(논리적) 객체 필요 : 파일

- 사용자는 파일단위로 관리 : 파일에는 블록 단위로 관리

 

파일 시스템이 만들어진 이유(저장 방법)

- 저장매체에 효율적으로 파일을 저장하는 방법

  • 가능한 연속적인 공간에 파일을 저장하는 것이 좋음
  • 외부 단편화, 파일 사이즈 변경 문제로 불연속 공간에 파일 저장 기능 지원 필요
    • 블록 체인: 블록을 링크드 리스트로 연결, 끝에 있는 블록을 찾으려면 처음 블록부터 주소를 따라가야
    • 인덱스 블록 기법 : 블록에 대한 위치 정보를 기록해서, 한번에 블록을 찾아 있도록 !

다양한 파일 시스템

  • 윈도우 : FAT, FAT32, NTFS  - 블록위치를 FAT라는 자료 구조에 기록 
  • 리눅스 : ext2, ext3, ext4 - 일종의 인덱스 블록 기법인 incode 방식 사용

 

파일 시스템과 시스템 콜

- 동일한 시스템콜을 사용해서 다양한 파일 시스템 지원 가능토록 구현 ex. read_spec, write_spec

- 파일을 실제 어떻게 저장할지는 다를 있음. 리눅스의 경우 ext4 NTFS, FAT32 파일 시스템 지원

 

inode 방식 파일 시스템

- 파일 시스템 기본 구조 

  • 수퍼 블록 : 파일 시스템 정보
  • 아이노트 블록 : 파일 상세 정보
  • 데이터 블록 : 실제 데이터

1) 수퍼 블록

: 파일 시스템 정보 파티션 정보 포함

 

2) inode 파일

  • 파일 : inode 고유값과 자료구조에 의해 주요 정보 관리
    • '파일 이름: inode' 파일 이름은 inode 번호와 매칭
    • 파일 시스템에서는 inode 기반으로 파일 엑세스
    • inode 기반 메타 데이터(상세정보) 저장

3) inode 구조

- inode 기반 메타 데이터

  : 메타 데이터는 파일 권한, 소유자 정보, 파일 사이즈, 생성시간  시간 관련 정보, 데이터 저장 위치 .

 

가상 파일 시스템 (Virtual File System)

Network 다양한 기기도 동일한 파일 시스템 인터페이스를 통해 관리 가능 

ex. read/write 시스템 사용, 기기별로 read_spec/ write_spec 코드 구현 (운영체제 내부)

리눅스는 마우스, 키보드와 같은 모든 디바이스 관련된 기술도 파일과 같이 다루어짐

모든 자원 대한 추상화 인터페이스로 파일 인터페이스 활용

 

 

제로베이스 컴퓨터 공학 전공자 따라잡기 강의 시청 후 정리한 내용입니다.
728x90