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