[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 15. Address Translation
하드웨어 기반 동적 재배치로 가상 주소를 물리 주소로 변환하는 방법과, 이때 필요한 하드웨어·운영체제 지원을 정리했습니다.
하드웨어 기반 동적 재배치로 가상 주소를 물리 주소로 변환하는 방법과, 이때 필요한 하드웨어·운영체제 지원을 정리했습니다.
스택과 힙 메모리의 차이, malloc과 free의 사용법, 그리고 메모리 관리에서 자주 저지르는 실수를 정리했습니다.
물리 메모리를 직접 쓰던 초기 시스템에서 주소 공간 개념이 등장하기까지의 과정과, 메모리 가상화의 목표를 정리했습니다.
SVN에 커밋이 올라올 때 디스코드로 알림이 가도록 훅과 Go 스크립트를 구성한 과정을 정리했습니다.
리눅스 완전 공정 스케줄러가 가상 실행 시간과 레드 블랙 트리를 이용해 CPU를 공정하게 배분하는 과정을 정리했습니다.
멀티프로세서 환경의 캐시 친화성과 동기화 문제, 그리고 단일 큐(SQMS)와 멀티 큐(MQMS) 스케줄링을 비교했습니다.
추첨권 비율만큼 CPU를 나눠 주는 추첨 스케줄링의 원리와, 결정론적 대안인 보폭 스케줄링을 정리했습니다.
작업의 실행 시간을 모르는 상태에서 반환 시간과 응답 시간을 함께 잡으려는 멀티 레벨 피드백 큐의 규칙을 정리했습니다.
선도착선처리·최단 작업 우선·최소 잔여시간 우선 등 CPU 스케줄링 정책의 동작과, 반환 시간과 응답 시간이라는 평가 기준을 정리했습니다.
CPU 가상화를 위한 제한적 직접 실행 기법과, 사용자·커널 모드 전환 및 프로세스 간 전환을 처리하는 방법을 정리했습니다.