파일 시스템 계층 구조
파일 시스템은 여러 개의 계층(Layer)으로 나뉘어 구현됩니다. 각 계층은 다른 계층과 통신하여 특정 작업을 수행하며, 이는 설계의 복잡성을 줄이고 시스템을 더욱 견고하게 만듭니다.
계층별 기능 상세
파일 시스템을 최상위(사용자 인터페이스)부터 최하위(하드웨어)까지 나누어 설명하면 다음과 같습니다.
응용 프로그램 (Application Programs):
역할: 사용자의 요구에 따라 파일을 생성, 접근, 수정하는 작업을 수행합니다. 파일 이름, 데이터 등을 다룹니다.
논리 파일 시스템 (Logical File System):
역할: 사용자에게 제공되는 파일 시스템의 모든 메타 정보를 관리합니다.
핵심 기능:
디렉터리 관리: 파일 이름과 파일 제어 블록(FCB) 간의 연결을 관리합니다.
보호/보안: 사용자별 접근 권한 및 보안 검사를 수행합니다.
API 제공:
open,read,write와 같은 표준 파일 시스템 인터페이스를 제공합니다.
파일 구성 모듈 (File-Organization Module):
역할: 파일의 논리적 주소를 물리적 블록 주소로 변환하는 작업을 담당합니다.
핵심 기능:
논리적/물리적 변환: 파일의 번째 논리적 블록 주소를 해당 블록이 저장된 디스크의 물리적 블록 주소로 변환합니다.
빈 공간 관리: 디스크의 사용 가능한(free) 블록을 추적하여 파일에 할당하고 관리합니다.
기본 파일 시스템 (Basic File System):
역할: 디스크에서 메모리로 데이터를 전송하는 기본 I/O 명령을 담당합니다.
핵심 기능:
블록 전송: 물리적 블록 번호를 인수로 받아 해당 블록을 메모리 내의 버퍼로 읽거나 디스크로 씁니다.
버퍼 캐시 관리: 메모리와 디스크 간의 데이터 전송을 효율화하기 위해 시스템 버퍼 캐시를 관리합니다.
I/O 제어 (I/O Control):
역할: 하드웨어 디바이스 드라이버를 포함하며, 실제 장치에 명령을 전달합니다.
핵심 기능:
디바이스 드라이버: 파일 구성 모듈에서 받은 일반적인 명령(예: 블록 읽기)을 특정 디스크 하드웨어 컨트롤러가 이해할 수 있는 저수준의 제어 신호로 변환합니다.
인터럽트 처리: 디스크에서 데이터 전송이 완료되면 발생하는 인터럽트를 처리합니다.
장치 (Devices):
역할: 실제 물리적 저장 장치(디스크 드라이브)입니다.
Last updated