강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 리눅스파일시스템 구조 이해하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 리눅스파일시스템 구조 이해하기





 

파일 시스템(File System)이란 간단하게 운영체제가 파일을 시스템의 디스크상에 구성하는 방식을 말한다.

 

 

 

 

운영체제는 시스템의 디스크 파티션상에 파일들을 연속적이고 일정한 규칙을 가지고 저장하는데, 파일 시스템은 이러한 규칙들의 방식을 제시하는 역할을 한다.

 

 

 

 

또한 파일 시스템은 시스템의 디스크, 파티션 및 파일 시스템의 형식을 말할 경우에도 쓰일 수 있다.

 

 

 

 

그런데 대부분의 프로그램들은 각각 파일 시스템을 기반으로 할 때 정상적으로 동작을 하게 되어, 디스크상에 파일 시스템이 없다면 이들도 동작하지 못한다.

 

 

 

 

따라서 엄밀히 말하자면 파티션과 파일 시스템은 다른 것이다.

 

 

 

 

파일 시스템은 파티션을 구성해 주는 역할을 한다.

 

 

 

 

파일 시스템을 포함하지 못한 파티션은 정상적인 역할을 하기 위해서 파일 시스템으로 사용될 수 있도록 초기화되고 파일 정보를 기록하기 위한 형식으로 만드는 과정을 거쳐야 한다.

 

 

 

 

이러한 과정을 거친 후에야 파티션은 비로소 파일 시스템으로 사용될 수 있다.

 

각각의 파일 시스템은 파일 시스템만의 독특한 파일 시스템 특징을 가지고 있다.

 

 

 

 

하지만 대부분의 리눅스 파일 시스템은 비슷한 구조를 가지고 있으며 다음과 같은 공통점을 가지고 있다.

 

 

 

1) 수퍼 블록(Super Block)

 

 

수퍼 블록(Super Block)은 파일 시스템에 의존하는 정보를 가지며 파일 시스템의 크기 등과 같은 파일 시스템의 전체적인 정보를 가지고 있다.

 

 

2) 아이노드(Inode)

 

 

아이노드(Inode)는 파일의 이름을 제외한 해당 파일의 모든 정보를 가지고 있으며 각 파일 이름에 부여되는 고유한 번호이고 파일의 형태, 크기, 위치, 소유자 등에 관한 정보가 있으며, 아이노드로 이루어진 테이블에서 이 번호로 찾기를 하게 되면 모든 정보를 알 수 있다.

 

 

 

 

또 시스템 측면에서는 파일 이름으로 파일을 처리하는 것이 아니라 이 아이노드 번호로 파일을 처리한다.

 

 

 

 

왜냐하면 파일 이름이 아이노드 번호와 함께 디렉토리 안에 저장되기 때문이다.

 

 

 

 

 

3) 데이터 블록(Data Block)

 

 

데이터 블록(Data Block)은 아이노드에 포함된다.

 

 

 

 

아이노드가 몇 개의 데이터 블록을 포함하고 있다.

 

 

 

 

데이터 블록은 파일에서 데이터를 저장하기 위해서 사용된다.

 

 

4) 디렉토리 블록(Directory Block)

 

파일 이름과 아이노드 번호를 저장하기 위해서 사용된다.

 

5) 간접 블록(Indirection Block)

 

간접 블록(Indirection Block)은 추가적인 데이터 블록을 위한 포인터들이 사용할 동적으로 할당되는 공간이다.

 

 

 

 

실제적으로 아이노드는 적은 수의 데이터 블록을 가지고 있다.

 

 

 

 

그러므로 더 많은 데이터 블록이 필요할 경우 이를 지정할 포인터가 필요하게 되는데 그때 포인터들이 사용할 동적인 블록이 간접 블록이다.

 

6)(Hole)

 

(Hole)은 아이노드나 간접 블록 안의 데이터 블록의 주소로 특별한 값을 저장한다.

 

 

 

 

홀은 파일 시스템에 의해서 파일 안에 자리하게 된다.

 

 

 

 

하지만 이 홀을 위해 실질적으로 디스크상에 공간은 할당되지 않는다.

 

 

 

 

단지 0바이트가 파일 안에서 특정 공간을 차지하고 있다고 가정하는 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,794 개
  • 현재 접속자 :  196 명