ecsimsw
Memory 본문
Link / Load
MMU ( Memory management unit )
- 메모리 영역 보호 : 다른 프로세스 영역으로 침범할 수 없도록 보호한다.
- Address translation : register에 cpu에서의 주소 (logical address)와 실제 적재된 메모리 위치 (physical address)의 차이를 따로 저장하여, 프로세스가 가변적인 위치로 메모리에 저장되어도, CPU는 상관없이 기존 논리 주소를 사용할 수 있도록 한다.
Prevent memory waste
- Dynamic load : 프로그램을 메모리에 load할 때, 동적으로 필수적인 부분만 먼저 올리고, 부가적인 부분은 대상에서 제외하는 것이다. 프로그램 내의 모든 데이터, 모든 class가 다 사용되는 것은 아니고, 예외 처리 루틴처럼 사용될 확률이 적은 루틴을 필요할 때 적재한다.
- Dynamic linking (shared library) : 공통된 라이브러리가 오브젝트 파일에서 중복 적재되는 것을 막기위해, 라이브러리 루틴의 링킹을 실행 시까지 미뤄, 이를 다 올리지 않고 common library 하나만 적재하는 것으로 한다.
- Swapping : 일정 시간 사용하지 않는 프로세스를 hdd의 특정 영역 (backing store)에 img 형식으로 몰아 두었다가, 다시 사용할 일이 있을 때, 이를 꺼내 사용하는 방식.
'Computer Science > Operating system' 카테고리의 다른 글
Paging / Internal fragmentation / TLB (0) | 2019.10.16 |
---|---|
Contiguous Memory Allocation / External fragmentation (0) | 2019.10.16 |
midterm review (0) | 2019.10.10 |
Dead Lock (0) | 2019.10.07 |
Traditional synchronization example / Producer and Consumer problem (0) | 2019.10.02 |
Comments