※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
파일 시스템
파일 시스템은 파일의 저장, 액세스, 공유, 보호 등 보조기억장치에서의 파일을 총괄하는 파일 관리 기술입니다.
파일 시스템의 기능 및 특징
- 사용자와 보조기억장치에서 인터페이스를 제공합니다.
- 사용자가 파일을 생성, 수정, 제거할 수 있도록 합니다.
- 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 합니다.
- 파일 공유를 위해서 판독만 허용, 기록만 허용, 수행만 허용 또는 이들을 여러 형태로 조합한 것 등 여러 종류의 액세스 제어 방법을 제공합니다.
- 사용자가 적합한 구조로 파일을 구성할 수 있도록 합니다.
- 불의의 사태를 대비하여 파일의 예비(backup)와 복구(recovery) 등의 기능을 제공합니다.
- 사용자가 물리적 장치 이름 대신에 기호화된 이름을 사용할 수 있도록 합니다.
- 사용자가 파일을 편리하게 사용할 수 있도록 파일의 논리적 상태(디렉터리)를 보여주어야 합니다.
- 파일을 안전하게 사용할 수 있도록 하고, 파일이 보호되어야 합니다.
- 파일의 정보가 손실되지 않도록 데이터 무결성을 유지해야 합니다.
※ 기호화된 이름
콘솔(키보드와 모니터가 조합된 장치)은 'CCN', 프린터는 'PRN'과 같이 표시하는걸 의미합니다.
※ 무결성
데이터를 전송하는 도중에 데이터가 수정되지 않도록 하는 것을 의미합니다.
파일 디스크립터(File Descriptor, 파일 서술자)
파일 디스크립터의 개요
파일 디스크립터는 파일을 관리하기 위한 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록을 의미하며, 파일 제어 블록(FCB, File Control Block)이라고도 합니다.
- 파일 디스크립터는 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있습니다.
- 보통 파일 디스크립터는 보조기억장치에 내에 저장되어 있다가 해당 파일을 OPEN 할때 주기억장치로 옮겨집니다.
- 파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없습니다.
파일 디스크립터의 정보
- 파일 이름 및 파일의 크기
- 보조기억장치에서의 파일 위치
- 파일 구조 : 순차 파일, 색인 순차 파일, 색인 파일 등
- 보조기억장치의 유형 : 자기 디스크, 자기 테이프 등
- 액세스 제어 정보
- 파일 유형 : 텍스트 파일, 목적 프로그램 파일(2진 파일, 기계어 파일, 실행 파일) 등
- 생성 날짜와 시간, 제거 날짜와 시간
- 최종 수정 날짜 및 시간
- 액세스한 횟수 : 파일 사용 횟수
※ 텍스트 파일
사용자가 읽을 수 있는 정보를 포함하는 파일
※ 목적 프로그램 파일
컴퓨터가 읽을 수 있는 정보를 포함하는 파일
파일의 구조
파일의 구조는 파일을 구성한는 레코드들이 보조기억장치에 편성되는 방식을 의미합니다.
편성 방법에 따라 순차 파일, 색인 순차 파일, 랜덤 파일, 분할 파일등이 있습니다.
- 순차 파일(Sequential File, 순서 파일)
- 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것을 의미합니다.
- 파일의 레코드들이 순차적으로 기록되어 판독할 때에도 순차적으로 접근하기 때문에
순차 접근 파일(SAM, Sequential Access Method)이라고도 합니다. - 급여 업무처럼 전체 자료를 처리 대상으로 일괄 처리하는 업무에 사용됩니다.
- 순차 접근이 가능한 자기 테이프를 모형화한 구조입니다.
- 직접 파일(Direct File)
- 파일을 구성하는 레코드를 임의의 물리적 저장공간에 기록하는 것입니다.
- 레코드에 특정 기준으로 키가 할당되어, 해싱 함수(Hashing Function)를 이용하여 이 키에 대한 보조기억장치의 물리적 상대주소를 계산한 후 해당하는 레코드를 저장합니다.
- 레코드는 해싱 함수에 의해 계산된 물리적 주소를 통해 접근이 가능합니다.
- 임의 접근이 가능한 자기 디스크나 자기 드럼을 사용합니다.
- 색인 순차 파일(Indexed Sequential File)
- 순차 파일과 직접 파일에서 지원하는 편성 방법을 결합된 형태입니다.
- 색인(인덱스)를 이용한 순차적인 접근 방법을 제공하여 색인 순차 접근 방식(ISAM, Index Sequential Access Method)이라고도 합니다.
- 각 레코드를 키 값 순으로 논리적으로 저장하고, 시스템은 각 레코드에 실제 주소가 저장된 색인을 관리합니다.
- 레코드를 참조할려면 색인을 탐색한 후 색인이 가르키는 포인터(주소)를 사용하여 참조할 수 있습니다.
- 일반적으로 자기 디스크에서 많이 사용되며, 자기 디스크에서는 사용할 수 없습니다.
- 색인 순차 파일은 기본 영역, 색인 영역, 오버플로 영역으로 구성되어 있습니다.
- 기본 영역(Prime Area)
실제 레코드가 기록되는 데이터 영역으로, 각 레코드들은 키 값 순으로 저장됩니다. - 색인 영역(Index Area)
기본 영역에 있는 레코드들의 위치를 찾아가는 색인이 기록되는 영역으로 트랙 색인 영역, 실린더 색인 영역, 마스터 색인 영역으로 분류합니다. - 오버플로 영역(Overflow Area)
기본 영역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능할 때를 대비하여 예비로 확보해 둔 영역입니다.
- 기본 영역(Prime Area)
※ 트랙 색인 영역
각 실린더 마다 하나씩 만들어지며, 각 트랙에 기록된 데이터의 레코드 키 값 중 최대 키 값과 주소 정보가 기록되어 있는 영역입니다.
※ 실런더 색인 영역
각 파일당 하나씩 만들어 지며, 각 트랙 색인의 최대 키 값들로 구성되어 있는 영역입니다.
※ 마스터 색인 영역
실린더 색인이 많을 경우 그것을 일정한 크기의 블럭으로 구성하고, 해당 레코드가 어느 실런더 영역에 있는지 나타내는 영역입니다.
디렉터리의 구조
디렉터리는 파일 시스템에 내부에 있는 것으로, 효율적인 파일 사용을 위해 디스크에 존재하는 파일에 대한 여러 정보를 가지고 있는 특수한 형태의 파일입니다.
디렉터리 구조의 종류
- 1단계 디렉터리
- 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리하는 구조입니다.
- 모든 파일들이 유일한 이름을 가지고 있어야 합니다.
- 2단계 디렉터리
- 중앙에 마스터 디렉터리 파일이 있고, 그 아래에 사용자별로 서로 다른 디렉터리 파일이 있는 2계층 구조입니다.
- 마스터 파일 디렉터리는 사용자 파일 디렉터리를 관리하고, 사용자 파일 디렉터리는 사용자별 파일을 관리합니다.
- 트리 디렉터리
- 하나의 루트 디렉터리와 여러 개의 종속(서브) 디렉터리로 구성된 구조입니다.
- DOS, Windows, UNIX 등의 운영체제에서 사용되는 구조로, 디렉터리 탐색은 포인터에 의해 계층적으로 이루어져 있습니다.
- 비순환 그래프 디렉터리
- 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조입니다.
- 공유된 파일을 삭제할 경우 고아 포인터(Dangling Pointer)가 발생할 수 있습니다.
- 일반적인 그래프 디렉터리
- 트리 구조에 링크(Link)를 첨가시켜 순환을 허용하는 그래프 구조입니다.
- 불필요한 파일을 제거하여 사용 공간을 늘리기 위한 참조 계수기가 필요합니다.
※ 고아 포인터
비순환 그래프에서 고아 포인터는 그래프에서 부모 노드가 삭제되었거나 더 이상 유효하지 않은 경우,
그 부모 노드를 참조하던 포인터가 유효하지 않게 된 상태를 의미합니다.
자원 보호
자원 보호는 컴퓨터 시스템에서 사용자, 프로세스 등과 같은 주체가 프로세스, CPU, 기억장치 등과 같은 객체(자원)에 불법적으로 접근하는 것을 제어하고, 객체(자원)의 물리적인 손상을 예방하는 기법을 의미합니다.
자원을 보호하기 위한 기법으로는 접근 제어 행렬, 전역 테이블, 접근 제어 리스트, 권한(자격) 리스트가 있습니다.
- 접근 제어 행렬(Access Control Matrix)
- 자원 보호의 일반적인 모델로, 객체에 대한 접근 권한을 행렬로써 표시한 기법입니다.
- 행(Row)은 영역(사용자, 프로세스), 열(Column)은 객체, 각 항은 접근 권한의 집합으로 구성되어 있습니다.
- 전역 테이블(Global Table)
- 가장 단순한 구현 방법으로, 세 개의 순성쌍인 영역, 객체, 접근 권한의 집합을 목록 형태로 구성한 기법입니다.
- 테이블이 매우 커서 주기억장치에 저장할 수 없으므로 가상기억장치 기법을 사용해야 하며, 주기억장치에 저장될 경우 공간을 낭비하게 됩니다.
- 접근 제어 리스트(Access Control List)
- 접근 제어 행렬에 있는 각 열, 즉 객체를 중심으로 접근 리스트를 구성한 것입니다.
- 긱 객체에 대한 리스트는 영역, 접근 권한의 순서쌍으로 구성되며, 객체에 대한 접근 권한을 갖는 모든 영역을 정의합니다.
- 접근 권한이 없는 영역은 제외됩니다.
- 권한(자격) 리스트(Capability List)
- 접근 제어 행렬에 있는 각 행, 즉 영역을 중심으로 권한 리스트를 구성한 것입니다.
- 각 영역에 대한 권한 리스트는 객체와 그 객체에 허용된 조작 리스트로 구성됩니다.
- 권한 리스트는 영역과 결합되어 있지만 그 영역에서 수행중인 프로세스가 직접 접근할 수 없습니다.
왜냐하면 권한 리스트는 운영체제에 의해 유지되며 사용자에 의해서 간접적으로만 접근되는 보호된 객체이기 때문입니다.
※ 주체 / 객체 / 접근 권한
주체
객체에 접근하는 것으로 사용자, 프로세스 등을 의미합니다.
객체
정보를 갖고 있는 것으로 디스크, 데이프, CPU, 기억 장치, 자료 구조, 프로세스 등을 의미합니다.
접근 권한
주체가 객체에 어떤 형태로 접근할 수 있는가를 정의한 것으로, 읽기(r), 쓰기(w), 실행(x) 등이 있습니다.
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 응용 SW 기초 기술 활용 - 운영체제의 실체 (2) | 2024.06.11 |
---|---|
정보처리산업기사 - 응용 SW 기초 기술 활용 - 분산 운영체제 (2) | 2024.06.08 |
정보처리산업기사, 정보처리기사 - 디스크 스케줄링 SSTF(Shortest Seek Time First) 알고리즘 집중 탐색!! (0) | 2024.06.06 |
정보처리산업기사, 정보처리기사 - 디스크 스케줄링 FCFS(First-Come, First-Served) 집중 탐색!! (0) | 2024.06.05 |
정보처리산업기사 - 응용 SW 기초 기술 활용 - 디스크 스케줄링 (0) | 2024.06.04 |