실주소(real address)
물리 주소(physical address)
가상 주소(virtual address)
이진 주소(binary address)
Virtual-physical mapper
Memory management unit
Memory mapping unit
Memory processing unit
용량이 크고 느리다
용량이 작고 느리다
용량이 크고 빠르다
시간 지역성(temporal locality)
공간 지역성(spatial locality)
시간 지역성 및 공간 지역성 모두
위에 언급된 모두 해당 안됨
디스크(disk)
캐시(cache)
버퍼(buffer)
램(RAM)
논리 주소(logical address)
파편화(Fragmentation)
페이징(Paging)
매핑(Mapping)
Caching
Stack pointer 레지스터
Program counter 레지스터
Status 레지스터
Page table base 레지스터
스택(stack)
보조기억장치(secondary storage)
MMU(Memory Management Unit)
PCB(Process Control Block)
프로세스(process)
프로그램(program)
스레드(thread)
주소(address)
Dirty bit
Priority bit
Present bit
Physical address
Partitioned memory allocation
Contiguous memory allocation
Paged memory allocation
Segmented memory allocation
연속 메모리 할당(contiguous memory allocation)
동적 메모리 분할(dynamic memory partitioning)
고정 메모리 분할(fixed memory partitioning)
데이터 단편화(data fragmentation)
외부 단편화(external fragmentation)
내부 단편화(internal fragmentation)
파일을 자주 생성하고 삭제할 때
메모리 할당 요청이 오면 전체 메모리를 탐색하지않고 할당 가능한 영역을 찾으면 바로 할당할 때
다양하게 큰 크기의 메모리를 할당할 때
메모리 블럭의 최소 크기 단위를 줄일 때
보다 빠르다
보다 느리다
보다 무조건 좋다
과 시간복잡도가 같다
First fit보다 외부 단편화가 덜 발생한다.
연속 할당(contiguous allocation)에 속한다.
First fit으로부터 확장된 방식이다.
마지막으로 할당했던 위치를 기억해 두었다가 다음 할당 시 참조한다.
First fit이 사용될 때
Best fit이 사용될 때
Worst fit이 사용될 때
외부 단편화가 심화된다.
내부 단편화가 심화된다.
내부 단편화가 완화된다.
2의 배수 단위로 할당한다.
(페이지 번호, 프레임 번호)
(프레임 번호, 페이지 번호)
(페이지 번호, 페이지 변위)
(프레임 번호, 페이지 변위)
PC(Program Counter)
PTBR(Page Table Base Register)
PTLR(Page Table Length Register)
TLB hit
TLB miss
Page miss
Page fault
TLB hit count
TLB miss count
TLB hit ratio
TLB miss ratio
21 ns
20.8 ns
81 ns
80.2 ns
Multi-level page table
Fixed page table
Hashed page table
Inverted page table
주소 변환 속도를 빠르게 하기
더 많은 정보를 저장하기
페이지 테이블의 크기를 줄이기
위에 언급된 모두 해당
완화된다
심해진다
변화없다
알 수 없다
CPU 이용률(utilization)이 높아진다.
페이지 부재(page fault) 발생률이 낮아진다.
동시에 하나의 프로세스만 실행하면 발생하지 않는다.
프로세스 실행 시간보다 페이징(paging)에 더 시간을 많이 소모한다.
부적절한 페이지 교체(page replacement) 알고리즘
부족한 보조기억장치(secondary storage) 크기
부족한 주기억장치(main memory) 크기
과도하게 많이 실행되는 프로세스
쓰기가 발생하지 않더라도 미리 복사해두는 방식이다.
데이터 중복을 최소화시킨다.
프로세스 복제 시의 오버헤드를 줄일 수 있다.
페이징에 적용될 수 있다.
© Seunggon Kim