-
컴퓨터에서 파일이나 자료를 쉽게 검색하고 유지 및 관리하는 방법을 말한다.
커널 영역에서 동작하며 파일의 CRUD를 원할하게 수행하기 위한 목적을 가지고 있다.
계층적인 디렉터리 구조로 이루어져 있으며 디스크 파티션 별 하나씩 둘 수 있다.
역할은 주로 파일, 보조 저장소 관리, 파일 무결성 메커니즘, 접근 방법 제공이 존재하며
개발의 목적으로 파일관리, 하드디스크와 메인 메모리의 속도차를 줄이는 것, 하드디스크 용량을 효율적으로 이용하는데 있다.
구조는 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간 정보 등 파일 정보를 담은 메타영역과 파일의 데이터를 담고 있는 데이터 영역이 존재한다.
접근 방식으로 순차 접근, 직접 접근, 기타 접근이 존재한다.
순차 접근 (Sequential Access)
가장 간단한 방법으로 대부분 read, write 연산을 수행한다.
현재 위치를 가리키는 포인터에서 시스템 콜이 발생할 경우 포인터를 앞으로 보내며 read & write 를 진행한다. 뒤로 돌아갈 경우 정해진 offset 만큼 되감기를 해야 한다.
직접 접근 (Direct Access)
특별한 순서없이 빠르게 레코드를 read, write하는 방식으로 현재 위치를 가리키는 cp 변수만 유지하면서 직접 접근 파일을 가지고 순차 파일 기능을 쉽게 구현할 수 있다.
무작위 파일 블록에 대한 임의 접근을 허용하여 순서에 제약이 없다.
대규모 정보를 접근하는 상황에 유용하기 때문에 데이터베이스에 활용된다.
기타 접근(Etc)
직접 접근 파일에 기반하여 색인을 구축한다.
크기가 큰 파일을 입출력 탐색 할 수 있게 도와주는 방법이다.
디렉터리와 디스크 구조
1단계 디렉토리 구조
1단계 디렉토리 구조는 가장 간단한 구조로 파일들은 서로 유일한 이름을 가지며 서로 다른 사용자더라도 같은 이름을 사용할 수 없다.
2단계 디렉토리 구조
2단계 디렉토리 구조는 사용자에게 개별적으로 디렉터리를 만들어 주는 구조이다.
- User File Directory : 자신만의 사용자 파일 디렉토리를 말한다.
- Master File Directory : 사용자의 이름과 계정번호로 색인되어 있는 디렉터리를 말한다.
트리 디렉토리 구조
트리구조 디렉토리 구조는 2단계 구조를 확장시킨 다단계 트리 구조이다.
한 비트를 활용하여, 일반 파일(0) 인지 디렉토리 파일(1)인지 구분한다.
그래프 디렉토리 구조
그래프 디렉토리 구조는 순환이 발생하지 않도록 하는 그래프의 특징을 이용하여 하위 디렉토리가 아닌 파일에 대한 링크만 허용하거나,
GC를 활용해 전체 파일 시스템을 순회하고 접근 가능한 모든 것을 표시하는 방법이다. 링크를 사용하여 우회해 순환을 피할 수 있다.
'CS' 카테고리의 다른 글
OS 기초 지식 (0) 2022.08.02 메모리? 메인 메모리? (0) 2021.01.12 IP(Internet Protocol)? (0) 2021.01.03 로드 밸런싱? (0) 2020.12.22 해싱(Hashing)? (0) 2020.12.22