조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다.
1. 물리 저장 계층
| 구분 | 정의 | 크기 | 관리 주체 | 특징 |
| Disk | 데이터를 저장하는 물리 장치 | 수 GB ~ 수 TB | 하드웨어 | HDD, SSD 같은 실제 저장 매체 |
| Sector | 디스크의 가장 작은 물리 저장 단위 | 512B / 4KB | 디스크 컨트롤러 | LBA 주소 기반으로 접근 |
| Cluster | 여러 개의 섹터를 묶은 파일 시스템 할당 단위 | 보통 4KB | 파일 시스템 | 파일을 저장할 때 최소 할당 단위 |
표) 디스크 파일 할당
더보기
| 할당 방식 | 세부 방식 | 설명 | 특징 / 예시 |
| 연속 할당 | 데이터가 연속된 물리적 위치에 할당됩니다. | 접근 속도가 빠르고 관리가 용이합니다. | |
| 불연속 할당 | 연결 할당 | 데이터 블록들이 연결 리스트로 관리함 |
FAT(File Allocation Table)
|
| 인덱스 할당 | 파일에 대한 데이터 블록의 인덱스를 인덱스 블록에 저장 | 필요한 경우 간접 인덱스 블록 사용 |
2. 논리 저장 계층
- 디스크를 논리적으로 나눈 단위
| 구분 | 파티션 | 볼륨 |
| 정의 | 하나의 디스크를 논리적으로 나눈 공간 |
여러 저장 공간을 논리적으로 묶은 단위
|
| 물리적 연속성 | ✅ |
❌
|
| 구성 기준 | LBA(섹터 번호) 기준으로 나눔 |
여러 파티션 / 디스크를 묶을 수 있음
|
| 관리 단위 | 디스크 내부 분할 | 논리적 저장 단위 |
| 목적 | 용도 분리, 사용자 분리, 장애 격리 |
확장성, 성능 향상, 유연한 관리
|
| 예시 | C:, D: 드라이브 | RAID, LVM, 소프트웨어 볼륨 |
| 파일 시스템 | 파티션당 하나의 파일 시스템 | 볼륨 위에 파일 시스템 생성 |
3. 파일 시스템
- 파일을 저장하고 관리하는 규칙
- ✅ 파티션 당 하나씩 존재
- ➡️ 무결성, 접근 권한 관리, 파일 이름 관리, 백업, 암호화
구성
| 구성 요소 | 설명 | 특징 |
| Boot Block |
부트스트랩 코드
|
OS 로더가 위치함 |
| Super Block |
파일 시스템 메타데이터
|
블록 크기, inode 개수, 전체 블록 수 사용중인 블록 수 등 |
| i-list | 파일/디렉토리 메타데이터 | 파일 이름을 제외한 모든 메타데이터 |
| Directory Blocks | 디렉토리 데이터 블록 | 파일 이름 있음 |
| Data Blocks | 파일 데이터 블록 |
표) i-node
더보기
- 파일 메타데이터 구조
| 구성 요소 | 설명 | 종류 |
| inode number | 파일/디렉토리 고유 번호 | |
| Size | 파일 크기 | |
| Owner | 소유자 | |
| Mode | 접근 권한 | 읽기, 쓰기, 실행 권한 |
| Timestamp |
타임스탬프 정보
|
생성 시간, 수정 시간 등
|
| Hard Link Count | 해당 inode를 참조하는 하드 링크 수 | |
| Data Block Pointers | 데이터 블록을 가리키는 포인터 | - Direct: 데이터 블록 포인터 - Indirect: 데이터 블록 번호를 저장한 포인터들 |
4. 디렉토리
- 관련있는 파일을 하나로 모은 것
헤더
- 디렉터리 이름, 만든 시간, 접근 권한, 블록 위치 등
마운트 명령
- 여러 개의 파티션을 하나의 파티션으로 통합하는 명령
- ✅ mounting point: 파티션끼리 연결된 지점
- ✅ /dev: 외부 저장장치가 마운트된 디렉토리
- ➡️ 외부 저장장치도 파티션에 붙이고 해제할 수 있음