파일 시스템은 파일을 저장이나 검색을 위해 논리적으로 정리하는 방법. 디렉토리 구조를 통하여 파일까지 경로를 설정. 단순히 파일을 저장하는 것만이 아니라 보안을 위한 암호화, 빠른 검색을 위한 색인 등의 기능을 지원.
파일 시스템: 파일이나 자료를 쉽게 발견, 접근할 수 있도록 보관하고 조직하는 체제
디스크를 포맷할 때 일괄적으로 색인표를 만들어 클러스터를 제어한다.
OS는 새로운 파일에 대해 각 클러스터의 위치와 순서를 기록한 FAT entry를 만들며, 파일을 읽을 때 읽어들인 내용을 순서에 맞게 맞춘다.
간단한 디자인으로 이동성이 장점. 안전성은 단점.
OS용 storage로는 NTFS로 대체되었다. usb등에는 여전히 사용된다.
파일 하나의 크기가 4GB가 한계.
FAT
unix의 가장 대표적인 파일 시스템.
파티션을 하나 이상의 cylinder group으로 관리한다.
리눅스에서의 파일 시스템
EXT
시스템 사용자가 이용할 수 있는 데이터의 실체.
파일은 inode number과 자료구조에 의해 정보 관리.
파일은 같은 directory에서 같은 이름을 가지면 안된다.
확장가능한 파일. (아마 file의 data구조가 flexible 하다는 의미?)
catalog file.
list of directory entries.
directory entry: file name과 inode를 기록한 자료구조
(명령어 ls는 directory file의 file name들을 모두 표기하는 것)
(명령어 ls -i는 directory file의 inode까지 모두 표기하는 것)
(명령어 ls -l는 inode 정보까지 모두 표기하는 것)
작업중인 directory
연결을 제공
inode number가 똑같은 다른 이름의 파일을 생성
inode 구조체의 변수 'number of links'가 1 올라감. (이로 인해 삭제해도 inode가 사라지지 않음)
(catalog file(directory)를 생성하면, 일단 두 가지 enrties를 default로 갖는데, 하나는 현재 자신에 대한 inode hard link 파일이고 두 번째는 부모의 inode hard link 파일이다)
inode number는 다르지만, content of file이 같다.
파일을 바라보기만함. 원본이 사라지면 쓸모 없어짐.
'number of links'는 변함이 없다.
hard link vs soft link
sector는 디스크의 파이 한 조각이다. 주소지정을 할 수 있는 최소 단위이다. (보통 512바이트)
아래 핑크색 원이 트랙이며, 트랙은 여러 개의 섹터로 나뉜다.
데이터를 찾을 때 섹터번호와 트랙번호를 알면 찾을 수 있다.
첫 번째, sector는 MBR(Master Boot Record), Partition sector로 부르는데, 디스크의 논리적인 분할 여부와 분할 정보를 담는다. 컴퓨터가 시작될 때, MBR 내에서 디스크가 어떻게 나뉜지 판단한 뒤, boot sector에서 프로그램을 읽고 통제권을 넘겨 OS를 메모리에 적재한다.
파일을 저장하는 논리적 단위(보통 4KB), OS에 의해 관리.
파일은 적어도 하나의 클러스터를 갖는다. (internal fragment 발생)
클러스터들은 연속되어 있지는 않다. 이곳저곳 흩어져 있을 수도 있고 FAT에 의해 관리됨.
OS가 처리를 통해 유저는 어디에 저장되 있는지, 나뉘어 있는지 알 필요가 없다.
클러스터의 최대 개수는 FAT entry의 크기에 의해 좌우.
[출처] 위키피디아
파일 시스템 정보를 담는 blcok.
파일시스템에서 사용되는 주요 메타 정보(파일시스템, 파티션)들이 저장.
첫 번째 블록에 위치.(EXT에서는 1KB로 크기 고정)
주요 정보: 블록 크기, 총 블록 개수, 블록 그룹 개수, inode 개수, 그룹내 블록,inode의 개수
파일 상세 정보를 담는 UNIX에서 사용하는 자료구조.
파일은 각자 1개의 inode를 가짐.
소유자 그룹, 접근모드(읽기,쓰기, 실행 권한),inode number 등 메타 데이터를 가짐.
inode number는 고유하기 때문에 이를 이용해 파일 식별 가능.
disk에 나눠지 block group에 저장되어 static함
각 group은 bitmap과 inode table을 가지고 inode information을 다룬다.
UNIX에서 파일 상세 정보를 담는 자료구조.
파일 시스템과 sub-directory, file의 연결고리.
접근권한, owner, group, 생성시간, 접근시간, 수정시간 등의 메타 데이터
메모리에 저장됨, 모든 파일은 inode를 가지고 있지만, 필요할 때만 메모리에 생성됨.
memory에 저장되어 universial하고 dynamic함
성능을 위해 cache와 hash table이 사용됨.
hash table로 inode 자료구조를 묶은 table (for the access efficiency)
파일 시스템이 파일에 접근하기 위해서는 inode table에 접근한다.
1. file name에 따라 해당 directory에서 inode number를 찾음.
2. inode number에 따라 inode table에서 파일을 찾음
3. inode table에서 해당 data block의 pointer를 찾음
여러 프로세스에서 자주 액세스 되는 데이터블록을 메모리에 cache
버퍼 캐시 구조
논리적으로 디스크와 물리적인 장치를 특정 위치(directory)에 연결시켜주는 것
UNIX에서는 한 파일 시스템의 root directory를 다른 directory에 붙임.
mount
파일시스템의 작용들을 로그파일로 남겨두고 빠른 시간안에 복구가 가능하게 만듬
저널링 파일시스템
팬이에요