![i-node 테이블은 어디에 저장되나요?](https://linux55.com/image/104347/i-node%20%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%80%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%A0%80%EC%9E%A5%EB%90%98%EB%82%98%EC%9A%94%3F.png)
i 노드가 포함된 테이블이 어디에 있는지 잘 모르겠습니다. 선생님은 각 물리적 디스크에 i-node 테이블이 있고 그 뒤에 파일 데이터가 있다고 말씀하셨습니다. 그러나 인터넷에서 나는 각 디렉토리에 자체 inode 테이블과 그 안에 있는 파일과 관련된 이름이 있다는 것을 발견했습니다.
이 두 테이블(개념)이 다른 걸까요, 아니면 둘 중 하나가 잘못된 걸까요?
감사해요.
답변1
오해는 inode가 물리적 디스크의 속성이 아니라 일부 디스크의 속성이라는 것입니다.파일 시스템. 예를 들어 FAT32에는 inode가 없습니다. 계층 구조를 간략하게 요약하면 다음과 같습니다.
물리적 디스크에는 많은 정보가 포함되어 있습니다.부서. 이는 데이터가 저장되는 디스크의 물리적 위치입니다.
물리적 드라이브는 일반적으로 다음과 같이 구분됩니다.분할. 이는 디스크에서 (논리적으로) 연속된 물리적 데이터 저장 영역을 논리적으로 분리한 것입니다.
이러한 파티션은 LVM과 마찬가지로 논리 볼륨으로 추가로 나눌 수 있지만 필수는 아닙니다. 구현된 경우 이러한 논리 볼륨은 주로 파티션처럼 작동하지만 용량 추가 등의 작업을 더 쉽게 구현할 수 있습니다.
파티션(또는 논리 볼륨)은 다음을 포함할 수 있습니다.파일 시스템(예: ext3fs, VFAT, hpfs) 각 파일 시스템은 조직 구조 등을 추적하기 위해 자체 방식으로 구성됩니다. Linux 호스트(예: ext?fs)에 일반적으로 배포되는 많은 파일 시스템은 이러한 목적으로 inode를 사용하거나 동등한 메커니즘(예: reiserfs)을 사용합니다.
답변2
선생님은 각 물리적 디스크에 i-node 테이블이 있고 그 뒤에 파일 데이터가 있다고 말씀하셨습니다.
이것은 기본적으로 정확합니다. 보다 정확하게는 각 파일 시스템에 inode 테이블이 있고 각 파티션에 별도의 파일 시스템이 있습니다. (상황이 더 복잡해질 수 있지만 여기서는 복잡하게 설명할 필요가 없습니다.)
파일 시스템 inode 테이블 매핑아이노드 번호도착하다파일 메타데이터. 일반적으로 고정 크기 구조의 대규모 세트입니다. 예를 들어, 이 배열의 요소 번호 1234는 인덱스 노드 번호 1234입니다. 인덱스 노드에는 파일 권한, 수정 시간, 파일 유형, 파일 콘텐츠 위치 표시 등의 정보가 포함되어 있습니다.
그러나 인터넷에서 나는 각 디렉토리에 자체 inode 테이블과 그 안에 있는 파일과 관련된 이름이 있다는 것을 발견했습니다.
매핑 테이블입니다파일 이름도착하다아이노드 번호. 즉, 디렉토리는 항목 목록(또는 좀 더 복잡한 데이터 구조)이며 목록의 각 요소에는 파일 이름과 inode 번호가 포함됩니다. 파일의 메타데이터와 내용을 찾기 위해 시스템은 디렉터리에서 inode 번호를 읽은 다음 inode 테이블에서 지정된 항목을 읽습니다. 주어진 경로에서 파일을 찾기 위해 시스템은 루트 inode에서 시작하여 그것이 디렉토리임을 발견하고 첫 번째 요소에 대한 디렉토리 항목을 찾고 해당 inode를 읽는 등의 작업을 수행합니다.
이는 파일 시스템의 일반적인 설계이지만 이것이 가능한 유일한 설계는 아닙니다. 대부분의 Unix용 파일 시스템은 이 설계를 따르지만 다른 시스템도 존재합니다.