12. File Management

12. File Management

728x90

Files

- 사용자가 생성한 데이터의 집합

- 연속적인 논리적 주소 공간 (저장장치의 물리적 특성으로부터 분리

- 유익한 특성

장기간 보존

프로세스들 간에 공유 가능

편리한 내부 구조

- 파일 타입 : 데이터 파일, 프로그램 파일

- 파일 형태 : 텍스트 파일, 소스 파일, 실행 파일 등 확장자로 구별

File Systems

- 데이터를 파일로 저장할 수 있는 방법

- 연산

생성

삭제

열기

닫기

읽기

쓰기

파일 구조 관련 주요 용어

- 필드

데이터의 가장 기본적 요소

하나의 값 저장

고정 또는 가변 길이

- 레코드

몇몇 응용에 의해 하나로 취급될 수 있는 관련 필드 묶음

고정 도는 가변 길이

- 파일

유사한 레코드의 묶음

하나의 개체로 취급

이름으로 참조됨

파일에 대해 접근 제어가 적용됨

- 데이터베이스

관련된 데이터의 집합

데이터 요소 사이의 관계가 명시적

여러 응용에 의해서 사용될 수 있도록 설계됨

하나 이상 유형의 파일로 구성됨

- 전형적인 파일 연산

-> 모두 검색, 하나 검색, 다음 검색, 이전 검색 : 파일시스템에서 쉬움

-> 하나 삽입, 하나 삭제, 하나 갱신, 소수 검색 : 파일시스템에서 어려움

- 파일관리 시스템의 목적

사용자의 데이터 관리 요구사항 만족

파일의 데이터가 유효하도록 보장

성능 최적화

다양한 유형의 저장 장치들에 대한 입출력 지원

- 파일시스템 소프트웨어 구조

- 장치 드라이버

가장 하위 레벨로 주변 장치들과 직접 통신한다.

입출력 연산을 시작하며 입출력 요청의 완료를 처리한다

- 기본 파일 시스템

물리적인 입출력 레벨로, 컴퓨터 시스템 외부 환경과의 주된 인터페이스이다.

디스크 시스템과의 데이터 블록 교환을 처리한다.

보조저장장치 상에서의 블록 배치를 맡으며, 블록의 메인 메모리 버퍼링을 맡는다.

- 기본 입출력 관리자

모든 파일 입출력의 시작과 종료를 책임지며, 장치 입출력과 스케줄링 및 파일 상태를 처리한다.

파일 입출력이 수행되는 장치를 선택하며, 성능을 최적화하기 위해 디스크 접근을 스케줄링한다.

- 논리 입출력

사용자들과 응용프로그램들이 레코드에 접근할 수 있도록 허용한다.

일반적인 레코드 입출력 기능을 제공하며, 파일에 대한 기본적인 데이터를 유지한다.

- 파일 관리 요소

파일 구성과 접근

- 파일 구성 선택시 기준

짧은 접근 시간

쉬운 업데이트

저장의 경제성

간단한 유지 관리

높은 신뢰성

- 일반적인 파일 구성 유형

더미 파일

순차 파일

인덱스 순차 파일

인덱스 파일

직접 or 해쉬 파일

파일 구성 유형

- 더미 파일

가장 단순한 형태로, 데이터는 도착하는 순서에 따라 수집된다.

각 레코드는 한 연산 동안 도착한 데이터를 구성한다.

- 순차파일

가장 일반적인 파일 구조로, 구정된 형식의 레코드이다.

키 필드가 레코드를 식별하며, 디스크 뿐 아니라 테이프에도 쉽게 저장되는 유일한 구성이다.

- 인덱스 순차파일

무작위 접근을 지원하기 위해 파일에 인덱스를 추가한다.

더 효율적인 접근을 위하여 여러 단계의 인덱스가 사용된다.

- 인덱스 파일

오직 인덱스를 통해서만 레코드에 접근 가능하다.

가변 길이 레코드를 사용 가능하다.

- 직접 또는 해시파일

주소가 알려진 블록을 직접 접근하는 방법으로, 키 값에 대해 해싱이 필요하다.

매우 빠른 접근이다.

고정 크기의 레코드가 사용되며, 항상 한번에 하나의 레코드만 접근된다.

Inodes

- 모든 유형의 UNIX 파일은 inode 를 통해 운영체제가 관리한다.

- inode 구성요소 : 파일 모드, 소유자명, 그룹명, 파일 크기, 마지막 접근 정보, 마지막 수정 정보, 아이노드 수정 정보

- 하나의 파일은 하나의 inode 가 관리한다.

UNIX 파일시스템 구성 요소

- 부트블록 : 운영체제를 부팅하는데 필요한 코드

- 수퍼블록 : 파티션 크기, inode 테이블 크기 등 파일시스템에 대한 속성과 정보 포함

- Inode 테이블 : 파일별 inode 들의 집합

- 데이터 블록 : 데이터 파일과 서브디렉토리에 할당 가능한 저장 공간

from http://jyeonnyang2.tistory.com/120 by ccl(A) rewrite - 2021-12-05 14:26:58