저는 현재 Linux 파일 시스템에 대해 배우고 있습니다. 지금까지 내가 배운 내용은 다음과 같습니다.
- 디렉토리는 파일 이름과 inode 번호 등의 정보를 포함하는 파일입니다.
- 각 inode 번호에 대한 데이터 구조를 포함하는 inode 테이블이 있습니다. 이 데이터 구조에는 소유자 ID, 그룹 ID, 파일 크기 및 기타 정보가 포함됩니다.
이제 inode 데이터 구조에는 디스크에 있는 파일의 실제 주소도 포함되어 있습니까? 아니면 디스크에 있는 파일의 실제 주소를 알고 있는 다른 데이터 구조의 주소만 포함되어 있습니까?
답변1
이는 파일 시스템 유형에 따라 다릅니다. 그러나 대부분의 파일 시스템에서 inode(또는 dinode)에는 처음 몇 개의 데이터 블록("직접 블록"이라고 함)의 주소가 포함되며, 더 큰 파일의 경우 "간접 블록" 자체의 주소가 다음을 가리키는 데 저장됩니다. 데이터 블록을 추가하기 위한 포인터입니다.
바라보다인덱스 노드 포인터 구조자세한 내용은 Wikipedia 페이지를 참조하세요.
학습 목적으로는 비교적 간단한 구조를 가진 UFS 파일 시스템을 살펴보는 것이 좋습니다. 바라보다UFS 다이오드 구조, 특히 직접 및 간접 블록에 대한 포인터 di_db
의 경우 .di_ib