课程总结报告
Linux系统的一般执行过程
在结合虚拟化技术分析Linux系统的一般执行过程之前,我们首先了解诶Linux的一般执行过程:
[Linux操作系统的启动过程一般分为四个阶段: BIOS启动引导阶段; GRUB启动引导阶段; 内核阶段; init初始化阶段。
BIOS启动引导阶段:计算机加电后,首先运行的是BIOS程序,BIOS程序会检测计算机硬件设备并进行初始化,然后将控制权交给下一级的启动引导程序。
GRUB启动引导阶段:GRUB是GNU开源组织开发的多操作系统引导程序,它可以在多个操作系统之间进行切换。GRUB启动后会显示一个菜单,让用户选择要启动的操作系统。
内核阶段:内核是操作系统的核心部分,它负责管理计算机硬件设备和软件资源。内核在启动时会加载驱动程序、文件系统等模块,并初始化各种数据结构。
init初始化阶段:init是Linux系统中的第一个进程,它负责启动其他所有进程。init进程会读取配置文件/etc/inittab,根据配置文件中的信息来启动其他进程。
结合虚拟化技术分析Linux系统的一般执行过程
借助虚拟化技术,用户能以单个物理硬件系统为基础创建多个模拟环境或专用资源。称为"Hypervisor"(虚拟机监控程序)的软件可直接连接到硬件,从而将一个系统划分为不同的、单独安全环境,即虚拟机(VM)。虚拟机监控程序能够将计算机资源与硬件分离并适当分配资源。配备了虚拟机监控程序的物理硬件叫做"主机",而使用其资源的虚拟机则被称为虚拟客户机。虚拟化主要是指通过软件实现的方案,常见的体系结构是一个直接在物理主机上运行虚拟机管理程序的虚拟化系统。在 x86平台虚拟化技术中,这个虚拟机管理程序通常被称为虚拟机监控器(Virtual Machine Monitor,VMM),又称为Hypervisor。它是运行在物理机和虚拟机之间的一个软件层,物理机被称为主机(Host),虚拟机被称为客户机(Guest),中间软件层即Hypervisor。
虚拟化技术下Linux系统的执行过程如下
-
首先,在物理计算机上启动虚拟化管理程序,例如KVM、Xen等会被启动。虚拟化管理程序负责创建和管理虚拟机并提供了对硬件资源的访问和分配。之后创建根据用户要求,创建一个或多个虚拟机。
-
虚拟化管理程序会分配硬件资源,虚拟化管理程序将物理计算机的硬件资源,如CPU、内存等。
-
接着虚拟机启动引导程序,而在虚拟化环境下,所有的硬件访问都会被拦截,虚拟化层会虚拟化层会将其重定向到虚拟机中。此时操作系统内核开始执行。在Linux系统中,引导加载程序(bootloader)负责加载内核和必要的初始文件系统。所有中断相关的内容都会被虚拟机捕获,并重定向到虚拟机,完成虚拟化。
-
最后启动用户空间,虚拟化技术为每个虚拟机提供了强大的安全和隔离机制,以确保它们之间不会相互干扰。
课程收获
在Linux操作系统分析课程中,我加深了对Linux操作系统的理解,同时对于软硬件有了更深的认知,在Linux课程中,我学习到了一下内容:
- 如何搭建Linux内核系统的调试环境。
- 通过对start_kernel的跟踪分析,对Linux操作系统的启动过程深入的理解。
- 通过分析time/gettimeofday系统调用深入理解了ARM64中Linux中的执行过程。
- 了解Linux操作系统中进程切换的过程。
- 了解了虚拟化技术下Linux系统的一般执行过程。
通过本次课程的学习,我更加深入的了解Linux操作系统的各个部分,让我受益匪浅。