5.2 VMM의 등장
97
서 커널이 루트 파일 시스템을 마운트하고, 네트워킹 기능을 준비하고, 필요한 시스템 데몬들
을 띄운다는 점만 알면 될 것이다. (좀 더 자세히 알고 싶은 독자라면, 부팅 과정을 비롯해 리
눅스 커널 내부에 관한 자료가 웹에 많이 있으니 검색해 보기 바란다. 이를테면 깃허브
linux
-
insides
저장소 (
https
://
oreil
.
ly
/
GPutF
)에 이 주제에 관한 문서들이 있다.)
커널의 초기화가 끝나면 사용자 공간에서 프로그램을 실행할 수 있게 된다. 커널은 사용
자 공간 프로그램이 필요로 하는 모든 것을 관리하는 책임을 진다. 커널은 프로그램을 실행할
CPU
스레드의 시작과 관리, 일정 변경을 책임지는데, 이를 위해 프로세스들을 표현하는 자신
만의 자료 구조들을 생성하고 갱신한다. 커널은 각 프로세스에 메모리 블록을 배정하고, 프로
세스가 다른 프로세스의 메모리 블록에 접근하지 못하게 한다.
5.2
VMM
의 등장
방금 이야기했듯이 보통의 설정에서는 커널이 컴퓨터의 자원들을 직접 관리한다. 그러나
VM
의 세계에서 자원 관리의 일차적인 책임은
VMM
이 맡는다. 자원들을 분할해서
VM
들에 배정
하는 것은
VMM
이다. 각
VM
은 자신만의 커널을 가진다.
VMM
은 자신이 관리하는
VM
들 각각에 일정한 양의 메모리와
CPU
자원을 배정하고, 가상
네트워크 인터페이스를 비롯한 여러 가상 장치들을 설정하고, 각자 그 자원들에만 접근할 수
있는 게스트
guest
커널을 실행한다.
보통의 서버에서는 컴퓨터의 가용 자원들에 ...