블로그 이미지
vee

카테고리

분류 전체보기 (17)
void (1)
Information (0)
Develop (5)
Linux (3)
Hardware (3)
Operating system (5)
Total
Today
Yesterday

달력

« » 2026.7
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

'Ext2'에 해당되는 글 1건

  1. 2012.08.22 파일 시스템 ext2

파일 시스템 ext2

Linux / 2012. 8. 22. 22:23

Minix 파일 시스템은 리눅스의 첫 번째 파일 시스템이었다.

Minix는 16bit offset을 사용했기 때문에,최대 크기가 64MB로 제한되었고, 파일명의 길이 제한이 존재하였다.

이런 제한 때문에 기존 파일 시스템을 대체하는 작업이 필요하게 되어 ext 파일 시스템이 탄생하였다.

ext는 미닉스 파일 시스템의 주요 문제점들을 해결하였으나 타임 스탬프, 아이노드 수저으 그리고 데이터 수정을 지원하지 않는 문제점이 여전히 남아있었다.

나머지 문제들에 대한 해결 방법으로 xiafs와 버클리 고속 파일 시스템으로부터 많은 아이디어를 얻어,

확장 파일 시스템2, ext2가 개발되었다.


ext2파일 시스템은 자신이 위치하고 있는 논리적인 파티션을 블록으로 다시 나눈다.

이 블록은 블록 그룹으로 나뉜다. 일반적으로 거대한 파일 시스템에 수천개의 블록이 존재한다.

파일의 데이터는 가능한 한 하나의 블록 그룹 내에 포함되어 있다. (외부 단편화를 줄이고 대량의 연속 데이터를 읽으면서 디스크 탐색을 최소화 하기 위해서)


위키백과의 ext2 데이터 구조와 아이노드에 대한 설명을 첨부한다. (http://ko.wikipedia.org/wiki/Ext2)

ext2 데이터 구조

ext2 공간은 블록으로 나뉘어 있다. 이 블록은 블록 그룹으로 나뉘는데, 이는 유닉스 파일 시스템의 실린더 그룹과 비슷하다. 일반적으로 거대한 파일 시스템에 수천개의 블록이 있다. 주어진 파일의 데이터는 가능한 한 하나의 블록 그룹 내에 포함되어 있다. 이것은 줄이기 위해서다. 이것은 외부 단편화를 줄이고 대량의 연속 데이터를 읽으면서 디스크 탐색을 최소화하며 이루어진다.

각각의 블록 그룹은 블록 그룹 디스크립터 테이블과 슈퍼블록의 복사본을 포함하고 있으며, 모든 블록 그룹은 블록 비트맵, 아이노드 비트맵, 아이노드 테이블을 포함하고 있고, 마지막으로 실제 데이터 블록을 포함한다. 슈퍼블록은 매우 중요한 운영 체제 부팅, 즉 파일 시스템 내 여러 블록 그룹에서 만들어진 백업한 복사본과 같은 중요한 정보를 포함한다. 그러나, 일반적으로 파일 시스템의 첫 번째 블록에서 찾을 수 있는 첫 번째 복사본만 부팅에 쓰인다.

그룹 디스크립터는 블록 비트맵, 아이노드 비트맵과 모든 블록 그룹의 아이노드 테이블의 시작점의 위치에 저장되며 이들은 차례로 그룹 디스크립터 테이블에 저장된다. 

아이노드

모든 파일이나 디렉토리는 아이노드로 표현된다. 아이노드는 크기, 권한, 소유권, 그리고 파일이나 디렉토리의 디스크의 위치에 대한 데이터를 포함한다.

ext2 아이노드 구조의 예시:

Estructure

ext2에 대한 커널 문서의 인용문:

"아이노드에서 파일의 데이터를 포함하는 첫 12블록의 포인터가 있다. (블록의 다음 세트에 포인터를 포함하는) 간접 블록에 대한 포인터, (간접 블록에 대한 포인터를 포함하는) 이중 간접 블록에 대한 포인터, 그리고 (이중 간접 블록에 대한 포인터를 포함하는) 삼중-간접 블록에 대한 포인터가 있다."

ext2 내부는 15개의 포인터가 있는 구조며 그 중 처음부터 12번까지는 직접 블록을 위한 것이다. 13번 포인터는 간접 블록을, 14번째 블록은 이중 간접 블록을, 그리고 15번째 포인터는 삼중 간접 블록을 가리킨다.




'Linux' 카테고리의 다른 글

리눅스 파일 시스템의 종류와 특징  (0) 2012.08.22
Fedora 터미널에서 root 권한 얻기.  (0) 2012.08.21
Posted by vee
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함