Tech Juny

[01]-01 운영체제 이해 및 관리 본문

정보보안기사 필기

[01]-01 운영체제 이해 및 관리

태크주니 2021. 2. 2. 00:31
  • CPU 구조

1.  CPU의 구조 이해

1)  CPU 개념

: 사람의 두뇌에 해당하는 핵심장치로 입력장치로부터 자료를 받아 연산하고 출력 장치로 보내는 과정을 제어 및 조정함

 

  •   CPU의 구성 요소

- ALU (연산장치) : 각종 산술/논리 연산 수행

- Register : CPU 내부의 중간 결과를 일시적으로 기억하는 고속 전용 영역

- Control Unit (제어 장치) : 프로그램 명령어 해석 및 실행하기 위한 제어 신호 발생

- 내부 CPU 버스 : ALU와 레지스터 간 데이터 이동 경로

 

2) 레지스터 종류

- PC (Program Counter) : 다음에 수행할 명령어가 저장된 주기억장치의 번지 지정

- MAR(Memory Address Register) :  주기억장치에 접근하기 위한 주기억 장치 번지 기억

- MBR(Memory Buffer Register) : 주기억장치에 입출력할 자료를 기억

- IR (Instruction Register) : 주기억장치에서 인출한 명령코드 기억

 

2. 버스 시스템 (Bus System)

1) 버스란?

: 데이터 주소, 제어정보 등을 전달하는 전송라인 (데이터 이동경로)으로 입출력 성능에 영향을 줌

 

2) 버스 종류

- 데이터 버스 (Data Bus) : 데이터를 전송하기 위한 용도

- 주소 버스 (Address Bus) : 기억장소 위치 및 장치 식별을 지정하기 위한 용도

- 제어 버스 (Control Bus) : CPU와 기억장치 or I/O 장치 사이의 제어 신호 전송

 

3. CPU 명령 실행 주기 (Instruction Cycle)

: 하나의 명령 실행 후 다음 명령이 수행되어 끝날때까지의 시간 ,즉 다음 명령의 인출이 반복되는 주기

 

1) 인스트럭션 실행 (Instruction Cycle)

- 인출 (Instruction Fetch) : 인출단계로 메모리 데이터를 Load하여 레지스터에 적제

- 간접 (Indirect) : 간접 주소 방식 -> 메모리 참조 시 데이터가 아닌 메모리 주소를 참조하여 한번더 조회

- 실행 (Execution) : 명령과 데이터로 CPU가 산술/논리 연산 수행

- 인터럽트 (Interrupt) : 시스템 실행 중 예기치 않은 문제가 발생시 업무처리가 진행되도록 하는 기능 

  ▶ 하드웨어 인터럽트 : 기계착오, 외부 인터럽트, 입출력 인터럽트, 프로그램 검사 인터럽트

  ▶ 소프트웨어 인터럽트 : CPU 내부에서 실행한 명령으로 발생 

 

  • 메모리

1. 기억장치 계층 구조 (Memory Hierarchy)

레지스터 - 캐시 - 주기억장치 - 보조기억장치

<--- 작음                                        큼 --->

<--- 빠름                                     느림 --->

<--- 비쌈                                       쌈 --->

※ 작은게 빠르고 비쌈

 

2. 캐시 메모리 (Cache Memory)

: CPU와 주기억 장치의 속도 차이를 극복하기 위해 사의에 존재하는 고속 버퍼 메모리

 

1) 캐시 메모리 사상 (Mapping)

- 직접 사상 (Direct Mapping) : 메인메모리를 여러구역으로 분할하여 캐시슬롯과 매핑

장점 : 단순, 빠름

단점 : 캐시 적중률

 

- 연관 사상 (Associate Mapping) : 메인메모리의 각 블록이 캐시의 어느 슬롯이든 적제

장점 : 캐시 적중률

단점 : 복잡, 구현 비용 ↑, 빠름

- 집합 연관 사상 (Set Associate Mapping) : 집접사상과 연관사상의 절충 방식 -> 캐시와 메모리가 M:1 대응

장점 : 각 장점 수용

단점 : 캐시 Fin/Fout 발생↑, 구현 비용

※ 가상주소를 실제 주소로 변환하는 과정이 빠른순 연관 > 직접/연관 > 직접

 

3. 캐시 메모리 관리 방식

1) 캐시 메모리 인출 방식

- Demand Fetch : 필요 시 캐시 인출

- Pre-Fetch : 예상하여 미리 패치

 

2) 캐시 메모리 교체 (Replacement) 알고리즘

종류 설명 특징
Random 랜덤 선정 교체 Overhead
FIFO (First In First Out) 선입선출 교체 자주 사용되는 page 교체 우려
LFU (Least Frequently Used) 사용 횟수↓ 교체 최근 적제 page 교체 우려
LRU (Least Recently Used) 가장 오래 사용X 교체 Overhead 존재
NUR (Not Used Recently) 참초비트, 수정비트로 미사용 page 교체 최근 사용하지 않은 page 교체
SCR (Second Chance Replacement) 참초비트를 1->0->교체 한번더 기회를 줌
Optimal  향후 참조되지 않을 page 예상 교체 실현 불가

- 페이지 교체 관리시 문제점

문제점 세부내용
Page Fault 발생 (페이지 부재) 적제되지 않은 Page 참조 시 발생
Demand Paging (요구 페이징) 요구 될때만 Page 적제
Thrashing 발생 (쓰래싱) Page 부재가 빈번하여 Page 교체에 많은 시간을 소요하는 현상

 4. 캐시 메모리 일관성 (Cache Coherence)

1) 캐시 메모리 일관성 유지 방식

- Write-Through : CPU와 캐시 값 동기화

- Write-Back : 캐시로부터 해제 될때만 주기억 장치로 전송

※ 두 방법다 캐시 불일치 발생 가능

 

5. 가상 메모리 시스템

: 주기억장치의 용량 문제로 보조기억장치를 가상 할당하여 주기억 장치처럼 사용

 

1) 가상 메모리 (Virtual Memory)

: 물리적 메모리 한계를 극복하기위해 사용하는 메모리 관리 방식

 

2) 가상 메모리 단위

구분 Paging Segment
할당 Static 분할 Dynamic 분할
적제  요구 Page 일부 적제  프로그램 전체 적제
관점 메모리 관리 측면 파일 관리 측면
장점 - 요구 Page만 적제
- 교체 시간 최소
- 사용자 관점
- 개발 용이
단점 내부 단편화 발생 외부 단편화 발생

3) 가상 메모리 관리 정책

종류 세부 내용 기법의 유형
할당 기법 (Allocation) 메모리 블록 단위 결정 고정할당, 가변할당, Paging, Segment
호출 기법 (Fetch Policy) 적제 시점 결정 Demand Fetch, Pre Fetch
배치 기법 (Placement) 적제 위치 결정 Frist fit, Best fit, Next fit, Worst fit
교체 기법 (Replacement) 교체 대상 결정 Random, FIFO, LFU, LRU, NUR, SCR, Optimal

6. 가상 메모리 관리 기법

1) Paging

: 고정된 Page라는 블록으로 분할 관리 -> 내부 단편화 발생

2) Segmentation

: 가변적인 Segment라는 블록으로 분할 관리 -> 외부 단편화 발생

3) Paged Segmentation 

: 페이지들로 세그먼트를 구성하고 세그먼트 표 참조후 페이지표 참조 -> 외부단편화 제거 But. 내부 단편화 발생 가능

 

  • I/O 인터페이스 

: 주기억장치와 보조기억장치에서 수행한 결과를 입출력 수행

 

1) CPU 경유에 따른 입출력 방법

CPU 경유 프로그램에 의한 I/O, 인터럽트에 의한 I/O
CPU 비 경유 DMA Channl I/O

2) 프로그램에 의한 I/O, 인터럽트에 의한 I/O

프로그램에 의한 I/O - 메모리에 기록된 입출력 명령 수행
- Polling 방식 (CPU가 감시)
- 시간 낭비 및 효율
인터럽트에 의한 I/O - 인터럽트 요청 감지하면 작업 중단 후 서브루틴 수행

 

1. DMA (Direct Memory Access)

: CPU의 개입 없이 I/O 장치와 기억장치 사이의 데이터 전송하는 방식

- 속도

- DMA 동작 방식

Cycle Stealing CPU와 Bus 공유 (CPU가 사용하지 않을때 접근)
Burst Mode DMA 제어기가 Bus 점유 (수행 완료후 Bus 해제)

2. I/O 프로세서 (I/O Channel) 

1) 구성 요소

- 프로세서 : I/O 명령어 실행 

- 지역 기억장치 : 대용량 데이터 블록 저장소

- Bus 인터페이스 : 시스템 Bus 인터페이스

- Bus 중재 회로 : Bus 마스터, Bus 중재

 

2) I/O 프로세서 종류

종류 내용
Multiplexer Channel - 동시에 많은 데이터 전송
- 저속 장치 (Printer, Serial)
- 시분할 방식
- 전송 단위에 따라 Block Multiplexer Channel, Byte MultiPlexer Channel 존재
Selector Channel - 한번에 한개씩 데이터 전송
- 고속 장치 (Disk, CDROM)
- Burst Mode 동작
Block Multiplexer Channel - 하이브리드 모드
- 동시에 여러 I/O 처리
- 블록 단위
Byte MultiPlexer Channel - 한개의 채널에 여러개의 입출력 장치 연결
- 시분할 공유
- 저속 입출력

'정보보안기사 필기' 카테고리의 다른 글

[02]-06 네트워크 활용(TCP/IP)  (0) 2021.02.17
[02]-05 네트워크 일반  (0) 2021.02.16
[01]-04 윈도우 Client 및 Server 보안  (0) 2021.02.15
[01]-03 리눅스 서버 보안  (0) 2021.02.13
Comments