Linux系统一般执行过程
Linux操作系统的启动过程一般分为四个阶段:BIOS启动引导阶段、GRUB启动引导阶段、内核阶段和init初始化阶段。
- BIOS启动引导阶段:计算机加电后,首先运行的是BIOS程序。BIOS程序会检测计算机硬件设备并进行初始化,然后将控制权交给下一级的启动引导程序。
- GRUB启动引导阶段:GRUB是GNU开源组织开发的多操作系统引导程序。它可以在多个操作系统之间进行切换。GRUB启动后会显示一个菜单,让用户选择要启动的操作系统。
- 内核阶段:内核是操作系统的核心部分,负责管理计算机硬件设备和软件资源。在启动时,内核会加载驱动程序、文件系统等模块,并初始化各种数据结构。
- init初始化阶段:init是Linux系统中的第一个进程,负责启动其他所有进程。init进程会读取配置文件/etc/inittab,根据配置文件中的信息来启动其他进程。
当将虚拟化技术与Linux系统的执行过程结合起来时,可以创建多个虚拟机(VM)并将计算机资源分配给它们。虚拟化技术通过虚拟机监控程序(Hypervisor)连接到硬件,将物理硬件系统划分为不同的、单独的安全环境。虚拟机监控程序可以适当地分配资源给虚拟机。
虚拟化技术下Linux系统的执行过程如下:
- 在物理计算机上启动虚拟化管理程序,如KVM、Xen等。虚拟化管理程序负责创建和管理虚拟机,并提供对硬件资源的访问和分配。根据用户需求,创建一个或多个虚拟机。
- 虚拟化管理程序会分配硬件资源,如CPU、内存等,给虚拟机使用。
- 虚拟机启动引导程序,在虚拟化环境下,所有的硬件访问都会被拦截,虚拟化层会将其重定向到虚拟机中。此时操作系统内核开始执行。在Linux系统中,引导加载程序(bootloader)负责加载内核和必要的初始文件系统。虚拟化层捕获并重定向所有中断相关的内容,完成虚拟化。
- 最后,启动用户空间。虚拟化技术为每个虚拟机提供了强大的安全和隔离机制,确保它们之间不会相互干扰。
课程总结
Linux常用命令、计算机系统的架构冯诺依曼和哈弗架构、x86和ARM64的区别和联系、Linux内核调试过程、深入理解系统调用、进程的描述和描述的创建、可执行程序的执行原理、Linux I/O 和设备管理、进程调度和切换、虚拟机技术、Linux容器技术