학습내용
1. 정보관리(Information Management)
학습목표
1. 파일과 파일시스템을 이해 할 수 있다
2. 디스크 공간 할당 기법에 대해 설명 할 수 있다
3. 자원의 보호와 보안에 대해 이해 할 수 있다
학습내용
1. 파일과 파일시스템
(1) 파일
1) 파일의 개요
① 파일은 사용자가 작성한 서로 관련 있는 레코드의 집합체를 의미
2) 파일 특성을 결정하는 기준
① 소명성(Volatility) ② 활성률(Activity) ③ 크기(Size) (2) 파일시스템
(2) 파일시스템
1) 파일 시스템의 기능 및 특징
① 사용자와 보조기억장치 사이에 인터페이스를 제공
② 사용자가 파일을 생성, 수정, 제거할 수 있게 함
③ 불의의 사태에 대비하여 파일의 백업(Backup)과 복구(Recovery)등의 기능을 제공
④ 파일을 안전하게 사용할 수 있도록 하고 파일이 보호되어야 함
⑤ 파일의 정보가 손실되지 않도록 데이터 무결성을 유지해야 함
(3) 파일 디스크립터(File Descriptor)
1) 파일 디스크립터의 개요
① 파일을 관리하기 위한 시스템이 필요로 하는 파일에 대한 정보를 갖는 제어 블록을 의미
② 파일마다 독립적으로 존재하며 시스템에 따라 다른 구조를 가질 수 있음
③ 보조기억장치 내에 저장되어 있다가 해당 파일이 오픈될 때 주기억장치로 이동
④ 파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없음
⑤ 파일 제어 블록(FCB , File Control Block)이라고도 함
2) 파일 디스크립터의 정보
① 파일 이름 ② 보조기억장치에서의 파일 위치
③ 파일 구조 ④ 보조기억장치의 유형
⑤ 액세스 제어 정보 ⑥ 파일 유형
⑦ 생성과 제거의 날짜와 시간 ⑧ 최종 수정 날짜 및 시간
2. 파일의 구조
(1) 순차 파일(Sequential File)
순차 파일은 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장 공간에 기록
1) 파일의 레코드들이 순차적으로 기록되어 판독할 때 순차적으로 접근
2) 순차 접근 방식(SAM , Sequential Access Method)이라고 함
3) 순차 접근이 가능한 자기 테이프를 모형화한 구조
4) 장점
① 파일의 구성이 용이
② 순차적으로 읽을 수 있으므로 기억 공간의 이용 효율이 높음
③ 물리적으로 연속된 공간에 저장되므로 접근 속도가 높음
④ 어떠한 기억 매체에서도 구현 가능
5) 단점
① 파일에 새로운 레코드를 삽입하거나 삭제 시 파일 전체를 복사 하므로 시간이 많이 걸림
② 파일의 특정 레코드를 검색하려면 순차적으로 접근하기 때문에 검색 효율이 낮음
(2) 직접 파일(Direct File)
직접 파일은 파일을 구성하는 레코드를 임의의 물리적 저장 공간에 기록
1) 레코드에 특정 기준으로 키를 할당
2) 직접 접근 방식(DAM , Direct Access Method)이라고 함
3) 해싱함수(Hashing Function)를 이용하여 물리적 상대 레코드 주소를 계산한 후 해당주
소에 레코드 저장
4) 레코드는 해싱 함수에 의해 계산된 물리적 주소를 통해 접근
5) 직접파일의 장점
① 직접 접근 기억장치(DASD)의 물리적 주소를 통하여 파일의 각 레코드에 직접 접근이
가능하여 접근 및 기록의 순서에 제약이 없음
② 접근 시간이 빠르고 레코드의 삽입, 삭제, 갱신이 용이
6) 직접파일의 단점
① 주소 변환 과정으로 인하여 시간이 소요됨
② 기억 공간의 효율이 저하될 수 있음
(3) 색인 순차 파일(Indexed Sequential File)
색인을 이용한 순차적인 접근 방법을 제공
1) 색인 순차 접근 방식(ISAM , Index Sequential Access Method)이라고 함
2) 각 레코드를 키값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된
색인을 관리
3) 자기 디스크에서 많이 사용되며 자기 테이프에서는 사용할 수 없음
4) 물리적 특성에 따른 색인 구성
① 트랙 색인(track index)
② 실린더 색인(cylinder index)
③ 마스터 색인(master index)
5) 장점
① 순차 처리와 임의 처리가 모두 가능
② 효율적인 검색이 가능하고 삽입, 삭제 갱신이 용이
6) 단점
① 색인 영역이나 오버플로우 영역을 설정해야 하므로 추가적인 기억 공간이 필요
② 색인을 이용하여 참조하기 때문에 접근 시간이 직접 파일보다 느림
3. 디렉토리 구조
(1) 1단계(단일) 디렉토리 구조
가장 간단하고, 모든 파일이 하나의 디렉토리 내에 위치하여 관리
(1) 모든 파일들이 유일한 이름을 가지고 있어야 함
(2) 모든 파일이 같은 디렉토리 내에 유지되므로 이해가 용이
(3) 파일이나 사용자의 수가 증가하면 파일 관리가 복잡
(2) 2단계 디렉토리 구조
중앙에 마스터 파일 디렉토리가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉토리가 있음
(1) 마스터 파일 디렉토리는 사용자 파일 디렉토리 관리
(2) 하나의 사용자 파일 디렉토리에서는 유일한 파일 이름을 사용해야 하지만 다른 사용자 파
일 디렉토리에서는 동일한 파일 이름 사용 가능
(3) 각 사용자는 다른 사용자의 파일 디렉토리를 검색할 수 없으므로 업무 협력 및 파일의 공
유가 어려움
(3) 계층적(트리) 디렉토리 구조
하나의 루트 디렉토리와 여러 개의 서브 디렉토리로 구성
(1) Dos, Windows, UNIX에서 사용하는 구조
(2) 파일 공유와 파일 관리가 쉽고 디렉토리 조작이 간편
(4) 비순환(비주기) 그래프 디렉토리 구조
하위 파일이나 하위 디렉토리를 공동으로 사용할 수 있는 구조로 사이클이 허용되지 않는 구조
(1) 디스크 공간을 절약
(2) 하나의 파일이나 디렉토리가 여러 개의 경로 이름을 가질 수 있음
(3) 공유된 파일을 임의로 제거하면 고아 포인터(dangling pointer) 문제가 발생
* 댕글링포인터 : 메모리가 해제되어도 주소값을 가지는 현상
(5) 일반적인 그래프 디렉토리 구조
트리 구조에 링크를 이용하여 순환을 허용하는 그래프 구조
(1) 탐색 알고리즘이 간단하여 파일과 디렉토리를 액세스하기 쉬움
(2) 사용되지 않은 디스크 공간을 되찾기 위해 쓰레기 수집(Garbage Collection)이 필요
(3) 불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기가 필요
4. 디스크 공간 할당 방법
(1) 연속 할당(Contiguous Allocation)
파일을 디스크의 연속된 기억 공간에 할당하는 방법으로 생성되는 파일크기만큼의 공간이 요구됨
1) 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근 시간이 빠름
2) 디렉토리가 단순하고, 관리 및 구현이 용이
3) 파일 크기에 알맞은 연속 공간이 없을 경우 파일이 생성되지 않음
4) 파일의 생성과 삭제가 반복되면서 단편화가 발생
5) 단편화를 줄이기 위해서 주기적인 압축이 필요
6) 사용자는 만들고자 하는 파일의 크기에 해당하는 디스크 공간을 미리 지정해 주어야 함
(2) 불연속 할당
디스크 공간을 일정 단위로 나누어 할당하는 기법으로 섹터 단위 할당과 블록 단위 할당이 있음
1) 특징
① 주기억장치 내의 이용 부분을 여러 작은 부분으로 나누어 실행
② 가상기억장치에서 주로 사용하는 기법
③ FAT(File Allocation Table)는 이 기법의 변형
④ 외부 단편화가 발생하지 않음
⑤ 각 파일을 디스크 블록의 연결된 리스트
2) 섹터 단위 할당하나의 파일이 디스크에 섹터 단위로 분산되어 할당되는 방법으로 연결 리스트
로 구성됨
3) 블록 단위 할당
하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 방법
① 블록 체인 기법
• 하나의 블록은 여러 개의 섹터로 구성
• 순차적으로 탐색해야 하므로 속도가 느림
• 삽입/삭제가 간단
② 색인(인덱스) 블록 체인 기법
• 파일마다 색인 블록을 두고 파일이 할당된 블록의 모든 포인터를 색인 블록에 모아두어
직접 접근을 가능하게 하는 방법
• 탐색 시간이 빠름
• 삽입 시 색인 블록을 재구성해야 함
• 색인 블록이 차지하는 만큼의 기억장치 낭비가 발생
③ 블록 지향 파일 사상 기법
• 포인터 대신 파일 할당 테이블(FAT , File Allocation Table)에 있는 블록 번호를 사용
하는 기법
• 디렉토리는 파일 할당 테이블의 시작 위치를 가짐
※ 파일 할당 테이블(FAT , File Allocation Table) : 사용자가 해당 블록의 포인트를 실수로
지워지게 하는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터를 모아 놓은 곳
5. 자원 보호
(1) 자원 보호의 개요
1) 컴퓨터 시스템에서 사용자, 프로세스와 같은 주체들이 자원에 불법적으로 접근하는 것을
제어하고, 자원의 물리적 손상을 예방하는 기법
2) 접근 권한이 부여된 객체에게만 접근 허용
(2) 자원 보호 기법
1) 접근 제어 행렬(Access Control Matrix)
① 자원 보호의 일반적인 모델로 자원에 대한 접근 권한을 행렬로 표시한 기법
② 접근 제어 행렬 예
(E:실행가능, R:판독가능, W:기록가능)
• A는 인사파일 실행이 가능, 급여파일은 판독과 기록이 가능
• B는 인사파일 판독, 실행, 기록이 가능, 급여파일은 접근 불가
• C는 인사파일 실행이 가능, 급여파일은 판독만 가능
2) 전역 테이블
가장 단순한 구현 방법으로 영역, 객체, 접근 권한의 집합을 목록 형태로 구성한 기법
3) 접근 제어 리스트(Access Control List)
① 자원을 중심으로 접근 리스트를 구성
② 접근 권한이 없는 영역은 제외됨
③ 사용자에 의해 간접적으로 액세스되는 기법
4) 권한(자격) 리스트(Capability List)
① 영역을 중심으로 권한 리스트를 구성
② 각 영역에 대한 권한 리스트는 자원과 그 자원에 허용된 조작 리스트로 구성됨
(3) 파일 보호 기법
자원 보호 기법과 마찬가지로 파일에 대한 일반적인 접근과 손상을 방지하기 위한 기법
1) 파일의 명명(Naming) : 접근하고자 하는 파일 이름을 모르는 사용자를 접근 대상에서
제외시키는 방법
2) 비밀번호(Password) : 각 파일에 판독 암호와 기록 암호를 부여하여 암호를 아는 사용
자에게만 접근을 허용하는 방법
3) 접근 제어(Access Control)
① 사용자에 따라 공유 데이터에 접근할 수 있는 권한을 제한하는 방법
② 사용자에 따라 접근할 수 있는 파일이나 디렉토리의 목록을 정해서 사용자의 신원에 따
라 서로 다른 접근 권한을 허용함
③ 각 파일에 접근 목록을 두어 접근 가능한 사용자와 가능한 동작을 기록한 후, 이를 근거
로 접근을 허용하는 기법
※비밀번호(Password) 설정
① 추출 가능한 전화번호, 생년월일용으로는 구성하지 않는 것이 좋음
② 암호는 자주 변경하는 것이 좋음
6. 보안
1) 보안의 정의
컴퓨터 시스템 내에 있는 프로그램과 데이터에 대하여 통제된 접근 방식을 다루는 것
(2) 보안 요건
1) 기밀성 : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용
2) 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정 가능
3) 가용성 : 인가받은 사용자는 언제든지 사용 가능
4) 인증 : 컴퓨터 시스템에서 전송 정보가 오직 인가된 당사자에 의해서만 수정될 수 있도록
통제하는 것
5) 부인방지 : 데이터를 송/수신한 자가 송/수신한 사실을 부인할 수 없도록 송/수신 증거를
제공
(3) 보안 유지 기법
1) 외부 보안
① 시설 보안 : 천재지변이나 외부 침입자로부터의 보안을 의미하는 것 • 천재지변이나 사고로 인해 정보의 손실이나 파괴를 막기 위해 백업(Back-up)을 주
기적으로 실시
② 운용 보안 : 전산소 관리 및 경영자들의 정책과 통제에 의해 이루어지는 보안으로 접근
권리를 부여하여 프로그램과 데이터에 접근 할 수 있게 함
2) 내부 보안
① 하드웨어나 운영체제에 내장된 보안 기능을 이용하여 보안 문제를 해결하는 기법
② 프로그램의 신뢰성 있는 운영과 데이터의 무결성을 보장
3) 사용자 인터페이스 보안
운영체제가 사용자의 신원을 확인한 후 권한이 있는 사용자에게만 사용할 수 있게 하는
보안 기법
(4) 정보 보안 기법
1) 비밀키 시스템(Private Key System)
① 동일한 키로 데이터를 암호화하고 해독하는 대칭 암호화 기법
② 키를 아는 사람은 누구나 해독 가능 하므로 키의 비밀성을 유지하는 것이 중요
③ 암호화/복호화 속도가 빠르고 알고리즘이 단순함
④ 키의 분배가 어려움
⑤ 대표적인 방식에는 DES(Data Encryption Standard)가 있음
• DES 기법 : 평문을 64비트로 블록화 하고, 실제 키의 길이는 56비트를 이용
2) 공개키 시스템(Public Key System)
① 서로 다른 키로 데이터를 암호화하고 해독하는 비대칭 암호화 기법
② 암호키는 공개하고 해독키는 비밀로 함으로써 해독키를 가진 사람만이 해독 가능
③ 키의 분배가 용이
④ 암호화/복호화 속도가 느리고 알고리즘이 복잡함
⑤ 대표적인 방식에는 RSA(Rivest Shamir Adleman)가 있음
3) 디지털 서명 기법
손으로 쓴 서명과 같이 고유의 전자 서명으로 송신자가 전자 문서 송신 사실을 나중에 부
인할 수 없도록 하고, 작성 내용이 송/수신 과정에서 변조된 사실이 없음을 증명하는 기법
4) 인증 교환 기법
수신자가 메시지 전송 도중에 변경되지 않았음을 확인할 수 있으며, 메시지가 정당한 상대
방으로부터 전달된 것임을 확인할 수 있는 기법
5) 접근 제어 기법
데이터에 접근이 허가된 자에게만 데이터 사용을 허용하는 정책을 강화하기 위해 사용하
는 기법
※ 보안 메커니즘의 설계 원칙에서 개방된 설계의 의미
알고리즘은 알려졌으나, 그 키는 비밀인 암호 시스템의 사용을 의미
요점정리
1. 파일과 파일시스템에 대해 정리합니다. 2. 디스크 공간 할당 기법을 정리 합니다. 3. 자원의 보호와 보안에 대해 정리 합니다. 다음차시예고
수고하셨습니다. 다음 7주차에서는 “[OS-07강] 분산 운영체제”에 대해서 학습하도록 하겠습니다.
[OS-08강] 운영체제의 실제 (에필로그) (0) | 2019.07.02 |
---|---|
정보처리기사 필기 무료강의 제3과목[OS-07강] 분산 운영체제 (0) | 2019.07.02 |
정보처리기사 필기 무료강의 제3과목[OS-05강] 디스크 스케줄링 (0) | 2019.07.02 |
정보처리기사 필기 무료강의 제3과목[OS-04강] 가상기억장치 관리전략 (0) | 2019.07.02 |
정보처리기사 필기 무료강의 제3과목[OS-03강] 프로세스 스케줄링, 주기억장치관리전략 (0) | 2019.07.02 |