본문 바로가기
자격증/보안기사

01_시스템 보안 정리_1

by Choraengyi 2021. 1. 21.

- CPU 구성 : ALU(연산장치), Register(레지스터), Control Unit(제어 장치), 내부 CPU 버스

           ALU : 산술연산, 논리연산

           Register : 중간결과 일시적 기억(고속)

           Control Unit : 명령어 해석, 제어신호

          

- 레지스터 종류

           PC : 다음 수행할 명령어의 번지 저장

           MAR : 주기억장치 접근을 위한 번지 기억

           MBR : 주기억 장치 입/출력 자료를 기억

           IR : 주기억 장치에서 가져온 명령어 코드 기억

 

- Instruction Cycle(CPU 명령 실행 주기) : 패치, 간접, 실행, 인터럽트

 

- 기억장치 계층 구조

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

 

- 캐시 : CPU와 주기억장치 속도 차이 완화

           * 직접 사상 : 메모리를 구역으로 분할해 캐시와 매핑, 매핑 방식 단순

                      순서대로 매핑되어 캐시 미스율 높음

           * 연관 사상 : 메모리를 캐시 어느 슬롯에든 적재 가능, 캐시 적중률 높음, 복잡, 순서 안맞춤

           * 집합 연관 사상 : 연관 + 직접, 순서대로 매핑 하되 일정 그룹에서 연관 방식

 

- 캐시메모리 인출 방식 : Demand Fetch, Pre Fetch

 

* 캐시메모리 교체 알고리즘

Random

교체 Page 임의 선정

오버헤드 적음

FIFO

오래된 Page 교체

자주 사용되는 Page 교체 위험성

LFU

사용횟수 적은 Page 교체

최근 적재된 Page 교체 위험

LRU 

최근 사용되지 않은 Page 교체

타임스탬프에 의한 오버헤드

NRU

참조비트수정비트로 미사용 Page 교체

최근 사용되지 않은 Page 교체

SCR

1→0→>교체

기회 한번 더줌

 

- 페이지 교체 관리 문제점

           Page Fault : 페이지 사용하려는데 페이지 부재

           Demand Paging : 요구될때에만 프로세스가 Page 교체

           Thrashing : CPU가 Page 교체에 더 많은 소요(Page Fault 의 잦은 발생)

 

- 페이지 교체 관리 해결 방안

           Load Control : 큐에 대기 시킴, Thrashing 감소

           Locality : 시간 공간 지역성 참조

           Working Set : 일정 시간동안 페이지 집합을 주기억 장치에 유지

           PFF : Page Fault 빈도에 따라 Residence set 조정

 

- 캐시 불일치 : CPU가 캐시와 메모리에 데이터 기록하는 방식

           write-through : 메모리값 바로 갱신, 다른 프로세스와 충돌

           write-back : 일정시간 이후 메모리에 기록, 기록전까지 값 다름

 

- 가상메모리 시스템 : 보조기억 장치를 주기억 장치처럼 사용

 

* 관리 단위

 

Paging

Segment

할당

고정

가변

적재

Page 일부

프로그램 전체

관점

메모리

파일

장점

외부 단편화 해결

교체시간 최소

내부 단편화 해결

개발/플밍에 용이

단점

내부 단편화

스래싱, 잦은 I/O

외부 단편화

메모리 커야함

- 가상 메모리 관리 정책 : 할당, 호출, 배치, 교체

           * 할당정책

           연속 할당 → 고정 분할, 가변 분할

           비연속 할당 → paging, segmentation

 

- 가상 메모리 관리 기법

           * paging : 고정된 페이지 블록

           - TLB(Translation Look aside Buffer) : 가장 최근 사용된 페이지 테이블 항목 유지

           - MMU(Memory Management Unit) : 주기억장치와 캐시의 메모리 주소 변환

 

           * Segmentation : 세그먼트 세트로 나눠 관리

           Segment table 에서 base segment 주소획득, offset 결합해 물리 메모리 주소

 

           * paged segmentation : 페이지들로 세그먼트 구성

           외부 단편화 제거, 내부 단편화 일부 발생 가능성

 

- I/O 인터페이스

           * 프로그램 입출력 : 입출력을 CPU가 진행, 입출력중 다른 작업 못함, Polling, 효율 낮음

           * 인터럽트 입출력 : 인터럽트 처리루틴에 의한 입출력, CPU 대기 발생

           * DMA(Direct Memory Access) : CPU 개입 없이 I/O 장치 – 기억장치 데이터 전송

           - 종류 Cycle Stealing : CPU와 버스 공유, Brust Mode : DMA 제어기가 버스 점유

           * I/O 채널 : DMA 제어기의 한계 극복, 별도 전용 처리 프로세서, 독립된 입출력 프로세서

 

- CPU 스케줄링

           * Multi-Level 큐 : 스케줄링 기법 : 라운드로빈, 우선순위 큐

           * Multi_Level Feedback 큐

 

1-2. 운영체제 : 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경 제공

- 운영체제 목적 : 처리능력 향상, 신뢰성 향상, 응답시간 단축, 자원 활용률 향상, 가용성 향상

 

- 프로세스 관리

           * 프로세스 : 프로세서에 의해 수행되는 프로그램 단위, PCB 가짐

           * 스레드 : 프로세스에서 실행의 개념만 담당

 

프로세스

스레드

상호통신

System Call

전체 자원 블로킹

Library Call

요청 스레드만 블로킹

처리방식

자원할당을 위한 기본 구분 단위

CPU를 이용하는 기본 작업

부하

Context Switching 부하

프로세스 자원할당 시 부하

프로세스보다 상대적 부하 적음

 

- 프로세스 상태

           * 프로세스 상태전이 : 프로세스 실행 결정 및 시스템 자원을 할당하는 과정

           * Active 모드에서 프로세스 상태 변환

           Admit : 생성 → 준비, Dispatch : 준비 → 실행, Timer Runout : 실행 → 준비

           Blocked : 실행 → 슬립(대기), Wake up : 슬립 → 준비, Release : 실행 → 종료

 

           #PCB(Process Control Block) : 프로세스제어를 위해 정보 저장

                      문맥교환에 필요, 주기억장치에 유지됨

           ##PCB 정보 : PID, 포인터, 상태, Priority, Account, 입출력상태 정보, 할당 자원 정보 등

 

- CPU 스케줄링 : 장기, 중기, 단기

           *점유 방식

 

선점(Preemptive)

비선점(Non-Preemptive)

개념

CPU 점유 중에도 다른프로세스가 CPU 점유 가능

CPU 점유 해제할때까지 다른 프로세스 대기

장점

빠른 응답, 대화식 시분할

응답시간 예상가능, 프로세스 요구 공정

단점

문맥교환 발생, 오버헤드

짧은 작업의 긴 대기시간

기법

라운드로빈, SRT

FCFS, SJF, HRN

 

- 비선점 스케줄링 기법

           * FCFS(First Come First Service)

                      큐에 도착한 순서에 따라 CPU 할당

           * SJF(Shortest Job First)

                      수행시간이 짧다고 생각되는 것을 먼저 수행(버스트 시간), 큰 작업 예측 어려움

          

- 선점 스케줄링 기법

           * 라운드 로빈(Round Robin)

                      FCFS 방식에서 각 프로세스에 같은 시간 할당, 할당 시간에 완료 못하면 리스트의 가장 뒤로 

           * SRT(shortest Remaining Time)

                      SJF 에 선점방식 도임, 가장 짧은 시간 걸리는 프로세스 수행

           * Multi-Level Queue

                      여러개의 큐, 각 큐의 독자적인 스케쥴링에 따른 CPU 할당

           * Multi-Level Feedback Queue

                      우선순위 Queue 와 라운드로빈 사용

                      새로운 프로그램이 들어오면 높은 우선순위에서 점차 낮은 우선순위 부여, 라운드로빈  순환

 

- 상호배제(=Mutex) : 다수의 프로세스가 동일 자원 접근 시 무결성 보장, 임계 영역

           공유자원에 동시에 RW 못하도록

           * 임계 영역 : 한순간에 반드시 하나의 프로세스만 접근 하도록

           ex)      wait(mutex);                      //진입구역(entry section) → 임계구역 진입

                      임계 구역

                      signal(mutex);           //출구구역(exit section) → 임계구역 벗어남

                      나머지 구역

 

- 세마포어(semaphore) : 정수변수를 통한 공유자원 접근제어

           0과 1만 가지는 이진 세마포어, 정수값 가지는 계수형 세마포어

           ex) wait(s); signal(s);

 

- 모니터 상호배제 : 공유자원을 모니터 내부의 지역변수로 정의, 모니터내의 함수에서만 접근

 

- 교착상태 : 하나 또는 둘이상의 프로세스가 계속 특정 사건을 기다리는 상태

           * 발생조건

           1. 상호배제 : 자원 배타적 점유, 한번에 한프로세스

           2. 점유와 대기 : 다른 종류의 자원을 요구하며 이미 어떤 자원 점유

           3. 비선점 : 점유 프로세스로부터 도중에 해제되지 않음

           4. 환형대기 : 각 프로세스가 자원을 가지면서 상대방 프로세스의 자원을 상효 요청

 

           * 교착상태 예방

           1. 상호배제 조건 부정 : 공유 가능한 자원들은 배타적 접근 요구 안함

           2. 점유와 대기 조건 부정 : 각 프로세스는 필요한 자원 한꺼번에 요청

           3. 비선점 조건 부정 : 자원 할당 요구 시 안되면 점유보유 반납, 무기한 연기 가능성 존재

           4. 환형대기 조건 부정 : 모든 프로세스에게 자원의 유형별로 할당순서 부여

 

           * 교착상태 회피

           은행원 알고리즘 → 안전 상태, 불안전 상태(불안전에서만 교착상태 발생)

           가용자원 요청 시 바로 할당할 건지 기다리게 할건지

           * 교착상태 발견

           교착상태 발견 알고리즘 → 발생 빈도수, 영향받는 프로세스 수 

           자원할당 그래프 → 방향그래프를 사용해 나타냄

 

           * 교착상태 회복

           - 프로세스 중지 : 교착상태 프로세스들 중지, 한프로세스씩 중지

                      희생자 선택의 원칙 : 최소비용으로 중지

           - 자원 선점 : 자원들을 선점해 교착 상태 해결될때까지 다른 프로세스들에게 할당

 

- 디스크 관리

           - 주소 찾는 과정 : 디스크 번호 → platter 번호 → track 번호 → sector 번호 → 지정된 주소

           * 탐색 시간 : 특정 트랙으로 디스크 해드가 이동하는데 소요되는 시간

           * 회전 지연 시간 : 섹터가 디스크 헤드까지 오는데 걸리는 시간

           * 전송 시간 : 데이터 전송 시간

 

           - 디스크 스케줄링

           1. FCFS(First Come First Served)

                      먼저 요청 우선 처리, 장점: 개발용이, 공평성, 단점: 이동경로 김

           2. SSTF(Shortest-Seek Time First)

                      탐색거리가 짧은 트랙 우선, 장점:전반적 Seek time 감소, 단점: Starvation 현상

           3. SCAN(엘레베이터)

                      헤드가 끝에서 끝으로 이동, 이후 다시 역방향으로 이동

           4. C-SCAN

                      항상 바깥쪽에서 안쪽으로만 이동, 일방향

           5. C-LOOK

                      무조건 끝까지가 아닌 한방향의 마지막 처리 후 다시 이동하여 처리

 

- 파일 시스템

           1. FAT(File Allocation Table)

           - FAT16 : 2GB, 파일명 8자, 클러스터당 1632KB

           - FAT32 : 2TB, 암호화 및 압축 불가능, 파일명 256자, 클러스터당 4KB

           2. NTFS(New Technology File System)

           암호화 및 압축 지원, 대용량, 가변 클러스터(512~64) 기본은 4KB, 윈도우 NT 이상

           3. EXT(Extended File System)

           - EXT : Minix, 2GB, 255byte 파일명

           - EXT2 : 2GB, 볼륨은 32TB, FSCK 지원 오류수정 → 시간 많이 소요

                      캐시데이터 저장중 오류 발생 시 손상

           - EXT3 : 저널링 추가, 저널에 먼저 수정내용 기록 → 다운 시 오류 복구

                      디스크 조각화 최소화

           - EXT4 : 16TB, 볼륨은 1EB, 저널 Checksum 기능 추가, 하위 호환

                      Delayed Allocation, persistent pre-allocation

           4. UFS(Unix File System)

           * VTOC 디스크 레이블 : 각 파티션 기본 정보

           * 구성

           부트블록

           프라이머리 슈퍼블록 : 데이터 블록개수, 실린더 그룹개수, 마운트 정보

           백업 슈퍼블록 : 실린더 마다 슈퍼블록 복사본

           실린더 그룹 : 슈퍼블록, 실린더 그룹 목록, i-node 테이블, 데이터 블록

           슈퍼블록 : 파일시스템 크기, i-node 테이블 크기, free 블록 리스트

           실린더 그룹 블록 : 비트맵 정보, 통계 정보

           i-node 테이블 : 파일의 중요 정보, 파일크기, 위치, 유형, 사용허가권, 날짜 정보

 

- RAID : 디스크를 배열구조로 중복 구성

           * RAID 0 : 2개이상의 디스크 단순 합침, 복사 X, 장애 시 복구 불가

           * RAID 1 : Mirroring, 이중화, 가장 좋으나 비용 높음

           * RAID 2 : 해밍코드를 통한 오류 복구, ECC 를 통한 복구

           * RAID 3 : 패리티 정보를 별도 디스크에 저장

           * RAID 4 : RAID3 에서 데이터만 블록으로 관리

           * RAID 5 : 분산 패리티 저장, 최소 3개 디스크, 일반적으로 4개 디스크

           * RAID 6 : RAID 5에서 패리티 다중화

 

참고 서적 : www.yes24.com/Product/Goods/89220771

728x90
반응형

'자격증 > 보안기사' 카테고리의 다른 글

02_네트워크_3  (0) 2021.01.23
02_네트워크_2  (0) 2021.01.23
02_네트워크_1  (0) 2021.01.22
01_시스템 보안 정리_3  (0) 2021.01.22
01_시스템 보안 정리_2  (0) 2021.01.21

댓글