본문 바로가기
CS & Reversing

[정보보안] 1-1 운영체제 이해 및 관리

by m_.9m 2022. 3. 2.

1. CPU

컴퓨터 시스템의 구조

 

1) 개념: 입력장치부터 자료를 받아 연산하고 그 결과를 출력장치로 보내는 일련의 과정을 제어 및 조정하는 장치

2) 구성 요소: ALU(연산 장치), Register, Control Unit, 내부 CPU

  • Register:PC, MAR, MBR, IR
  • 버스: 데이터 버스, 주소 버스, 제어 버스

버스(BUS)

3) 인스트럭션 사이클

패치, 간접, 실행, 인터럽트

 

2. 메모리 시스템

1) 기억 장치 계층 구조 

2) 캐시 메모리

CPU와 주 기억장치의 속도차이를 개선하기 위해 만들어진 고속의 버퍼 메모리.

<사상 방식>

  • 직접 사상: 여러구역으로 분할하여 Cache 슬롯과 매핑한다.
  • 연관 사상: Main Memory의 각 블록이 Cache의 어느 슬롯이든 적재 가능하다.
  • 집합 연관 사상: 직접 사상/ 연관 사상 절충 방식으로 캐시와 메모리가 M:1로 대응한다. 

3) 캐시 메모리 관리 방식

  • 인출 방식: Demand Fetch, Pre-Fetch
  • 캐시 메모리 교체 알고리즘의 종류
종류 세부 내용 특징
Random 교체될 Page를 임의 선정 Overhead가 적음.
FIFO 캐시 내 오래있었던 Page 교체  자주 사용되는 Page가 교체될 우려
LFU 사용 횟수가 가장 적은 Page 교체 최근 적재된 Page가 교체될 우려
LRU 가장 오랫동안 사용되지 않은 Page 교체 Time stamping에 의한 overhead가 존재
NUR 참조 비트와 수정 비트로 미사용 Page 교체 최근 사용되지 않은 페이지 교체
SCR 최초 참조 비트 1로 셋, 1인 경우 0으로 셋, 0인 경우 교체 기회를 한 번 더 줌
Optimal 향후 가장 사용되지 않을 Page 교체 실현 불가능
  • 페이지 교체 관리 시 문제점

Page Fault 발생, Demanding Paging, Thrashing(스레싱) 발생

 

*Thrashing: 페이지 부재가 빈번하게 발생되어 페이지 교체에 실행보다 더 많은 시간이 드는 것.

*Overhead: 필요되는 CPU타임이나 메모리 양, 직접-간접 추가 비용

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

발생 원인:

Wirte-Back 데이터를 캐시에만 저장하고 차후 메모리에 저장하게 된다.

Write-through 사용되는 프로세스의 값이 동시에 변경되지만, 다른 프로세스에 있는 값에서는 변경되지 않음.

 

4. 가상 메모리 

1) 관리 단위

-페이지: 가상 기억장치 속에서 동일한 크기의 최소 논리 분할 단위로 나눈 것.

-세그먼트: 사용자 주소 공간을 용도별로 논리적으로 나눈 것.

Paging 기법 Segment 기법
고정 분할 가변 분할
요구 Page만 일부 적재 프로그램 전체 적재
메모리 관리 측면 파일 관리 측면
외부 단편화 해결, 교체 시간 최소, 요구 부분만 적재 사용자 관점, 개발/프로그래밍 용이, 내부 단편화 해결, 코드/데이터 공유 용이
내부 단편화 발생, Thrashing, 잦은 입출력 외부 단편화 심각, 메인 메모리가 커야한다.

*내부 단편화: 블록 단위로 유지하기 위해 낭비된 바이트

*외부 단편화: 여유공간이 여러조각으로 나뉨.

 

2) 가상 메모리 관리 정책

할당 기법 프로세스에 할당되는 메모리 블록 단위를 결정 고정 할당, 가변 할당, Paging, Segmentation
호출 기법 보조기억장치에서 주기억장치로 적재할 시점 결정 Demand Fetch, Pre Fetch
배치 기법 요구된 페이지를 주기억장치의 어떤 곳에 적재할 것인가를 결정 First fit, Best fit, -
교체 기법 주기억장치 공간 부족 시 교체 대상 설정 Random, FIFO, LRU, LFU, NUR, SCR

 

3) 할당 정책

연속 할당(고정/가변), 비연속 할당(Paging, Segment)

-Paging 기법은 고정된 페이지라고 불리는 블록들로 분할 관리하는 기법으로 TLB에 매핑하고 그 안에 정보가 없을 시 Real Address와 매핑해서 메인메모리를 참조한다. 

-Segment 기법은 메모리를 Segment 셋으로 나누어 관리한다. 주소 지정은 Segment Selector(기본 주소)와 Offset(다음 주소 값)을 통해 지정된다. Segment Table에서 기본 주소를 확인한 후 Offset 주소와 결합하여 물리 메모리 주소를 산출한다. 

-Paged Segment 기법

 

3. I/O 인터페이스

컴퓨터 시스템의 입출력 처리기는 주기억장치와 보조 기억장치 간(디스크, 테이프, 플래시 메모리)에 입출력을 수행하는 것이다.

1) DMA

 CPU의 개입없이 I/O 장치와 기억장치 사이의 데이터를 전송

 

Q. CPU 개입이 많은 순으로  입출력 기법 4개를 쓰시오.

프로그램에 의한 입출력, 인터럽트 입출력, DMA, IO Channel 기법으로 채널은 전용 입출력 하드웨어를 사용하는 방법으로 CPU 개입이 없어진다.