- 파일
: 사용자가 작성한 서로 관련 있는 레코드의 집합체
: 각 파일마다 이름, 위치, 크기, 작성 시기 등의 여러 속성을 가지고 있음
- 파일 특성을 결정하는 기준
1. 소멸성(Volatility): 파일을 추가하거나 제거하는 작업의 빈도수
2. 활성률(Activity) - (수행 레코드 수 / 전체 레코드 수 * 100)
: 프로그램이 한 번 수행되는 동안 처리되는 레코드 수의 백분율
3. 크기(Size): 파일에 저장되어 있는 정보량
- 파일 시스템
: 파일의 저장, 엑세스, 공유, 보호 등 보조기억장치에서의 파일을 총괄하는 파일관리기술
- 파일 시스템의 기능 및 특징
: 사용자와 보조기억장치 사이에서 인터페이스를 제공
: 사용자가 파일을 생성, 수정, 제거할 수 있도록 함
: 타인의 파일을 공동으로 사용할 수 있도록 함
: 사용자가 적합한 구조로 파일을 구성할 수 있도록 함
: 예비와 복구 등의 기능을 제공(불의의 사태 대비)
: 물리적 장치 이름 대신 기호화된 이름을 사용할수 있도록함
: 파일 공유를 위해서 여러 종류의 접근 제어 기법을 제공
- 파일 디스크립터(File Descriptor, 파일 서술자) - FCB
: 파일을 관리하기 위한 시스템이 필요로 하는 파일에 대한 정보를 갖고 있는 제어블록, 파일제어블록(FCB: File Control Block)이라고도 한다
: 파일마다 독립적으로 존재하고,
: 시스템에 따라 다른 구조를 가질 수 있다
: 보통 파일 디스크립터는 보조기억장치 내에 저장되어 있다가 해당 파일이 Open될 때 주기억장치로 옮겨진다
: 파일 디스크립터는 파일 시스템이 관리하므로, 사용자가 직접 참조할 수 없다
- 파일 디스크립터의 정보
: 파일 이름 및 파일크기
: 보조기억장치에서의 파일 위치
: 파일 구조
: 보조기억장치의 유형
: 엑세스 제어 정보(접근제어 정보)
: 파일 유형
: 생성 날짜와 시간, 제거 날짜와 시간
: 최종 수정 날짜 및 시간 (최초 수정 x)
: 엑세스한 횟수 - 파일 사용 횟수
* 접근제어(Access Control) : 각 파일의 접근 목록을 두어 접근 가능한 사용자와 가능한 동작을 기록한 후 이를 근거로 접근을 허용하는 기법
2. 파일의 구조
: 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미
: 편성 방법에 따라 순차 파일, 색인 순차 파일, 랜덤 파일, 분할 파일 등이 있음
1. 순차 파일(Sequential File, 순서 파일)
: 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것을 의미
: 순차 접근 방식(SAM: Sequential Access Method)라고도 함
: 대화식 처리보다 일괄 처리에 적합
: 적합한 기억 매체로는 자기 테이프를 쓰면 편리하다
- 장점
: 파일 구성이 용이하고, 기억 공간의 이용 효율이 높다
: 레코드만 저장하고 부가적인 정보는 저장하지 않으므로 기억공간의 낭비를 방지
: 접근 속도가 빠르다
: 어떠한 기억 매체에서도 실현 가능
: 기억장치의 효율이 높다
-단점
: 새로운 레코드를 삽입/삭제하는 경우 전체 파일을 복사해야함으로 시간이 많이 걸림
: 검색효율이 낮다
2. 직접 파일(Direct File) - 직접 접근 방식(DAM: Direct Access Method)
: 파일을 구성하는 레코드를 임의의 물리적 저장공간에 기록하는 방식
: 레코드에 특정 기준으로 키가 할당되며, 해싱 함수, 사상함수를 이용하여 이 키에 대한 보조기억장치의 물리적 상대 레코드 주소를 계산한 후 해당하는 주소에 레코드를 저장
: 자기 디스크나 자기 드럼 사용
- 장점
: 물리적 주소를 통하여 파일의 각 레코드에 직접 접근하거나 기록할 수 있으며, 접근 및 기록 순서에는 제약이 없다
: 접근 시간이 바르고, 레코드의 삽입, 삭제, 갱신이 용이
- 단점
: 주소 변환 과정에 시간이 소요
: 기억공간의 효율 저하
: 기억장치의 물리적 구조에 대한 지식이 필요
: 프로그래밍 복잡
3. 색인 순차 파일(Indexed Sequential File) - (ISAM: Index Sequential Access Method)
: 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태
: 색인 순차 접근 방식(ISAM: Index Sequential Access Method)
: 각 레코드를 키 값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된 색인을 관리
: 레코드를 참조하려면 색인을 탐색한 후 색인이 가르키는 포인터를 사용하여 참조가능
: 자기 디스크 사용
: 기본영역, 색인영역(트랙, 마스터, 실린더), 오버플로우 영역이 있다
: 원하는 레코드에 대한 순차 및 직접접근 형태를 모두 지원가능(순차파일은 직접접근x)
- 장점
: 순차처리와 임의처리가 모두 가능하여, 효율적인 검색이 가능, 삭입, 삭제, 갱신 용이
- 단점
: 색인 영역이나, 오버플로우 영역 설정에 대한 기억공간이 필요
: 색인을 참조하기 때문에 접근시간이 직접 파일보다 느리다
4. 분할 파일
: 하나의 파일을 여러개의 파일로 분할하여 저장하는 형태
3. 디렉터리 구조
- 디렉터리
: 효율적인 파일 사용을 위해 디스크에 존재하는 파일에 대한 정보를 가지고 있는 특수한 형태의 파일
- 디렉터리 구조
1. 1단계 디렉터리
: 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조
: 모든 파일이 유일한 이름을 가지고 있어야 함
: 모든 파일이 같은 디렉터리 내에 유지되므로 이해 용이
: 파일이나 사용자의 수가 증가하면 파일 관리가 복잡해짐
: 파일명의 길이는 시스템에 따라 제한됨
2. 2단계 디렉터리
: 중앙에 마스터 디렉터리(MFD)가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉터리(UFD)가 있는 2계층 구조
: 마스터 파일 디렉터리는 각 사용자의 이름이나 계정 번호, 그리고 사용자 파일 디렉터리를 가르키는 포인터를 갖고 있으며, 사용자 파일 디렉터리를 관리
: 사용자 파일 디렉터리는 오직 한 사용자가 갖고 있는 파일들에 대한 정보만 갖고 있으며, 해당사용자의 파일을 관리
: 하나의 사용자 파일 디렉터리에서는 유일한 이름을 사용해야 하지만 서로 다른 디렉터리에서는 동일한 파일 이름을 사용가능
: 각 사용자는 다른 사용자의 파일 디렉터리를 검색할 수 없다
: 특정 파일을 지정할 때는 사용자 이름과 파일 이름을 함께 지정해야 하므로 파일 이름이 길어진다(사용자1/파일1)
: 하나의 루트 디렉터리와 여러 개의 종속(서브) 디렉터리로 구성된 구조
: DOS, Window, UNIX 등의 운영체제에서 사용되는 디렉터리 구조
: 서로 다른 디렉터리 내에 동일한 이름의 파일이나 디렉터리를 생성 가능
: 디렉터리의 생성과 제거가 비교적 용이
: 디렉터리 탐색은 포인터를 사용하며, 경로명은 절대 경로면과 상대 경로면을 사욤
- 절대 경로명
: 루트에서부터 지정된 파일 위치까지의 경로
- 상대 경로명
: 현재 디렉터리를 기준으로 지정된 파일 위치까지의 경로
4. 비순환 그래프 디렉터리 구조(Acyclic Graph Directory)
: 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는것으로, 사이클이 허용되지 않는 구조
: 디스크의 공간 절약
: 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있다
: 디렉터리 구조가 복잡하고, 공유된 하나의 파일을 탐색할 경우 다른 경로로 두 번이상 찾아갈 수 있으므로 시스템 성능이 저하될 수 있음
: 공유된 파일을 삭제할 경우 고아 포인터(Dangling Pointer)가 발생할 수 있음
5. 순환 그래프 디렉터리 구조
: 트리 구조에 링크(Link)를 첨가시켜 순환을 허용하는 그래프 구조
: 디렉터리와 파일 공유에 완전한 융통성이 있음
: 탐색 알고리즘이 간단, 파일과 디렉터리를 엑세스 하기 쉬움
: 사용되지 않은 디스크 공간을 되찾기 위해 쓰레기 수집(Garbage Collection)이 필요
: 불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기가 필요
4. 디스크 공간 할당 방법
- 연속 할당(Contiguous Allocation)
: 연속 할당은 파일을 디스크의 연속된 기억공간에 할당하는 방법으로, 생성되는 파일 크기만큼의 공간이 있어야 한다.
: 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근시간빠름
-> 가장 큰 장점
: 파일의 크기에 알맞은 연속 공간이 없을 경우 파일이 생성되지 않는다
: 파일의 생성과 삭제가 반복되면서 단편화 발생
: 단편화를 줄이기 위해서는 재배치에 의한 주기적인 압축이 필요
: 파일의 크기가 시간에 따라 변경될 경우 구현하기가 어려움
- 불연속 할당(Non-Contiguous Allocation)
: 파일의 크기가 변경될 경우 구현이 어려운 연속 할당의 단점을 보안하기 위한 방법
: 디스크의 공간을 일정 단위로 나누어 할당하는 기법
: 섹터 단위 할당과 블록 단위 할당 방법이 있음(링크를 이용)
- 섹터 단위 할당
: 하나의 파일이 디스크의 섹터 단위로 분산되어 할당되는 방법으로, 하나의 파일에 속하는 섹터들이 연결 리스트로 구성
: 디렉터리는 파일의 시작과 마지막 주소에 대한 정보만 가지고 있음
: 디스크의 단편화가 발생되지 않음
: 파일 생성 시 파일 크기를 알 필요가 없고, 파일의 크기 만큼의 연속된 공간이 없어도 저장이 가능
: 탐색 시간이 오래 걸리고, 직접 접근이 불가능하다
- 블록 단위 할당
: 하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 방법
: 블록 체인 할당, 색인 블록 체인 할당, 블록 지향 파일 사상 기법이 있음
5. 자원 보호
: 컴퓨터 시스템에서 사용자, 프로세스, 등과 같은 주체가 프로세스, CPU, 기억장치 등과 같은 객체에 불법적으로 접근하는 것을 제어하고, 객체의 물리적인 손상을 예방하는 기법
- 자원 보호 기법 **
1. 접근 제어 행열
2. 전역 테이블
3. 접근 제어 리스트
4. 권한 리스트
5. 록-키(Lock-Key)
: 접근 제어 리스트와 권한 리스트를 절충한 기법
: 각 객체는 Lock, 각 영역은 Key가 있어서 영역과 객체가 일치하는 경우에만 해당 접근가능
- 주체 / 객체 / 접근권한
: 주체 - 객체에 접근하는 것으로 사용자, 프로세스 등을 의미
: 객체 - 정보를 갖고 있는 것으로 디스크, 테이프, CPU기억장치, 프로세스 등을 의미
: 접근 권한 - 주체가 객체에 접근할 수 있는 권한을 정의, 읽기(R), 쓰기(W), 실행(X)
6. 보안(Security)
댓글 없음:
댓글 쓰기