파일 시스템이란?

 

- 컴퓨터에서 파일이나 자료를 쉽게 발견 할 수 있도록, 유지, 관리하는 방법

- 파일의 이름을 정하고 저장 및 검색을 위해 논리적으로 어디에 위치시켜야 하는지에 대한 방법을 구성한 시스템

- 파일을 빠르게 읽기, 쓰기, 삭제 등 기본적인 기능을 원활히 수행하기 위한 목적

- 사용자 영역이 아닌 커널 영역에서 동작

 

 

 

 

 

파일 시스템의 역할

- 파일관리 : 파일 저장, 참조, 공유

- 보조 저장소 관리 : 저장 공간 할당

- 파일 무결성 메커니즘 : 파일이 의도한 정보만 포함하고 있음을 의미

- 접근 방법 : 저장된 데이터에 접근할 수 있는 방법 제공

 

 

 

 

 

파일 시스템 구조

- 메타 영역과 데이터 영역 두가지 영역으로 구분

- 메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등 파일의 정보

- 데이터 영역 : 파일의 데이터

 

→ 윈도우 탐색기를 이용하여 검색할 때 메타 영역을 탐색하면서 파일을 찾음

 

 

 

 

 

파일 시스템 특징

- 사용자가 파일을 생성, 수정, 제거할 수 있도록 함

- 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 함

- 파일 공유를 위해 읽기만 허용, 기록만 허용, 수행만 허용 또는 이들을 여러 형태로 조합한 것 등 여러 종류의 액세스 제어 방법을 제공

- 계층적 디렉터리 구조를 가짐

  → 루트(root) 디렉토리 아래에 각 디렉토리들이 다시 또다른 하부 디렉토리들을 가지는 형태

- 디스크 파티션 별로 파일시스템을 하나씩 둘 수 있음

 

 

 

 

 

파일 시스템 개발 목적

- HDD와 메인 메모리 속도차 줄이기

- 파일 관리 용이

- HDD의 막대한 용량을 효율적으로 이용

 

 

 

 

 

주요 파일 시스템

파일을 보관하고 검색하는 기능에 있어서는 차이점이 없지만, 운영체제별로 지원하는 파일 시스템의 종류가 다름

 

Windows : FAT(FAT12/16/32,exFAT), NTFS

 

* FAT (File Allocation Table)

   - 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용하는 방식

   - 상대적으로 간단한 파일 시스템. 성능이 상대적으로 다른 파일 시스템보다 좋지 않음

 

* FAT32

   - 오래되고 많이 사용되는 파일 시스템

   - 안정성이 좋고, 다양한 OS 및 기기에 대한 호환성이 좋음

 

* NTFS (New Technology File System)

   - FAT32의 약점을 보완하기 위해 개발된 파일 시스템

   - 윈도우에서는 최적화되어 있으나 Apple의 Mac OS, Google의 Android, Linux와 같은 기기에서 사용에 제한

 

 

 

Linux : ext(ext2/3/4)

 

* ext (extended file system, 파일 확장 시스템)

   - 리눅스용 파일 시스템 가운데 하나로, 오늘날 많은 리눅스 배포판에서 주 파일 시스템으로 쓰임

 

 

 

Mac OS : HFS, HFS+

 

* HFS (Hierarchical File System)

   - 애플이 Mac OS를 구동하는 컴퓨터 시스템에 사용할 목적으로 개발한 파일 시스템

 

 

'CS > 운영체제' 카테고리의 다른 글

페이지 교체 알고리즘  (0) 2022.07.30
프로세스 vs 스레드  (0) 2022.07.16
페이징(Paging) & 세그멘테이션(Segmentation)  (0) 2022.06.18
세마포어(Semaphore)와 뮤텍스(Mutex)  (0) 2022.06.18
CPU 스케줄링  (0) 2022.06.11

+ Recent posts