Files
- 사용자가 생성한 데이터의 집합
- 연속적인 논리적 주소 공간 (저장장치의 물리적 특성으로부터 분리
- 유익한 특성
- 장기간 보존
- 프로세스들 간에 공유 가능
- 편리한 내부 구조
- 파일 타입 : 데이터 파일, 프로그램 파일
- 파일 형태 : 텍스트 파일, 소스 파일, 실행 파일 등 확장자로 구별
File Systems
- 데이터를 파일로 저장할 수 있는 방법
- 연산
- 생성
- 삭제
- 열기
- 닫기
- 읽기
- 쓰기
파일 구조 관련 주요 용어
- 필드
- 데이터의 가장 기본적 요소
- 하나의 값 저장
- 고정 또는 가변 길이
- 레코드
- 몇몇 응용에 의해 하나로 취급될 수 있는 관련 필드 묶음
- 고정 도는 가변 길이
- 파일
- 유사한 레코드의 묶음
- 하나의 개체로 취급
- 이름으로 참조됨
- 파일에 대해 접근 제어가 적용됨
- 데이터베이스
- 관련된 데이터의 집합
- 데이터 요소 사이의 관계가 명시적
- 여러 응용에 의해서 사용될 수 있도록 설계됨
- 하나 이상 유형의 파일로 구성됨
- 전형적인 파일 연산
-> 모두 검색, 하나 검색, 다음 검색, 이전 검색 : 파일시스템에서 쉬움
-> 하나 삽입, 하나 삭제, 하나 갱신, 소수 검색 : 파일시스템에서 어려움
- 파일관리 시스템의 목적
- 사용자의 데이터 관리 요구사항 만족
- 파일의 데이터가 유효하도록 보장
- 성능 최적화
- 다양한 유형의 저장 장치들에 대한 입출력 지원
- 파일시스템 소프트웨어 구조
- 장치 드라이버
- 가장 하위 레벨로 주변 장치들과 직접 통신한다.
- 입출력 연산을 시작하며 입출력 요청의 완료를 처리한다
- 기본 파일 시스템
- 물리적인 입출력 레벨로, 컴퓨터 시스템 외부 환경과의 주된 인터페이스이다.
- 디스크 시스템과의 데이터 블록 교환을 처리한다.
- 보조저장장치 상에서의 블록 배치를 맡으며, 블록의 메인 메모리 버퍼링을 맡는다.
- 기본 입출력 관리자
- 모든 파일 입출력의 시작과 종료를 책임지며, 장치 입출력과 스케줄링 및 파일 상태를 처리한다.
- 파일 입출력이 수행되는 장치를 선택하며, 성능을 최적화하기 위해 디스크 접근을 스케줄링한다.
- 논리 입출력
- 사용자들과 응용프로그램들이 레코드에 접근할 수 있도록 허용한다.
- 일반적인 레코드 입출력 기능을 제공하며, 파일에 대한 기본적인 데이터를 유지한다.
- 파일 관리 요소
파일 구성과 접근
- 파일 구성 선택시 기준
- 짧은 접근 시간
- 쉬운 업데이트
- 저장의 경제성
- 간단한 유지 관리
- 높은 신뢰성
- 일반적인 파일 구성 유형
- 더미 파일
- 순차 파일
- 인덱스 순차 파일
- 인덱스 파일
- 직접 or 해쉬 파일
- 더미 파일
- 가장 단순한 형태로, 데이터는 도착하는 순서에 따라 수집된다.
- 각 레코드는 한 연산 동안 도착한 데이터를 구성한다.
- 순차파일
- 가장 일반적인 파일 구조로, 구정된 형식의 레코드이다.
- 키 필드가 레코드를 식별하며, 디스크 뿐 아니라 테이프에도 쉽게 저장되는 유일한 구성이다.
- 인덱스 순차파일
- 무작위 접근을 지원하기 위해 파일에 인덱스를 추가한다.
- 더 효율적인 접근을 위하여 여러 단계의 인덱스가 사용된다.
- 인덱스 파일
- 오직 인덱스를 통해서만 레코드에 접근 가능하다.
- 가변 길이 레코드를 사용 가능하다.
- 직접 또는 해시파일
- 주소가 알려진 블록을 직접 접근하는 방법으로, 키 값에 대해 해싱이 필요하다.
- 매우 빠른 접근이다.
- 고정 크기의 레코드가 사용되며, 항상 한번에 하나의 레코드만 접근된다.
Inodes
- 모든 유형의 UNIX 파일은 inode 를 통해 운영체제가 관리한다.
- inode 구성요소 : 파일 모드, 소유자명, 그룹명, 파일 크기, 마지막 접근 정보, 마지막 수정 정보, 아이노드 수정 정보
- 하나의 파일은 하나의 inode 가 관리한다.
UNIX 파일시스템 구성 요소
- 부트블록 : 운영체제를 부팅하는데 필요한 코드
- 수퍼블록 : 파티션 크기, inode 테이블 크기 등 파일시스템에 대한 속성과 정보 포함
- Inode 테이블 : 파일별 inode 들의 집합
- 데이터 블록 : 데이터 파일과 서브디렉토리에 할당 가능한 저장 공간
'운영체제(OS)' 카테고리의 다른 글
Operating Systems 14. File System Implementation (0) | 2021.12.05 |
---|---|
Operating Systems 13. File System Interface (0) | 2021.12.05 |
Operating Systems 8. Deadlocks (0) | 2021.12.05 |
Operating Systems 7. POSIX Synchronization (0) | 2021.12.04 |
Operating Systems 6. Synchronization Tools - (2) (0) | 2021.12.04 |
댓글