본문 바로가기

정보보안기사/필기

시스템 보안 - 운영체체 이해 및 관리

[1. CPU 구성요소]

1. ALU

  • 사칙 연산
  • 논리 연산:  AND, OR, XOR, NOT

2. Register

  • General Purpose Register
  • Special Purpose Register
    • Program Counter: 다음에 수행 할 명령어의 주소를 저장
    • Memory Address Register: 메모리에 접근하기 위한 주기억장치의 주소를 저장
    • Memory Buffer Register: 주기억장치에 입/출력 할 데이터를 저장
    • Instruction Register: 현재  수행 할 명령어를 저장

3. Control unit

 

4. Bus

  • 데이터, 주소, 제어 정보등을 전달하며, 각 유형에 따른 버스가 존재
  • Bus 를 획득하기 위한 자원 경쟁이 발생

[2. Instruction Cycle]

1. Fetch

  • 수행 할 명령어를 적재

2. Indirect

  • 메모리 참조 시 간접 주소 방식을 사용하는 경우에 발생
  • 메모리에 저장 된 주소를 확인 후, 해당 주소에서 데이터를 가져오는 것

3. Execution

 

4. Interrupt

  • Hardware Interrupt
  • Software Interrupt

[3. Memory hierarchy]

1. 레지스터

 

2. 캐시

  • 직접 사상 (Direct Mapping)
    • 주기억장치를 여러 구역으로 분할 후 각 구역을 캐시와 바로 매핑
    • 장점=> 매핑 절차가 단순, 속도도 빠름
    • 단점=> Cache miss 가 높음
  • 연관 사상 (Associated Mapping)
    • 주기억장치의 각 블록은 캐시에 어느 슬롯이든 적재가 가능함
    • 장점=> 지역성이 높은 데이터 접근 시 Cache hit 가 높음
    • 단점=> 구현 난이도가 높음
  • 집합연관사상 (Set Associate Mapping)
    • 캐시와 메모리가 M 대 1 로 대응 됨
    • 직접 사상과 연관 사상에 하이브리드 형태
    • 장점=> 직접 사상과 연관 사상에 장점을 수용
    • 단점=> 구현 난이도가 높음
  • 캐시 메모리 관리 방식
    • Demand Fetch => 필요 시 패치 함
    • Pre-Fetch => 예상되는 블록을 미리 패치 함
  • 교체 알고리즘
    • Random =>  무작위로 교체 할 Page 를 선정. Overhead 가 적음.
    • FIFO => 가장 오래 존재 한 Page 를 교체. 자주 사용 된 Page 가 교체 될 수 있다.
    • LFU => 사용 횟수가 가장 적은 Page 를 교체. 최근 적재된 Page 가 교체될 수 있다.
    • LRU => 가장 오랫동안 사용되지 않은 Page 를 교체. 시간 체크를 위한 Overhead 가 존재
  • 교체로 인한 문제점
    • Page Fault => 적재되지 않은 Page 사용 시 발생
    • Demand Paging => Page 요구 시에만, 프로세스가 Page 를 적재
    • Thrashing 발생 => CPU 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상
  • 해결 방안
    • Load Control
    • Locality
    • Working Set
    • Page Fault Frequency
  • Cache Coherence
    • 멀티프로세서 환경에서 각 프로세서가 보유한 캐시에 로드된 데이터가 변경된 경우, 메인메모리의 데이터와 동일하게 유지시키는 메커니즘으로 Write-through 와 Write-back 두가지 메커니즘이 존재
    • Write-through
      1. 데이터를 캐시와 메모리 모두에 저장.
      2. 멀티 프로세서인 경우 모든 프로세서간 캐시가 완전히 일치 하지 않을 수 있다.
    • Write-back
      1. 데이터를 캐시에만 기록하고, 차후에 메모리에 저장

3. 메모리

  • 가상메모리
    • 주기억장치의 용량이 너무 적어 보조기억장치를 주기억장치처럼 사용
    • 가상메모리 사용을 위해 Virtual Addresss Space 를 사용함.
  • Page
    • 가상 기억장치 상에서 동일한 크기(=4 KB)의 최소 논리 분할 단위로 나눈 것
    • 고정 분할
    • 장점 => 요구 Page 만 적재, 외부 단편화 해결
    • 단점 => 내부 단편화 발생, Thrashing / 잦은 Disk IO 를 유발
  • Paging 메모리 관리 기법
    • Page 는 물리 메모리의 Frame 에 매핑한다.
    • Page 를 가리키는 논리주소에서 Frame 을 가리키는 물리주소로 변환한다.
      TLB (=Translation Look a side Buffer) 를 통해 이루어짐.
      MMU (=Main Memory Unit) 하드웨어 내 존재하므로 빠르게 매핑이 가능함.
      TLB 에 매핑 정보가 없으면, Page Table 에서 매핑을 수행 함.
  • Segment
    • 사용자 주소 공간을 용도별로 논리적 단위로 나누 것.
    • 가변 분할
    • 장점 => 내부 단편화를 해결
    • 단점 => 외부 단편화가 심각
  • Segmentation 메모리 관리 기법
    • 메모리를 Segment Set 로 나누어 관리
    • Segment = Base address (=시작주소) + Length Value (=Segment 크기)
    • Segment Table 에서 Base Segment 의 주소를 획득하고 Offset 과 결합하여 물리 메모리 주소를 산출한다.
  • Paged Segmentation 기법
    • 논리주소는 Segment No, Page No, Offset 으로 구성된다.
    • 외부 단편화는 제거되지만, 내부 단편화가 발생할 가능성이 있다.

4. 디스크

 

[4. I/O Interface]

  • 프로그램에 의한 입출력 관리
    • CPU 가 입출력 장치를 감시하는 Polling 방식
    • CPU 는 이 시간 동안 다른 작업을 할 수 없음.
  • 인터럽트에 의한 입출력 관리
    • CPU 의 관여가 적지만, 그래도 CPU 는 입출력을 대기해야 하는 문제가 존재
      => DMA 를 통해 주기억장치와 입출력장치를 직접 연결하여 CPU 의 개입을 최소화 함
  • DMA (=Direct Memory Access)
    • CPU 의 개입 없이 I/O 장치와 주기억장치 사이의 데이터를 전송하는 접근 방식
    • CPU 의 간섭을 배제하며, 속도가 빠름
    • CPU 는 DMA 로 제어 정보를 보냄
      1. 데이터 Read/Write 용 메모리의 주소와 제어신호
      2. 메모리 블록은 워드 수를 표시하는 워드 카운트
      3. DMA 전송을 위한 시작 제어 신호
      ===
    • 동작 방식
      1. Cycle Stealing
      2. Burst Mode
  • I/O Processor
    • Selector channel
      한 번에 한 개씩 데이터를 전송
      ===
    • Mulitplexer channel
      동시에 많은 데이터를 전송
      ===
    • 채널이 입출력을 수행하는 동안 CPU 는 다른 일을 처리 할 수 있음.

 

[5. 기타]

모든 프로세스는 PCB(=Program Control Block) 이라는 메모리 영역을 갖고 있으며, 여기에는

PID, PC, Priority 등 프로세스 제어을 위한 데이터가 저장된다.

 

 

 

 

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

시스템 보안 - 운영체제 구조  (0) 2022.02.06