티스토리 뷰
운영체제
파일 시스템 #3 - File System Implementation(Allocation methods, Free space management)
˙ᵕ˙ 2021. 1. 24. 00:15File System Implementation
Allocation methods
- File 저장을 위한 디스크 공간 할당 방법
Free space management
- 디스크의 빈 공간 관리
Allocation Methods
- Continuous allocation
- Discontinuous allocation
- Linked allocation
- Indexed allocation
Continuous Allocation
- 한 File을 디스크의 연속된 block에 저장
- 장점
- 효율적인 file 접근 (순차, 직접 접근)
- 문제점
- 새로운 file을 위한 공간 확보가 어려움
- External fragmentation
- File 공간 크기 결정이 어려움
- 파일이 커져야 하는 경우 고려해야 함
Linked Allocation
- File이 저장된 block들을 linked list로 연결
- 비연속 할당 가능
- Directory는 각 file에 대한 첫 번째 block에 대한 포인터를 가짐
- Simple, No external fragmentation
- 단점
- 직접 접근에 비효율적
- 포인터 저장을 위한 공간 필요
- 신뢰성 문제
- 사용자가 포인터를 실수로 건드리는 문제 등
Linked Allocation: variation → FAT
- File Allocation Table (FAT)
- 각 block의 시작 부분에 다음 블록의 번호를 기록하는 방법
- MS-DOS, Windows 등에 사용 됨
Indexed Allocation
- File이 저장된 block의 정보(pointer)를 Index block에 모아 둠
- 직접 접근에 효율적
- 순차 접근에는 비효율적 ( 다음 접근을 위해 인덱스 테이블로 이동해야 함 )
- File 당 Index block을 유지
- Space overhead
- Index block 크기에 따라 파일의 최대 크기가 제한 됨
- Unix 등에 사용 됨
Free Space Management
- Bit vector
- Linked list
- Grouping
- Counting
Bit Vector
- 시스템 내 모든 block들에 대한 사용 여부를 1 bit flag로 표시
- Simple and efficient
- Bit vector 전체를 메모리에 보관 해야 함
- 대형 시스템에 부적합
Linked List
- 빈 block을 linked list로 연결
- 비효율적
Grouping
- n개의 빈 block을 그룹으로 묶고, 그룹 단위로 linked list로 연결
- 연속된 빈 block을 쉽게 찾을 수 있음
Counting
- 연속된 빈 block들 중 첫 번째 block의 주소와 연속된 block의 수를 table로 유지
- Continuous allocation 시스템에 유리한 기법
강의
www.youtube.com/watch?v=HGT8HbbB_3w&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=42
'운영체제' 카테고리의 다른 글
디스크 관리 - Disk Scheduling, RAID Architecture (0) | 2021.01.26 |
---|---|
입출력 시스템 - I/O Mechanisms, I/O Services of OS (0) | 2021.01.24 |
파일 시스템 #2 - Directory Structure, File Protection (0) | 2021.01.22 |
파일 시스템 #1 - Disk System, File System (0) | 2021.01.21 |
가상 메모리 관리 #3 - Replacement Strategies(Variable allocation) (0) | 2021.01.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RAID Architecture
- Free space management
- I/O Services of OS
- mapreduce
- 빅데이터 플랫폼
- Allocation methods
- Disk Scheduling
- Variable allocation
- 빅데이터
- HDFS
- springboot
- Flume
- aop
- I/O Mechanisms
- JSON
- File Protection
- Replacement Strategies
- gradle
- Java
- vmware
- jdbc
- linux
- SPARK
- Disk System
- SQL
- 하둡
- Spring
- hadoop
- maven
- oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함