줘이리의 인생적기

파일 시스템 본문

공부/운영체제

파일 시스템

줘이리 2021. 11. 26. 23:00
728x90

파일 시스템운영체제가 저장메체에 파일을 쓰기 위한 자료구조 또는 알고리즘이다.

 

0과 1의 데이터를 비트로 관리하기는 오버헤드가 너무 커서 블록단위로 관리한다.

블록마다 고유번호를 부여해서 관리한다.

 

그러나 사용자가 블록의 고유 번호들을 관리하기 어려우니 추상적 객체가 필요한데 이를 파일이라고 부른다.

 

사용자는 파일단위로 관리하며, 각 파일에는 블록 단위로 관리한다.

 

저장매체에 효율적으로 파일을 저장하는 방법은 가능한 연속적인 공간에 파일을 저장하는 것인데,

외부 단편화(파일 사이즈 변경 등) 문제로불연속 공간에 파일 저장기능 지원이 필요하다.

  - 블록 체인 : 블록을 링크드 리스트로 연결(but, 끝에 있는 블록을 찾으려면 처음 블록에서 따라가야 함)

  - 인덱스 블록 기법 : 각 블록에 대한 위치 정보를 기억해서 블록을 찾아간다.

 


파일 시스템 같은 경우는 OS마다 동일한 시스템콜을 사용해서 다양한 파일 시스템을 지원하게 구현되어 있다.

예를 들어, read/write/open 시스템 콜 호출 시, 각 기기 및 파일 시스템에 따라 실제처리를 담당하는 함수가 구현되어 있다.

 


inode 방식 파일 시스템

파일 시스템 기본 구조는 수퍼 블록, 아이노드 블록, 데이터 블록으로 이루어져 있다.

수퍼 블록은 파일 시스템 정보 및 파티션 정보를 포함하고 있으며, 아이노드 블록은 파일 상세 정보, 데이터 블록은 실제 데이터가 담겨져 있다.

 

여기서 아이노드(inode) 블록이 중요한데, 파일 시스템에서는 inode를 기반으로 파일을 엑세스한다.

'파일이름:inode'로 서로 매칭되어진다.

파일 권한, 소유자 정보, 파일 사이즈, 생성 시간등 여러가지 메타 데이터가 있다.

 

'공부 > 운영체제' 카테고리의 다른 글

세그멘테이션 기법  (0) 2021.11.24
가상메모리, 페이징 시스템  (0) 2021.11.22
IPC(InterProcess Communication)  (0) 2021.11.19
Thread  (0) 2021.11.17
PCB(Process Context Block), Context switching  (0) 2021.11.15