9장 파일시스템(File System) 200512018 박동근
파일 시스템이란 파일을 생성하고 갱신하며 검색,수정,삭제가 가능 저장장치에 저장공간을 파일에 확보해주는 기능 빈 저장 공간을 회수하여 관리해주는 기능 디렉토리 라고 하는 폴더를 관리 해주는 기능 파일을 여러 사용자가 공유하도록 해주는기능 파일의 예비(Backup)와 복구(Restore)기능 정보의 암호화와 해독기능
블록화(Blocking) 저장 할 때는 여러 개의 레코드를 기억장치에서 블록화하여 저장장치에 저장한다. 읽을 때에는 저장장치에 블록화 된 레코드를 읽어와 단위 레코드로 분할한다. 프로그램에서의 입출력 처리는 단위(논리적)레코드로 이루어진다. 저장장치와의 입출력작업은 블록(물리적 레코드)단위로 이루어진다.
버퍼링(Buffering) 버퍼란 입출력 전용으로만 이용하도록 설정된 특별한 기억장치의 공간이다. 백 만배 이상으로 속도가 빠른 CPU와 입출력장치사이의 속도 불균형을 줄인다. CPU작업은 입출력 장치의 작업과 무관하게 진행하게 해준다.
파일의 구조 순차파일(sequential file) 직접파일(direct file) 색인 순차파일(indexed sequential file) 다중 키파일(multi key file) 역파일(inverted file) 다중 리스트파일(multi list file)
순차파일(sequential file) 들어온 순서대로 자료가 저장된 파일 처음자료부터 읽어야 특정 자료를 찾을수 있다.
직접파일(direct file) 자료가 키 값에 의해서 지정된 곳에 저장된 파일. 즉시 특정 자료를 찾을 수 있다. 키 값을 저장장치의 물리적 주소(실린더번호,트랙번호,섹터번호 등)로 변환시켜주는 함수로, 대표적인 것으로 해싱(hashing)함수가 있다.
색인된 순차파일(indexed sequential file) 색인파일이 추가된 순차파일 색인 구역을 통해서 자료에 직접 접근할 수 있다. 순차파일은 레코드들이 키 값 순서대로 저장되어 있어야 한다. 색인은 B 트리를 개선한 트리 구조로, 자료는 선형 구조로 되어있다. 기억 공간의 낭비를 줄이고 접근 속도를 빠르게 해준다.
다중 키파일(multi key file) 여러 경로를 파일의 자료에 접근할 수 있는 파일이 다중키 파일이다. 파일의 중복성이 제거되고 자료의 무결성이 유지된다. 물리적 데이터베이스 구축의 기본이 된다.
역파일(invertedfile) 역색인(index)은 레코드의 필드와 주소 또는 필드와 기본키의 쌍으로 구성된다. 기본 키는 레코드가 저장된 주소에 직접 연관된다. 역 파일이란 여러 개의 역 색인표를 통해서 자료에 접근할 수 있도록 된 파일이다. 역 색인 표 만을 검색해 많은 질의에 바로 응답 할 수 있다. 역 색인 표는 트리나 테이블로 구현되고 있다. 역 색인은 직접파일이나 색인된 순차 파일 위에 만들어 질 수 있다.
다중 리스트파일(multi list file) 자료파일에서 특정 항목(필드)의 같은 자료 값들을 가진 레코드들을 포인터로 연결한 리스트 형태의 파일이다. 필드의 항목 값과 시작 포인터 쌍으로 된 색인표에서 자료탐색이 시작된다. 레코드에 포인터 필드가 추가된다. 여러 필드에 대해서 연결 리스트를 구축할 수 있다. 자료파일이 추가되는 다중리스트는 단순연결, 이중연결, 원형연결 등으로 구축된다.
파일 할당 기법 연속할당 연결할당 섹터할당 블록할당
연속할당 연속된 물리적 저장공간에 하나의 파일이 들어 갈 수 있도록 할당한다. 순차파일에 할당하면 처리속도가 매우 빠르다. 단편화가 발생해서 이들 단편(조각)들을 모아 큰 연속공간을 만들어야 한다.
연결할당 연속할당의 경우 할당된 공간이 너무 남거나 모자라게 되는 경우가 많다. 저장공간에 흩어진 크기가 일정한 섹터나 블록을 필요한 만큼 파일에 할당한다. 저장공간을 효율적으로 사용하게 해 준다.
섹터할당 섹터는 보통 512 바이트 크기로 물리적 입출력의 기본 단위이다. 디스크 전체를 섹터로 보고 사용되지 않는 섹터를 파일에 할당한다. 파일에 할당된 섹터들을 연결하는 포인터 때문에 공간의 낭비가 많다.
블록할당 연속된 몇 개의 섹터를 블록단위로 묶어 블록으로 할당한다. 블록의 추가와 회수가 쉽게 이루어 진다. 자료의 접근은 디렉토리부터 포인터를 따라 다음 블록을 찾아간다. 디렉토리와 블록 사이에 파일 사상표(FAT)를 두어 많이 이용하고 있다.
수고하셨습니다.