jinh2352.log
로그인
jinh2352.log
로그인
Overall organization2
Jin Hur
·
2021년 7월 1일
팔로우
0
0
[Linux] File system
목록 보기
9/22
reference:
https://pages.cs.wisc.edu/~remzi/OSTEP/
, 시스템 프로그래밍, 운영체제 수업(최종무 교수님)
inode manipulation example
64개의 디스크 블록으로 이루어진 파티션 가정.
파일시스템 레이아웃
inode size: 256B, a block size: 4KB -> 한 블록에 16개의 inode 저장 가능.
inode manipulation example
루트 디렉터리에 'hello.c' 소스코드 생성 후 컴파일 -> 'a.out' 실행파일 생성
hello.c size: 7KB / a.out size: 70KB
inode for '/'(루트 디렉터리) - 0번
(0 <- i_number: the index in inode table)
데이터 블록의 위치: 8
8번 데이터 블록
<hello.c(파일 이름), 1(inode)>
<- 디렉터리 엔트리(directory entry)
<a.out, 2>
inode for hello.c - 1번
데이터 블록 위치: 9, 10 (7KB 이므로 두 개의 데이터 블록 필요.)
inode for a.out - 2번
데이터 블록 위치: 11~23
※ inode 자료구조에서 direct block pointer가 12개임을 가정하면, 23번 블록은 index block.
11~22번 데이터 블록 => 48KB
23번 인덱스 블록은 다시 24,25..29번 블록 가리킴. => 남은 22KB 내용 저장.
Jin Hur
팔로우
이전 포스트
Overall organization
다음 포스트
연속 할당과 불연속 할당, 그리고 FAT 테이블 (+ FAT 파일시스템)
0개의 댓글
댓글 작성