정보보안기사&산업기사 필기 13장 요약 - 운영체제 구성(시스템보안)
정보보안기사 필기 13장 요약내용입니다.
* 2020 조현준 정보보안기사 산업기사 필기 + 핵심기출 1200제 정보보안기사 & 산업기사 필기 교재를 기반으로 요약하였습니다.
Section 13. 운영체제 구성(시스템보안)
1. 프로세스(Process)
▶ 실행 중인 프로그램. 프로세스 제어 블록(PCB, Process Control Block)을 가진 프로그램
-
스레드(Thread) : 프로세스 하위 개념
→ 각각의 스레드는 독립적인 제어흐름을 가지고 자신만의 스택과 레지스터를 가진다.
-
PCB(Process Control Block) : 프로세스를 관리하는데 필요한 모든 정보를 유지하는 자료구조 테이블
→ 포함된 정보 : 프로세스 상태, 프로그램 카운터,CPU 레지스터,CPU 스케줄링 정보, 메모리 관리 정보, 회계 정보,I/) 상태 정보
2. CPU 스케줄링 기법
▶ 선점 기법
→ 프로세스가 CPU를 할당 받아 실행중이라도 새로운 프로세스가 해당 프로세스를 중지시키고 CPU를 할당받는 기법
- 빠른 응답을 요구하는 시분할 시스템에서 주로 채택
- 장점 : 빠르게 처리해야할 우선순위가 높은 프로세스들을 빠르게 처리 가능
- 단점 : 프로세스간 문맥 교환 빈도수가 증가함에 따라 오버헤드 발생 / 프로세스가 늘어남에 따라 대기시간 발생
▶ 비선점 기법
→ 프로세스가 CPU를 할당 받아 실행중이면 다른 프로세스들이 강제적으로 CPU를 할당받을 수 없는 기법
- 일괄 처리 시스템에 적합
- 장점 : 공정한 처리, 오버헤드가 적어 효율적
- 단점 : 작업시간이 짧은 프로세스가 긴 시간의 프로세스를 대기
▶ 스케줄링 기준
- CPU 이용률
- 처리량
- 총 처리시간
- 대기 시간
- 응답 시간
1) FCFS(First Come First Service) = 비선점
→ CPU를 먼저 요청한 프로세스가 CPU를 먼저 할당 받는 방식
2) SJF(Shortest Job First) = 비선점
→ 작업수행시간(버스트시간)이 짧은 작업을 우선적으로 처리
→ 버스트시간이 긴 작업은 시간이 많이 걸림
3) HRN(Highest Response ratio Nest) = 비선점
→ 대기시간이 긴 프로세스의 우선순위를 높여 기아상태를 해결
4) RR(Round Robin)
→ FCFS 방식에 시간 할당량 개념을 도입한 방식
→ 수행중인 프로세스가 할당된 시간을 초과하면 다음 프로세스가 선점하여 작업을 수행
→ 시간할당량 많으면 FCFS 방식과 동일해질 수 있다.
→ 시간할당량 적으면 많은 문맥교환으로 오버헤드 증가
5) SRT(Shortest Remaining Time) = 선점
→ SJF 방식과 동일하게 준비 큐에 있는 프로세스들 중 가장 짧은 버스트시간의 프로세스를 먼저 수행
6) 다단계 큐(MLQ, Multi-Level Queue) = 선점
→ 서로 다른 작업을 각각의 큐에서 처리
→ 각각의 큐는 다른 스케줄링 알고리즘을 가질 수 있다.
7) 다단계 피드백 큐(MFQ, Multi-level Feedback Queue) = 선점
→ 프로세스가 들어오면 높은 우선순위를 할당해 단계 1에서 수행하고, 시간할당량을 초과하면 다음 낮은 우선순위의 큐에서 수행.
→ 가장 낮은 우선순위의 큐에서는 RR 방식으로 작업 처리
→ CPU와 I/O장치의 효율성 증가
3. 교착상태(Deadlock)
▶ 둘 이상의 서로 다른 프로세스가 자신이 요구한 자원을 할당 받아 점유하고 있으면서 상호간에 상대방 프로세스에 할당되어 있 는 자원을 요구하는 경우에 발생
-
교착상태 발생 4가지 조건
- 상호배제 : 프로세스가 자원을 배타적으로 점유
- 점유와 대기 : 프로세스는 하나의 자원을 점유하고 있으면서, 다른 자원을 할당 받기 위해 대기
- 비선점
- 환형 대기 : 프로세스와 자원의 할당/요청 관계가 원형을 이룸
4. 메모리 관리
1) 반입(Fetch) 정책
▶ 주기억장치에 적재할 다음 프로그램이나 자료를 언제 가져올 것인가를 결정하는 문제
a. 요구 반입(Demand fetch) 정책 : 어떤 프로그램이나 자료가 참조되는 시점에 주기억장치에 적재
b. 예상 반입(Anticipatory fetch) 정책 : 앞으로 요구될 가능성이 큰 프로그램이나 자료를 미리 주기억장치에 적재
2) 배치(Placement) 정책
▶ 새로 반입된 자료나 프로그램을 주기억장치의 어디에 위치시킬 것인가를 결정하는 문제 - 최초 적합 : 첫 번째 사용 가능한 가용 공간을 할당
a. 최적 적합 : 사용 가능한 공간들 중에서 가장 작은 것을 할당
b. 최악 적합 : 가장 큰 가용 공간을 할당
3) 교체(Replacement) 정책
▶ 새로 들어온 프로그램이 들어갈 장소를 확보하기 위해 어떤 프로그램을 주기억장치에서 제거할 것인 가를 결정하는 문제
a. FIFO(First In First Out)
- 메모리에 가장 먼저 들어온 페이지부터 교체한다.
b. 최적(Optimal) 교체(OPT)
- 가장 낮은 페이지 부재율을 가진 알고리즘
c. LRU(Least Recently Used)
- 가장 널리 사용되는 방법으로, 가장 오랫동안 사용되지 않은 페이지를 교체하는 기법
- 지역성에 의존하며, 불러왔던 시간을 기록하기 위한 오버헤드 발생하며 구현하기 어렵다.
d. SCR - LRU 근사 페이지 교체
- 참조 Bit를 두어 FIFO의 단점인 오랫동안 주기억장치에 있으면서 자주 쓰이던 페이지가 교체되는 것을 막기 위한 기법.
- 참조 bit가 0이면 교체 / 1이면 0으로 변경 후 다시 큐에 적재
e. NUR - LRU 근사 페이지 교체
- LRU의 단점인 시간 오버헤드를 적게 하는 기법 - 참조 Bit와 변경 Bit를 사용
f. LFU(Least Frequently Used) - Counting based page
- 참조 횟수가 가장 적은 페이지를 교체하는 기법
- 최근에 적재된 페이지가 교체될 가능성이 있다.
g. MFU(Most Frequently Used) - Counting based page
- 참조 횟수가 가장 큰 페이지를 교체하는 기법
- LFU와 MFU는 잘 사용되지 않음.
5. 가상기억장치
1) 구현 방법에 따른 구분
페이징(Paging) = 고정블록
- 기억장치의 영역을 동일한 크기로 나누어 적재하는 방법
- 내부 단편화 발생 : 동일한 크기로 나눈 후 해당 크기보다 작을 경우 공간이 남는 현상
세그먼테이션(Segmentation) = 가변블록
- 기억장치의 영역을 다양한 크기의 논리적인 단위로 나누어 적재하는 방법
- 외부 단편화 발생 : 남은 공간의 크기가 20일 경우 20을 초과하는 크기의 공간이 필요한 경우 적재하지 못하는 문제
세트먼테이션 혼합
2) 사상표 색인에 따른 구분
페이지 사상(mapping) 방법
연관 사상(associative mapping)
- 위치 지정이 아닌 내용 지정으로 주기억장치보다 접근시간이 빠른 연관기억장치에 페이지
- 사상표 전체를 넣는 방법으로 가장 빠르고 융통성 있는 구조.
직접 사상
- 주기억장치에 페이지 사상표가 위치하며, 두 번의 기억장치 접근이 필요
직접/연관 사상 혼용 방법
- 지역성의 원리를 이용
6. 디스크 스케줄링 기법
종류 | 정의 | 특성 |
---|---|---|
FCFS | 작업 요청 순서대로 서비스 받음 | - 구현이 쉽고 작업 우선순위에 대해 공평하지만, 응답시간이 길어지는 경향 |
SSTF | 현재 위치에서 탐색거리 짧은 순서 | - 응답시간 편차 심함(=기아현상) - 처리량 중심인 일괄시스템 |
SCAN | 진행방향에서 가까운 순서 | - 부하가 적을 때 우수 - 끝에 도착할 때까지 진행방향 유지 - 바깥 쪽 트랙이 차별대우 - 가장 바깥쪽 실린더에 도달하면 진행방향을 바꿈 |
C-SCAN | 한쪽 방향으로만 진행하면서 요청을 서비스하며 끝에 도착하면 처음부터 진행. | - 안쪽, 바깥쪽 차별 제거 - 부하가 많을 때 효과적 |
N-step SCAN | SCAN에서 방향 전환 시 먼저 요청한 N개만 서비스 | - 헤더 있는 실린더에 집중될 때 무한대기 제거 |
SLTF | 회전시간 최적화 스케줄링 | - 회전시간 최적화 스케줄링 |
Leave a comment