운영체제 OS - Virtual Memory(3)

송민수·2022년 3월 13일
0

4) 가상 메모리의 부가 장점

가상 메모리를 사용하면서 생기는 부가 장점으로 다음과 같은 것들이 있다.

º 공유 메모리 사용

º Copy-on-write 메커니즘

º Memory mapped file

4-1) 공유 메모리 사용

여러 프로세스 간의 communication의 한 가지 방법으로 공유 메모리를 사용할 수 있는데, demand-paging 기법을 사용할 경우 다른 프로세스의 각각의 페이지가 같은 프레임을 가리키도록 하면 공유 메모리를 사용할 수 있다.

윈도우의 dll이나 리눅스의 so 역시 이 방식으로 물리 메모리 프레임을 같이 가리키게 하여, 전체 메모리를 절약하게 된다. 아래 그림에서 프로세스 A의 1번 페이지, 프로세스 B의 7번 페이지가 물리 메모리 5번 프레임을 같이 가리키는 것을 볼 수 있다.

4-2) Copy-on-write 메커니즘

부모 프로세스를 clone하여 자식 프로세스를 생성하였을 때, 처음에는 같은 메모리를 사용하도록 하다가 그곳에 Write가 발생하였을 때 메모리를 copy하는 것으로 이것 또한 공유 메모리처럼 같은 프레임을 가리키도록 하였다가 복사가 되었을 때 새로운 프레임을 할당하면 된다.

Linux에서는 자식 프로세스(child process)를 생성(fork)하면 같은 메모리 공간을 공유하게 된다. 그런데 부모 프로세스가 데이터를 새로 넣거나, 수정하거나, 지우게 되면 같은 메모리 공간을 공유할 수 없게 된다. 따라서 부모 프로세스는 해당 페이지를 복사한 다음 수정한다. 이것을 Copy-on-Write(COW)라고 한다. 만약 자식 프로세스가 없었다면 페이지를 복사하지 않고 바로 수정했을 것이다. 따라서 자식 프로세스가 생성되어 작업을 하는 동안 데이터 입력/수정/삭제가 발생하면 해당 메모리 페이지를 복사해야 되기 때문에 평소보다 더 많은 메모리가 필요해진다.

<자식 프로세스를 생성(fork)한 직후 프로세스와 메모리 모습>
< 부모 프로세스가 Page C 를 수정한 후 프로세스와 메모리 모습 >

5) MMU(Memory Management Unit)

5-1) MMU란?

가. MMU(Memory Management Unit)의 개념

CPU와 Cache 사이 불연속적 메모리 주소를 논리적 연속된 가상 주소로 Mapping 관리 장치

나. MMU 역할

주요 기능설명
주소 변환실제 메모리와 가상 메모리의 주소 변환
메모리 보호각 영역 간 읽기/쓰기 침범 차단 역할

5-2) MMU 주요 기능 및 주소 변환 과정

가. MMU 주요 기능

주요 기능설명
주소 변환가상메모리 주소를 물리 주소로 변환
특권 통제사용자 프로그램에서 커널 영역 침범 차단
캐시 통제캐시 가능 영역과 불가 영역 설정
읽기/쓰기보호Read / Write 불가 영역 생성 기능
메모리 보호각 프로세스 별 영역만 접근하도록 통제

나. MMU 주소 변환 과정

Memory Mapping 절차절차 설명
① MMU에 가상주소 전달
② Page Table 탐색
③ 물리주소 MMU에 전달
④ 주소신호(RAS,CAS)발생
⑤ Data를 CPU에 전달

6) TLB (Translation Look-aside Buffer)

6-1) TLB란?

가. TLB(Translation Look-aside Buffer)의 정의
자주 참조되는 가상 메모리 주소를 실제 메모리 주소로 매핑 시 성능 개선 위해 MMU(Memory Management Unit)에서 사용하는 고속 캐시.

나. TLB의 특징

특징설명
변환 결과 테이블매번 주소를 변환하는 대신 변환 결과를 테이블에 저장하여 사용
특수 고속 캐시페이지 테이블 항목에 대한 특수 고속 캐시 사용하여 메모리 참조시간 단축

6-2) TLB의 개념도 및 동작원리

가. TLB의 개념도

나. TLB의 동작원리

방안상태TLB 동작
TLB Hit가상주소에 해당 항목이 TLB에 있음CPU가 TLB 통해 즉시 물리주소 생성
TLB Miss가상주소에 해당 항목이 TLB에 없음주기억장치 페이지테이블 참조, TLB 갱신
페이지 Fault가상주소에 해당 항목이 주기억장치에 없음디스크에서 페이지 반입, 페이지테이블 갱신

다. 직접사상 방식과 TLB의 비교

항목직접 사상의 주소 변환TLB에 의한 주소 변환
사상 방식Direct MappingAssociation Mapping
페이지 테이블 위치주기억장치 내고속의 특수 캐시 내 (TLB)
장단점데이터 접근시 주기억장치 두 번 접근 필요1. TLB 병렬 고속탐색
2. 고비용, 적용 한계

6-3) TLB 성능 개선 위한 고려사항

고려사항상세 내용
Entry 수 증가TLB 참조 증가, 많은 전력 사용
페이지 크기 증대사상 적용 증가, 내부 단편화 증가
다중 페이지 지원적은 내부 단편화, 큰 페이지 사용 가능
profile
송민수입니다.

0개의 댓글