File
파일 시스템
파일
@0601
- 파일 시스템 빈 (가용) 공간 관리
- 비트 벡터 Bit Vector
- 디스크의 일부 영역을 할당하여 비트 벡터용으로 사용
- 각 비트는 대응되는 블록의 사용 여부를 표시
- 연속된 빈 블록 검색이 용이하나, 디스크 용량이 커지면 관리 부담도 커짐
- 비트 벡터 Bit Vector
- 섹터 리스트
- 비어있는 섹터 (블록)에 다음 비어있는 섹터 번호를 기록 (거대한 리스트 형성)
- 섹터 하나를 할당할 때마다 한 번의 디스크 입출력 필요
- 그룹 리스트
- 하나의 비어있는 섹터에 최대한 많은 수의 다른 빈 섹터들의 번호를 기록 (섹터 그룹)
- 섹터 그룹 뒷 부분에 다른음섹텉 그룹에 대한 버놓 기입하여 리스트 형성
- 한 번의 디스크 입출력으로 여러 개의 빈섹터를 할당할 수 있음
- 파일 시스템 데이터 공간 관리
- 연속 할당 Contiguous Allocation
- 필요한 만큼의 디스크 블록들을 연속(인접)해서 할당
- 데이터 접근 성능이 우수
- 연속된 공간의 크기가 작으 경우 외부 단편화 및 파일 크기 변화 시 재할당 문제
- 연속 할당 Contiguous Allocation
- 연결 할당 Linked Allocation
- 임의 섹터를 개별저긍로 할당하고, 섹터의 끝 부분에 다음 섹터에 대한 번호 기록
- 외부 다편화 문제가 전혀 없고, 파일 확장/축소가 용이
- 파일 중간 접근을 위해서는 반드시 처음부터 시작해야 함 (순차접근만 가능)
- 섹터 끄 부분에 포인터 저장 공간 확보해야함
- → 여러 섹터의 묶음 단위로 할당하면 포인터 저장 공간 절약ㄱ 가능
- FAT File Allocation Table 연결 할당
- 연결 관계를 데이터 섹터 자체에 관리하지 않고, 연결 표시 테이블 즉, FAT를 따로 두어 관리
- 연결 할당의 단점을 보완하여 순차 젖ㅂ근을 하지 않고서도 접근 가능
- 디스크 공간이 거대할 겨우 FAT 자체 검색 보담이 커짐
- @ 실제로 사용되고 있는
- 색인 할당 Index Allocation
- 할당된 데이터 섹터 번호들을 파일 번호별로 별도의 섹터에 관리
- 임의 접근이 가능하고, 확장/축소 용이함
- 색인을 위한 별도의 저장 공간이 필요하고, 색인 공간 내에서의 내부 단편화 문제
- @ 유닉스/리눅스 방식과 가장 유사
유닉스/리눅스 파일 시스템
RAID, Redundant Array of Inexpensive(Independent) Disk
- 중복 저장 Mirroring of Shadowing 에 의한 신뢰성 향상
- 병렬 입-출력 Striping 에 위한 성능 향상
- Bit 수준 Striping
- Block 수준 Striping
- 부가 정보를 이용한 Error 정정
- Parity Bit
- Hamming Code
- RAID 수준
- 0
- Block 단위의 Striping
- 1
- 단순 중복 저장 (미러링)
- 2
- 해밍 코드 등 비트 이상의 부가정보를 이용한 오류 정정
- 3
- 패리티 비트를 이용한 오류 정정
- 4
- 0~3 복합/변형
- 0
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.