- 파일 시스템의 개요
- 파일 시스템의 개념
운영체제가 파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체를 관리하는 시스템
사용자가 직접 파일을 관리하고 보관하는 것을 막아 운영체제의 목적성을 이루기 위함
파일 관리자는 사용자의 요청에 따라 파일을 관리하거나 파일의 내용을 읽음
- 파일 디스크립터
파일 접근 권한
사용자가 특정 파일에 접근할 시 파일 관리자로부터 디스크립터를 얻어야 함
- 파일 시스템의 기능
파일을 생성하고 파일을 편리하게 관리하도록 디렉토리 구조 제공
여러 종류의 파일을 구분하기 위해 파일 이름과 확장자를 만들어 관리
파일 헤더에 파일 정보 저장하고 관리
- 블록과 파일 테이블
- 블록
데이터는 운영체제와 저장장치 간에 블록 단위로 전송됨
블록은 여러 섹터가 묶여있고 블록 하나에 주소 하나를 배정함
시스템마다 크기 다름
- 파일 테이블
파일이 어떤 블록에 있는지 명시된 자료 구조
포맷 시 각 블록에 번호 매겨지고 파일 테이블이 생성됨
파티션당 하나씩 존재하며 각 파티션의 맨 앞부분에 위치
파일 데이터 요청 시 파일 관리자는 파일 테이블에서 해당 파일의 블록 주소를 찾아 그 위치에서 데이터를 읽어옴
- 파일 분류와 확장자
- 파일 분류
파일은 사용자의 요청으로 프로세스가 된 실행 파일과 실행 파일이 작업하는 데 필요한 데이터를 모아놓은 데이터 파일로 나누어짐
- 파일 확장자
파일의 성격을 알 수 있는 이름
파일의 확장자 명을 바꾸어도 내용이 바뀌지는 않음
- 파일 이름과 연결 프로그램
- 파일 이름
파일 이름은 운영체제 마다 여러 제약사항 존재
- 연결 프로그램
데이터 파일을 더블클릭 할 때 해당 파일을 사용하는 응용 프로그램
데이터 파일이 필요로 하는 응용 프로그램을 운영체제가 실행하는 것이지 데이터 파일 자체가 실행되는 것 아님
- 파일 속성
각 파일 헤더에 기록되며, 운영체제는 파일 헤더를 파일 테이블에서 관리함
기본 헤더인 파일 헤더와 고유 헤더가 있음
- 파일 헤더
파일의 속성을 기록하는 자료구조
파일 테이블에 저장되어 있음
- 고유 헤더
데이터 파일에서 응용 프로그램이 필요로 하는 헤더
파일 테이블이 관리함=
빠른 포맷은 파일 테이블만 지운 것이지 실제 데이터를 지우지 않았기 때문에 파일을 복구할 때 이용됨
- 파일 작업의 유형
파일 자체를 변경하는 작업과 파일 내용을 변경하는 작업으로 나누어짐
- 파일 자체를 변경하는 작업
운영체제에서 이루어지는 작업
- 파일 내용을 변경하는 작업
프로세스 입장에서 수행하는 것
open(), create() 함수를 이용해 운영체제로 부터 파일 이용 권한인 파일 디크립터를 통해 얻어서 수행함
- 파일 구조
파일은 하나의 데이터 덩어리이기 때문에 어떻게 구성하느냐에 따라 나뉨
- 순차 파일 구조
파일 내용이 하나의 긴 줄로 늘어선 형태로 저장됨
순차 접근만 가능
데이터 삽입이나 삭제에 시간이 많이 걸림
- 인덱스 파일 구조
순차 파일 구조에 인덱스 테이블을 추가됨
순차 접근과 직접 접근이 가능한 구조
현대의 파일 시스템이 이용하는 구조
인덱스 테이블을 여러 개 만들어 다양한 접근 가능
- 직접 파일 구조
저장하려는 데이터의 특정 값에 어떤 관계를 정의하여 물리적인 주소로 바로 변환하는 구조
해시 함수를 통해 접근함