![FCB(File Control Block)](https://q-a.kr/wp-content/uploads/2025/02/fcb-2.png)
FCB(File Control Block), 파일 시스템에서 파일의 속성과 정보를 저장하는 데이터 구조입니다. 운영 체제(OS)가 파일을 관리하고 접근할 수 있도록 하는 중요한 요소 중 하나입니다. 특히, MS-DOS와 같은 초기 운영 체제에서 FCB가 파일을 처리하는 주요 방법으로 사용되었습니다.
디스크 FCB의 역할
디스크 FCB는 운영 체제가 디스크에서 파일을 읽고 쓰는 데 필요한 정보를 보관하는 구조체입니다. 주요 기능은 다음과 같습니다:
-
파일 식별: 파일 이름, 확장자 등의 정보를 저장하여 운영 체제가 파일을 찾을 수 있도록 함.
-
파일 위치 정보: 파일이 디스크의 어느 위치에 저장되어 있는지를 나타내는 포인터를 유지.
-
파일 속성 관리: 읽기 전용, 숨김 파일 등의 속성을 포함.
-
파일 크기 및 사용량: 파일의 크기와 사용된 블록 수 등을 저장하여 관리.
-
파일 접근 제어: 파일이 열려 있는지 여부를 추적하고, 다중 프로세스 환경에서 접근을 조정.
디스크 FCB의 구조
FCB는 일반적으로 운영 체제에 따라 다소 차이가 있을 수 있지만, 기본적인 구조는 다음과 같습니다.
필드 | 설명 |
---|---|
파일 이름 | 8바이트 길이의 파일 이름 |
확장자 | 3바이트 길이의 파일 확장자 |
속성 | 읽기 전용, 숨김 파일 등의 속성 |
현재 블록 | 현재 읽거나 쓰는 블록 위치 |
파일 크기 | 파일의 총 크기 |
데이터 블록 포인터 | 파일이 저장된 디스크 블록의 위치 |
FCB 방식과 현대 운영 체제의 차이점
초기 MS-DOS 시스템에서는 FCB 방식이 파일을 처리하는 주요 방법이었으나, 현재의 운영 체제는 파일 시스템을 더욱 효율적으로 관리하기 위해 디렉터리 엔트리(Directory Entry) 및 파일 디스크립터(File Descriptor) 방식을 사용합니다.
-
FCB 방식의 단점:
-
구조가 복잡하며, 메모리 사용이 많음.
-
멀티태스킹 환경에서 비효율적임.
-
파일의 동적 할당 및 관리가 어렵고, 디렉터리 구조 확장이 제한적임.
-
-
현대 운영 체제의 개선점:
-
FAT, NTFS, EXT4 등의 파일 시스템에서는 더 정교한 디렉터리 구조를 활용.
-
파일 핸들 기반의 파일 디스크립터를 사용하여 유연한 파일 접근 제공.
-
보안과 권한 관리 기능이 향상됨.
-
FCB를 활용한 파일 관리 예제 (MS-DOS)
다음은 MS-DOS에서 FCB를 사용하는 간단한 파일 접근 코드 예제입니다.
MOV AH, 0x0F ; 파일 열기 명령
MOV DX, OFFSET FCB
INT 21H ; DOS 인터럽트 호출
이러한 방식은 현재 사용되지 않으며, 오늘날의 시스템에서는 fopen()
과 같은 고급 API를 활용하여 파일을 열고 관리합니다.
결론
FCB는 파일 시스템의 기초적인 개념으로, 운영 체제가 파일을 관리하는 데 중요한 역할을 합니다. 하지만 현대적인 운영 체제에서는 더 발전된 파일 시스템 구조를 사용하여 성능과 보안성을 향상시켰습니다. 그럼에도 불구하고, FCB는 초기 파일 시스템 관리 방식의 중요한 요소로, 파일 시스템의 발전을 이해하는 데 도움이 되는 개념입니다.
[…] 디스크 FCB(File Control Block) […]