반응형

inode 2

[리눅스/유닉스 시스템 프로그래밍] 파일 테이블과 파일 디스크립터 테이블

3.5 파일 테이블과 파일 디스크립터 테이블 리눅스 시스템에서는 프로세스마다 파일 디스크립터 테이블을 갖고 있습니다. 그리고 파일 디스크립터 테이블에는 open에서 사용한 flags와 파일 테이블 요소의 위치 정보를 포함합니다. 그리고 커널은 모든 열려진 파일들을 관리하는 파일 테이블을 가지고 있습니다. 파일 테이블의 항목 엔트리에는 파일의 상태 flags와 현재 파일의 작업 offset과 파일의 vnode 테이블의 위치 정보를 포함합니다. 그리고 vnode 테이블의 각 항목은 inode 정보와 현재 파일의 크기를 포함합니다. 먼저 하나의 프로세스에서 같은 파일을 두 번 열었을 때를 살펴봅시다. 같은 파일을 두 번 열면 서로 다른 파일 디스크립터를 부여하고 서로 다른 파일 오프셋을 유지합니다. 따라서 프..

[리눅스/유닉스 시스템 프로그래밍] 파일 시스템

2. 파일 시스템(File System) 이번 장에서는 파일 시스템을 알아봅시다. 파일 시스템을 이해하는 것은 보다 효과적으로 파일 입출력 작업을 수행할 수 있게 해 줄 것입니다. 그리고 리눅스(유닉스) 시스템을 이해하는 시작점이라 할 수 있습니다. 유닉스 파일 시스템은 4개의 주요 블록으로 구성하고 있습니다. 운영체제를 부팅하기 위해 필요한 부트 블록과 파일 시스템의 크기를 비롯하여 주요 정보를 나타내는 슈퍼블록, 실질적인 파일 정보와 매핑하는 i-node 블록, 마지막으로 실제 데이터를 저장하는 데이터 블록입니다. 이 외에도 파일 시스템에 따라 통계 정보 등을 관리하는 블록이 있습니다. [그림 2.1] 유닉스 파일 시스템의 구조 유닉스 시스템은 파티션마다 독립적인 파일 시스템을 갖습니다. 그리고 최소..

반응형