[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 20. Advanced Page Tables
페이지 테이블이 차지하는 메모리를 줄이기 위한 멀티 레벨 페이지 테이블과 역 페이지 테이블 등의 기법을 정리했습니다.
페이지 테이블이 차지하는 메모리를 줄이기 위한 멀티 레벨 페이지 테이블과 역 페이지 테이블 등의 기법을 정리했습니다.
주소 변환을 빠르게 하는 TLB의 동작 원리와, 미스 처리와 문맥 교환 문제 및 교체 정책을 정리했습니다.
SVN 병합 후 .uproject 파일에 쉼표가 누락되어 프로젝트가 열리지 않던 문제의 원인과 해결 과정을 정리했습니다.
주소 공간을 고정 크기 페이지로 나누는 페이징의 원리와, 페이지 테이블의 구조 및 성능 문제를 정리했습니다.
베이스와 바운드 방식의 메모리 낭비를 해결하는 세그멘테이션의 원리와, 세그먼트 공유 및 외부 단편화 문제를 정리했습니다.
하드웨어 기반 동적 재배치로 가상 주소를 물리 주소로 변환하는 방법과, 이때 필요한 하드웨어와 운영체제 지원을 정리했습니다.
스택과 힙 메모리의 차이, malloc과 free의 사용법, 그리고 메모리 관리에서 자주 저지르는 실수를 정리했습니다.
물리 메모리를 직접 쓰던 초기 시스템에서 주소 공간 개념이 등장하기까지의 과정과, 메모리 가상화의 목표를 정리했습니다.
SVN에 커밋이 올라올 때 디스코드로 알림이 가도록 훅과 Go 스크립트를 구성한 과정을 정리했습니다.
리눅스 완전 공정 스케줄러가 가상 실행 시간과 레드 블랙 트리를 이용해 CPU를 공정하게 배분하는 과정을 정리했습니다.