본문 바로가기

memory

(2)
copy on write 컴퓨터의 한정된 자원을 서로 다른 두 개의 프로세스가 공유할 때 유용하게 쓸 수 있다. 프로세스 2개가 있다고 해보자 private object는 공유 객체와 똑같은 방법으로 만들어지고, 두 개의 프로세스가 한 개의 사적 객체를 서로 다른 자신의 가상 메모리 영역으로 매핑하지만 객체의 동일한 사본을 공유하는 경우를 보여줌, area struct는 copy-on-write로 표시됨. 두 프로세스가 모두 자신의 사적 영역에 쓰려고 하지 않는 한, 이들은 물리 메모리에 단 한 개의 객체 사본을 계속 공유한다. 하지만 한 프로세스가 사적 영역 내의 일부 페이지에 쓰려고 하는 순간 쓰기 작업은 보호 오류를 유발한다 이때 오류 핸들러가 보호 예외가 발생한 것을 알고 새로운 물리 페이지에 새로운 사본을 만들고 , 페..
Memory system 간단하게 CS:APP의 연습문제 9.4번을 풀면서 메모리, 캐시, 가상 메모리에 대해 정리해보려 한다. 문제에서 주어진 것 처럼 Virtual address가 0x03d7일 때 시스템이 어떻게 가상 주소를 물리 주소로 번역하고, 캐시를 접근하는지를 보겠다. 주어진 가상 주소를 bit 형태로 써보면 00 0011 1101 0111 이고, 여기서 TLB에 접근하기 위해 태그와 인덱스를 구해보면, 주어진 문제에서 4개의 집합을 가지니, VPN(0x0F)의 2개 하위 비트들이 집합 인덱스(TLBI)(0x03)로 사용되고, 나머지 6개의 상위 비트들은 태그(TLBT)(0x03)로 사용된다. 여기서 VPO(0x17)는 페이지의 크기가 2^6 =64바이트 이기 때문에, 하위 6비트에 해당하고 PPO 또한 물리 메모리..