정보보안기사 필기 13장 요약내용입니다.

4 minute read

* 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