📖파일 시스템
컴퓨터에서 파일이나 자료를 쉽게 발견 할 수 있도록, 유지/관리하는 방법
📖파일 시스템 특징
- 계층적 디렉터리 구조를 가짐
- 커널 영역에서 동작
- 파일 CRUD(Create/Read/Update/Delete) 기능을 원할하게 수행하기 위함
- 디스크 파티션 별로 하나씩 둘 수 있음
📖파일 시스템 역할
- 파일관리 : 파일 저장/참조/공유
- 보조 저장소 관리 : 저장 공간 할당
- 파일 무결성 메커니즘 : 파일이 의도한 정보만 포함하고 있음을 의미
- 접근 방법 : 저장된 데이터에 접근할 수 있는 방법 제공
📖파일 시스템 구조
메타 영역: 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등 파일의 정보가 저장되는 영역(윈도우 탐색기를 이용하여 검색할때 메타 영역에서 탐색하면서 파일을 찾음)데이터 영역: 파일의 데이터가 저장되는 영역
📖파일 시스템에서 파일 접근 방법
접근 방법
파일에 접근하여 데이터를 읽는 것
📎순차 접근(Sequential Access)
입력되는 순서에 따라 접근하는 방법

- 가장 간단한 방법
Read와Write연산이 대부분- 테이프 모델 기반
📎직접 접근(Direct Access)
해당 위치에 다이렉트로 이동해 접근하는 방법

- 특별한 순서없이 빠르게 레코드를 Read, Write 가능
- 어디에 있든 해당 위치로 접근 가능
- 대규모 데이터베이스에 직접 접근이 아주 유용
- 디스크 모델 기반
📎 인덱스 접근(Index Access)
인덱스를 먼저 찾고, 그에 대응하는 포인터로 접근하는 방법
]
- 크기가 큰 파일을 적은 입출력으로 탐색 가능
📖파일 시스템에서의 디렉터리 전체 구조
📎1단계 디렉터리 구조
모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조

- 가장 간단한 구조
- 모든 파일이 같은 디렉터리에 위치 → 유지가 쉬움
- 파일들은 서로 유일한 이름을 가짐(다른 사용자이더라도 같은 이름 사용 불가)
📎2단계 디렉터리 구조
중앙에
Master File Directory가 있고, 그 아래에 사용자 별로 서로 다른User File Directory로 구성된 2계층 구조

- 사용자에게 개별적인 디렉터리 만들어줌 ( ∵ 1단계 디렉터리에서 발생하는 파일명 혼란 예방)
📎트리 디렉터리 구조
하나의
Root Directory와 여러 개의Sub Directory로 구성된 구조

- 2단계 디렉터리 구조에서 확장된 다단계 트리 구조
- 하나의 루트 디렉터리 가짐
- 시스템 내의 모든 파일이 유일한 경로명 가짐
- 1개의 bit를 활용하여 일반 파일(0)인지 디렉터리 파일(1)인지 구분
📎비순환 그래프 디렉터리 구조
하위 파일/디렉터리를 공동으로 사용할 수 있는 것으로,
Cycle을 허용하는 그래프 구조

- 디스크 공간 절약 가능
- 하나의 파일이나 디렉터리가 여러 개의 경로를 가질 수 있음
- 공유된 파일을 삭제할 경우에
Dangling Pointer발생 가능
Dangling Pointer
사용할 수 없는 해제된 주소를 가리키는 것
📎일반 그래프 구조 디렉터리
트리 구조에서
Link를 추가해Cycle을 허용하는 그래프 구조

- 파일 접근에 용이