-
파일과 파일 시스템Computer Engineering/운영체제 2022. 11. 15. 13:49
파일 시스템
- 파일 관리자를 두어 저장장치의 관리를 맡기는 시스템
- 파일관리자로부터 접근 권한을 얻어야 파일 접근 가능
- 파일 테이블 사용
블록
- 저장장치에서 사용하는 가장 작은 단위, 한 블록에 주소 하나 할당
파일 분류
- 실행 파일 : 운영체제가 메모리로 올려 CPU를 사용하여 작업을 하는 파일
- 데이터 파일 : 실행 파일이 작업하는데 필요한 데이터를 모아놓은 파일
파일 속성
- 파일 이름
- 파일 종류
- 파일 크기
- 파일 접근 시간
- 파일의 위치
- 파일의 접근 권한
- 파일의 소유자
파일 헤더와 고유 헤더
- 파일 헤더 : 파일 테이블 관리 / 파일의 이름, 종류, 크기, 시간, 접근 권한 등 정보를 보유
- 고유 헤더 : 응용프로그램이 필요로 하는 정보 ex) 파일의 버전 번호, 크기, 특수 정보 등
파일 구조
순차 파일 구조
- 파일 내용이 하나의 긴 줄로 늘어선 형태
- 장점
- 앞부터 순서대로 채워나가기에 낭비되는 부분이 없음
- 구조가 단순하여 다른 저장장치에도 적용 가능
- 구조가 단순하여 빠르게 처리됨
- 단점
- 새로운 데이터를 삽입하거나 삭제할 때 시간이 오래 걸림
- 데이터 검색에 적당하지 않음
인덱스 파일 구조
- 순차파일 구조 + 인덱스 테이블
- 인덱스 구조로 인해 순차 접근과 직접 접근이 가능
- 현대의 파일 시스템에 적용되고 있는 구조로,
파일을 저장할 때는 순차파일 구조 / 파일에 접글할 때는 인덱스 테이블을 보고 원하는 파일에 접근
직접 파일 구조
- 저장하려는 데이터의 값을 정의하여 물리적 주소로 바로 변환하려는 파일 구조
- 특정 함수를 이용하여 직접 접근이 가능한 파일구조
- 특정함수 = 해시 함수 hash function
디렉터리
- 관련 있는 파일을 하나로 모아 놓은 곳
- 하나의 디렉터리 안에 여러 개의 파일과 자식 디렉터리가 존재
- 디렉터리도 파일이며, 일반 파일에는 데이터 / 디렉터리에는 파일 정보 데이터가 담김
디렉터리 계층 구조
- 디렉터리는 여러 층으로 구성할 수 있음
- 루트 디렉터리 : 최상위에 있는 디렉터리
- 경로 : 파일이 전체 디렉터리 중 어디에 있는지를 나타내는 정보
- 절대 경로 : 루트 디렉터리를 기준으로 파일의 위치를 나타내는 방식
- 상대 경로 : 현재 있는 위치를 기준으로 파일의 위치를 표시하는 방식
디렉터리 구조
1단계 디렉터리 구조
- 루트 디렉터리 안에 새로운 디렉터리를 만들 수 있지만, 디렉터리 안에 새로운 자식 디렉터리를 만들 수는 없음
다단계 디렉터리 구조
- 단계 확장에 제약이 없고, 디렉터리에 파일과 디렉터리 둘 다 저장 가능
마운트
- 여러 개의 파티션을 통합하는 명령어
디스크 파일 할당
파일 내 블록을 연결하는 방식
- 연속 할당 방식
- 파일을 구성하는 데이터를 연속적으로 배열하는 간단한 방식
- 빈 공간에 파일의 크기가 맞지 않을 경우 연속할당이 불가능하기 때문에 실제 사용 X
- 불연속 할당 방식
- 비어 있는 블록에 데이터를 분산하여 저장하는 방식
- 연결 할당과 인덱스 할당이 대표적인 방식
연결 할당 / 체인 할당 Chained allocation
- 파일에 속한 데이터를 연결 리스트로 관리하는 방식
- 파일 테이블에는 시작 블록에 대한 정보만 저장, 나머지 데이터는 시작 블록부터 연결하여 저장
- 윈도우의 FAT ( File Allocation Table )이 연결 할당 / 체인 할당 방식 사용
인덱스 할당 ( 유닉스 : I - node )
- 데이터의 인덱스를 담고 있는 인덱스 블록을 연결
- 인덱스 블록 : 실제 데이터의 위치에 관한 정보를 순서대로 보관
- 유닉스의 I-node 방식
디스크의 빈 공간 관리
- 빈 공간 리스트 : 빈 공간의 효율적 관리를 위해 빈 블록의 정보만 모아 놓은 리스트
- 데이터를 지우고 새로운 데이터를 입력할 때 리스트에 있던 블록 중 맨 앞에 있는 블록에 할당
더보기참고문헌
조성호 저, 「쉽게 배우는 운영체제」, 한빛아카데미, 2018, 616p
⊙ 이 글은 개인 공부를 목적으로 작성된 글입니다.
⊙ 내용에 대한 오류나 피드백 감사히 받고 있습니다 !
반응형'Computer Engineering > 운영체제' 카테고리의 다른 글
공유자원, 임계구역 / 임계구역 해결조건 (0) 2022.11.23 프로세스 간 동기화 및 통신 (0) 2022.11.15 스레싱과 프레임할당 (0) 2022.11.14 CPU 스케줄링 (0) 2022.11.14 하드 디스크의 구성 및 스케줄링 (0) 2022.11.14