2021. 2. 27. 19:37ㆍComputer(인강)/운영체제
안녕하세요 bannavi입니다^ㅅ^
오늘은 파일시스템 배경에 대해서 살펴보려고 합니다!
바로 시작해보겠습니다~!
파일시스템
: 운영체제가 저장매체에 파일을 쓰기 위한 자료구조 또는 알고리즘
가볍게 알아두기: 파일 시스템이 만들어진 이유(블록)
- 0과 1의 데이터를 어떻게 저장매체에 저장할까?
- 비트로 관리하기는 오버헤드가 너무 큼
- 블록 단위로 관리하기로 함(보통 4KB)
- 블록마다 고유 번호를 부여해서, 관리
# 사용자가 각 블록 고유 번호를 관리하기 어려움
- 추상적(논리적) 객체 필요: 파일
# 사용자는 파일 단위로 관리
- 각 파일에는 블록 단위로 관리
가볍게 알아두기: 파일 시스템이 만들어진 이유(저장방법)
- 저장매체에 효율적으로 파일을 저장하는 방법
- 가능한 연속적인 공간에 파일을 저장하는 것이 좋음
- 외부 단편화, 파일 사이즈 변경 문제로 불연속 공간에 파일 저장 기능 지원 필요
# 블록 체인: 블록을 링크드 리스트로 연결
# 끝에 있는 블록을 찾으려면, 맨처음 블록부터 주소를 따라가야함
# 인덱스 블록 기법: 각 블록에 대한 위치 정보를 기록해서, 한번에 끝 블록을 찾아갈 수 있도록 함
# Windows: FAT, FAT32, NTFS
- 블록 위치를 FAT라는 자료 구조에 기록
# 리눅스(UNIX): ext2, ext3, ext4
- 일종의 인덱스 블록 기법인 inode 방식 사용
# 동일한 시스템콜을 사용해서 다양한 파일 시스템 지원 가능토록 구현
- read/write 시스템 콜 호출시, 각 기기 및 파일 시스템에 따라 실질적인 처리를 담당하는 함수 구현
* 예: read_spec/write_spec
- 파일을 실제 어떻게 저장할지는 다를 수 있음
* 리눅스의 경우 ex4외 NTFS, FAT32 파일 시스템 지원
'Computer(인강) > 운영체제' 카테고리의 다른 글
부팅의 이해 (0) | 2021.02.27 |
---|---|
02. inode 방식과 가상 파일 시스템 (0) | 2021.02.27 |
가상 메모리 동작 이해 총정리 (0) | 2021.02.27 |
세그멘테이션 기법 (0) | 2021.02.26 |
페이지 교체 알고리즘 (0) | 2021.02.25 |