Etc./공부 요약2017. 5. 14. 17:17

1. 캐시 메모리 일관성(Cache coherence)


일관성 유지 메커니즘

멀티프로세서 환경에서 각 프로세서가 캐시를 보유하며 캐시에 로드된 데이터를 벼경한 경우 주기억장치의 데이터와 동일하게 유지됨


2. 캐시 불일치


캐시 쓰기 정책

불일치 상황을 설명하기 전 캐시 쓰기 정책은 두가지로 나누어 진다.


Write-Through 정책

모든 쓰기를 캐시와 메모리에 동시에 쓴다.

Write-Back 정책

캐시에 우선 반영 후 메모리에 쓴다. 캐시 라인이 교체시에만 메모리에 쓴다.

Write-back 정책 사용 가정시 발생하는 불일치

첫번째 프로세서의 값을 2로 갱신하였을 때, 캐시라인이 교체되지 않을 때 까지 캐시와 메모리의 값이 불일치 한다.


Write-Through 정책 사용 가정시 발생하는 불일치

첫번째 프로세서의 값을 2로 갱신하였을 때, Proc1과 주 메모리의 값은 같이 갱신되지만 Proc2와 Proc3은 갱신되지 않아 불일치 한다.


3. 가상 메모리 시스템 (Virtual Memory System)

이름만 봐도 알겠지만 주 기억장치(ex. ram)의 용량이 부족하여 보조기억장치(ex. hdd)를 주기억장치 처럼 사용하여 메모리의 공간을 확대한다.

가상 메모리를 사용하기 위해 VAS(Virtual Address Space)를 사용한다.


※VAS(Virtual Address Space)? = 가상 주소 공간

가상 메모리 기법으로 제고되는 주소 공간으로, 프로세스의 관점에서 사용하는 주소이다.

-위키백과-


가상 메모리 관리 단위

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

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


 이름

Paging 기법 

Segement 기법 

할당

고정 분할 

가변 분할 

적재 

요구 페이지에 일부 적재 

프로그램 전체 적재 

관점 

메모리 관리 측면 

파일 관리 측면ㅇ

장점 

요구 페이지만 적재
외부 단편화를 해결
교체시간 단축 

사용자 관점
개발, 프로그래밍 용이
내부 단편화 해결

코드, 데이터 공유 용이 

단점 

내부 단편화 발생
Thrashing, 잦은 디스크 I/O유발 

외부 단편화 발생

메인 메모리 다량 요구 



관리 정책

이름

내용 

예 

할당 기법

Allocation 

프로세스에게 할당되는 메모리 블록의 단위 결정 

고정 할당

가변 할당

Paging

Segmentation 

호출 기법

Fetch Policy 

보조기억장치에서 주기억장치로 적재할 시점 결정 

Demand Fetch

Pre Fetch 

배치 기법 

Placement

요구된 페이지를 주기억장치의 어느 곳에 적재할 것인지 결정 

First fit

Best fit

Next fit

Worst fit 

교체 기법

Replacement 

주기억장치 공간 부족 시 교체 대상 결정 

Random

FIFO

LRU

LFU

NUR

SCR

Optimal 


할당 정책(Allocation Policy)

이름

종류 

내용 

 연속 할당

고정 분할 

고정된 크기의 단위 메모리 할당

내부 단편화 발생 

가변 분할 

할당 단위를 요청마다 다른 크기로 할당 

비연속 할당 

Paging 

가상 메모리 블록을 페이지 단위 관리

TLB와 MMUm Page Table로 관리 

Segmentation 

가변 크기인 세그먼트로 분할

Segement Table로 관리 


Posted by BadSchool