1. Virtual memory general
- 2 storage level을 사용: primary(DRAM) and secondary(Hard disk)
- OS에게 메모리를 공유하게 하면서도, 서로에게서부터 지킨다.
- 요즘은 PROTECTION이 더 중요하다. (또다른 메모리 계층 보다)
- 각 프로세스는 자기에게 own memory space가 있다고 생각한다.
- 가상 메모리와 실제 메모리의 차이:
가상 메모리는 프로세스의 주소 공간에서 메모리를 address하기 위해 프로그래머가 사용한다.
실제 메모리는 물리적인 메모리 주소에 접근하기 위해 하드웨어가 사용한다.
- 마치 물리적 메모리를 더 많이 갖고 있는 듯한 느낌
- 멀티 프로세싱 시스템의 메모리 관리를 더 간단하게 만든다.
(각 프로그램은 마치 자기 혼자 시스템에서 돌아가는 것처럼 주소 공간을 사용한다.)
- 메인 메모리가 secondary storage에게 캐쉬처럼 쓰인다.
- Program usese virtual addresses
Relocation: a program can be loaded anywhere in physical memory without recompiling or re-linking
2. Page table
- Page: 가상 메모리 블록
- Fixed block size scheme
- Page fault: a Virtual memory miss
데이터가 메모리에 있지 않아서, 디스크에서 가져온다.
- Segmentation
- Variable-size block scheme
- A bounds check is also needed to make sure that the offset is within the segment
- Powerful methods of protection and sharing in an address space
3. TLB (Translation lookaside Buffer)
- a Special cache for address translations
- 성능 향상을 위한 KEY!!: Locality of reference to page table
'나의' 카테고리의 다른 글
Enhancing Performance with Pipelining (0) | 2011.03.16 |
---|---|
Chapter 6. Storage and Other I/O Topics (0) | 2011.03.16 |
Chapter 5. Large and Fast: Exploiting Memory Hierarchy (0) | 2011.03.13 |
Chapter 3. Arithmetic for computers (0) | 2011.03.13 |
캡스톤 - compass sensor / 값 출력 (0) | 2011.03.12 |