1 结合虚拟化技术分析Linux系统的一般执行过程
-
虚拟化技术
虚拟化主要是指通过软件实现的方案,常见的体系结构是一个直接在物理主机上运行虚拟机管理程序的虚拟化系统。在 x86平台虚拟化技术中,这个虚拟机管理程序通常被称为虚拟机监控器(Virtual Machine Monitor,VMM),又称为Hypervisor。它是运行在物理机和虚拟机之间的一个软件层,物理机被称为主机(Host),虚拟机被称为客户机(Guest),中间软件层即Hypervisor。
-
Linux系统的一般执行过程
-
启动BIOS和UEFI:当计算机启动时,BIOS或UEFI会启动并初始化硬件。
-
加载引导程序:BIOS或UEFI会加载引导程序,该程序通常位于硬盘的MBR(Master Boot Record)中。引导程序将向用户提供菜单以选择要启动的操作系统,其中也包括Linux。
-
加载内核:选择Linux后,引导程序会从硬盘加载Linux内核到内存中。内核是Linux系统最重要的部分之一,它是操作系统的核心,可以管理所有的硬件设备,并提供各种服务和功能。
-
初始化系统:内核加载后,Linux会进行初始化系统,包括创建进程、挂载文件系统、初始化网络等。
-
启动用户空间:接下来,Linux会启动用户空间,即用户可以交互式地使用系统。在此期间,Linux会加载各种应用程序和驱动程序,以及其他必要的库和数据。
-
结合虚拟化
在Linux系统中,当虚拟机启动时,其执行过程与物理机有所不同。
首先,在虚拟化环境下,虚拟化层会拦截所有的硬件访问,并将其重定向到虚拟机中。这意味着,在启动引导程序时,虚拟化层会加载虚拟机的引导程序而非物理主机上的引导程序。
接着,在第3步时,虚拟化层会加载虚拟机的操作系统内核,而不是物理主机上的操作系统内核。这样,每个虚拟机都可以运行自己的Linux系统,就好像它们在各自的物理计算机上一样。
最后,在启动用户空间时,虚拟化层会为每个虚拟机提供独立的资源,并对它们进行隔离,以确保它们之间不会相互干扰。
虚拟化技术在Linux系统中的应用,可以实现一台物理主机上同时运行多个虚拟机,实现资源共享和隔离,同时也能够确保每个虚拟机都可以独立运行自己的操作系统。
2 课程收获
本次对linux有了系统性的了解。认识到了linux的发展史,并且了解到开源的一些背景知识。学会了调试linux的内核,对linux内部的进程调度,中断机制有了新的理解。之前一直在使用docker,但是对docker的底层实现,以及联合文件系统并不是很理解,在这次的学习中认识了虚拟化技术,容器技术,补足了对docker的理解欠缺。