1 min read
만약 Memory 가 꽉 찼다면 메모리에 있는 Page 를 swap 영역 으로 내보내야 한다 (swap out). 이때, 어떤 Page 를 보낼지 선정하는 알고리즘이 페이지 교체 알고리즘 이다.
하드디스크에 존재하고 Memory Management Unit 가 관리하는 영역 swap in swap out
swap out 을 위한 Page 를 선정하기 위한 알고리즘
Swap 영역 하드디스크에 존재하고 Memory Management Unit 가 관리하는 영역 swap in swap out Related References.
Page Fault Process 가 Page 를 요청했을 때, 그 Page 가 Memory 에 없는 상황 Process 의 부재에서 오류가 발생했을 뿐, Process 가 만든 오류는 아니다.
Swap in swap 영역 에서 물리 Memory 로 데이터 (Page) 를 가져오는 것 .
Memory B) 메모리의 구성 요소 4 개 B.1) Code 실행할 프로그램의 코드가 저장되는 영역 (컴파일 시 크기가 결정됨) B.2) Data 전역 변수, static variable 등 컴파일 시 결정되는 것들에 대한 영역 B.3) stack 지역 변수, parameters, return value 등...
페이지 교체 알고리즘 swap out 을 위한 Page 를 선정하기 위한 알고리즘 Memory 에서 앞으로 사용할 가능성이 적은 페이지를 대상 Page 로 선정하여 Page Fault 를 줄이고, 시스템의 성능을 향상한다.
프로세스의 크기에 맞게 Memory 를 자르는 것 .
Page Linux 는 I/O 성능을 높이기 위해서 Page Cache 를 사용한다.
Cache Prefetch CPU 에서 사용할 데이터를 메인 메모리에서 캐시 메모리로 미리 올려놓는 방식을 의미한다. 2. Related 3. References Cache prefetching - Wikipedia .
Paging 페이징이란 external fragmentation 의 발생을 완전히 차단하기 위하여 적용한 방법으로, 프로세스가 적재되는 메모리 의 논리 주소를 Page 라고 불리는 고정된 크기의 블록들로 분할하여 관리하는 기법이다.
Slab cache 는 다수의 slab 의 집합으로 구성되고, 각 slab 은 Slab Object 의 집합으로 구성된다. 각 Slab 은 Page Size 크기를 갖는다 (일반적으로 Page Size 는 4kb).