[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 10. Multi-CPU Scheduling
멀티프로세서 환경의 캐시 친화성과 동기화 문제, 그리고 단일 큐(SQMS)와 멀티 큐(MQMS) 스케줄링을 비교했습니다.
멀티프로세서 환경의 캐시 친화성과 동기화 문제, 그리고 단일 큐(SQMS)와 멀티 큐(MQMS) 스케줄링을 비교했습니다.
추첨권 비율만큼 CPU를 나눠 주는 추첨 스케줄링의 원리와, 결정론적 대안인 보폭 스케줄링을 정리했습니다.
작업의 실행 시간을 모르는 상태에서 반환 시간과 응답 시간을 함께 잡으려는 멀티 레벨 피드백 큐의 규칙을 정리했습니다.
선도착선처리, 최단 작업 우선, 최소 잔여시간 우선 등 CPU 스케줄링 정책의 동작과, 반환 시간과 응답 시간이라는 평가 기준을 정리했습니다.
CPU 가상화를 위한 제한적 직접 실행 기법과, 사용자/커널 모드 전환 및 프로세스 간 전환을 처리하는 방법을 정리했습니다.
프로세스를 만들고 제어하는 fork, wait, exec 시스템 콜의 동작과, fork와 exec이 분리되어 있는 이유를 정리했습니다.
실행 중인 프로그램인 프로세스의 개념과 상태 전이, 운영체제가 프로세스를 관리하는 자료 구조를 정리했습니다.
운영체제가 담당하는 CPU 가상화, 메모리 가상화, 병행성, 영속성이라는 네 가지 축과 설계 목표를 정리했습니다.
인스턴스를 하나로 제한하는 싱글톤 패턴의 개념과 유니티에서의 구현 방법, 그리고 남용했을 때 생기는 문제점을 정리했습니다.
언리얼 향상된 입력 시스템으로 마우스 클릭 이벤트를 C++에서 구현하고, 입력 액션과 매핑 컨텍스트를 연결하는 과정을 정리했습니다.