공부/자격증

11.17시스템 보안

공부하는중1 2019. 11. 17. 16:08
반응형

캐시메모리 관리 방식

- Random : 교체될 page를 임의 선정 - Overhead가 적음 "overhead"  오버헤드(overhead)는 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 등을 말한다.

- FIFO (first in first out) : 캐시내에 오래 있었던 page 교체 -자주 사용된 page가 교체될 우려가있음

- LFU (least Frequently used) : 사용횟수가 가장 적은 page 교체 - 최근 적재된 page가 교체될 우려

- LRU (least Recently used) : 가장 오랫동안 사용되지 않은 page 교체 - Time stamping 에 의한 overhead 존재

- optimal : 향후 가장 참조되지 않을 page 교체 -실현 불가능

- NUR(Not used Recently) : 참조 비트와 수정 비트로 미사용 page 교체 -최근 사용되지 않은 페이지 교체

- SCR(Second chance Replacement) : 최초 참조 비트 1로 셋, 1인 경우 0으로 셋, 0인 경우 교체 -기회를 한번 더줌

 

페이지 교체 관리 시 문제점

-Page Fault 발생 -기억장치에 적재되지 않은 page를 사용하려 할 때 page Fault 발생

-Demand paging -요구될 때에만 process가 page를 적재하는 방식

-Thrashing 발생 -page 부재가 너무 빈번하게 발생하여 CPU가 process수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상

 

페이지 교체 관리 문제 해결 방안

-load control :일정 시간 동안 새로운 프로세서가 생성되는 것을 지연시키고 Suspend Queue에 대기시켜서 Thrashing 현상을 감소시킴

-Locality : 시간과 공간 지역성을 집중적으로 참조함

-Working set : 일정 시간 동안 참조되는 페이지 집합(Working Set)을 주기억장치에 유지

-PFF :process의 Page Fault 빈도에 따라 Residence set을 조정  , PFF가 높으면 Residence set의 크기 증가, 낮으면 감소

 

캐시 메모리 일관성

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

멀티프로세서  환경에서 각 프로세서가 캐시를 보유하며 캐시에 로드된 데이터를 변경한 경우 주기억장치의 데이터와 동일하게 유지되는 매커니즘이다.

 

- 캐시불일치

캐시 불일치 발생 - Write - through 정책이 사용되는 경우 프로세서 P1이 X값을 110으로 갱신하면 주기억장치의 값이 110으로 갱신되나 P2, P3 캐시는 100으로 일관성이 깨짐

 

▶Write Through란?

CPU가 데이터를 사용하면 캐시에 저장되게 되는데, 데이터가 캐시 됨과 동시에 주기억장치 또는 디스크로 기입되는 방식을 지원하는 구조의 캐시이다. 즉, 캐시와 메모리 둘다에 업데이트를 해버리는 방식이다.

장점 : 캐시와 메모리에 업데이트를 같이 하여, 데이터 일관성을 유지할 수 있어서 안정적이다.
단점 : 속도가 느린 주기억장치 또는 보조기억장치에 데이터를 기록할 때, CPU가 대기하는 시간이 필요하기 때문에 성능이 떨어진다.

데이터 로스가 발생하면 안되는 상황에서는 Write Through를 사용하는 것이 좋다.

 

▶Write Back이란?

CPU 데이터를 사용할 때 데이터는 먼저 캐시로 기록되는데, 캐시 내에 일시적으로 저장된 후에 블록 단위에 캐시로부터 해제되는 때(캐시안에 있는 내용을 버릴시) 에만 주기억장치 또는 보조기억장치에 기록되는 방식이다. 즉, 데이터를 쓸 때 메모리에는 쓰지 않고 캐시에만 업데이트를 하다가 필요할 때에만 주기억장치나 보조기억장치에 기록하는 방법이다.

장점 : Write Through보다 훨씬 빠르다.
단점 : 속도가 빠르지만 캐시에 업데이트 하고 메모리에는 바로 업데이트를 하지 않기 때문에, 캐시와 메모리가 서로 값이 다른 경우가 발생할 때가 있다.

빠른 서비스를 요하는 상황에서는 Write Back을 사용하는 것이 좋다.

 

가상메모리 시스템

-가상메모리란?

물리적 메모리 크기의 한계를 극복하기 위해 실제 물리적 메모리 보다 더 큰 용량의 메모리 공간을 제공하는 메모리 관리 기법이다.

가상메모리를 사용하기 위하여 Virtual Address Space를 사용한다.

 

-가상메모리 관리 단위

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

세그먼트 (segment) : 사용자 주소 공간을 용도별로 논리적 단위로 나눈것

반응형