课程总结报告

一、结合虚拟化技术分析Linux系统的一般执行过程

  1. 虚拟化管理程序启动:在物理机启动时,首先会启动虚拟化管理程序,如VMware、KVM等。虚拟化管理程序负责管理虚拟机的创建、启动、停止等操作,同时为每个虚拟机分配一定的资源。

  2. 创建虚拟机:用户可以通过虚拟化管理程序创建虚拟机。在创建虚拟机时,需要指定虚拟机的配置信息,如内存大小、硬盘大小、CPU个数等。

  3. 虚拟机启动:创建虚拟机后,用户可以启动虚拟机。在启动虚拟机时,虚拟化管理程序会将虚拟机的虚拟硬件加载到内存中,并将控制权交给虚拟机中的引导加载程序。

  4. 引导加载程序启动:与传统物理机类似,引导加载程序是一个小型的程序,通常位于虚拟硬盘的MBR或ESP分区中。当虚拟机启动时,引导加载程序会加载操作系统内核。

  5. 内核启动:引导加载程序将内核加载到内存中,并将控制权转交给内核。此时,操作系统内核开始初始化各种硬件设备和系统资源,并创建第一个进程——init进程。

  6. 系统初始化:与传统物理机类似,init进程会执行一系列初始化脚本,完成各种系统资源的初始化和配置。其中,init进程会读取/etc/inittab文件来确定系统的运行级别,并启动相应的服务进程。

  7. 服务进程启动:与传统物理机类似,各种服务进程会被启动,如网络服务、文件服务、邮件服务等。这些服务进程通常由init进程启动,并在后台运行,为用户提供服务。

  8. 用户登录:与传统物理机类似,用户可以通过终端或远程登录的方式登录虚拟机。此时,用户进程会被创建,并获得系统资源的访问权限。用户可以运行各种命令和应用程序,完成各种任务。

虚拟化技术会在物理机和虚拟机之间添加一层抽象层,这会带来一定的性能开销。同时,虚拟化技术也提供了更高的灵活性和可管理性。

二、课程收获

在本课程中,我们以Linux 5.34为例,通过自己制作根文件系统,跟踪调试start_kernel的运行过程,深入理解了Linux系统的启动过程。同时,我们还学会了在Linux系统下的调试手段,编写程序进行系统调用,并跟踪这一过程,使得我们对Linux系统下的系统调用有了更深刻的理解。

此外,我们还通过分析Linux系统中的进程切换过程,深入理解了Linux系统的一般执行过程。在课上,两位老师还对Linux系统下函数执行过程中栈和寄存器的变化、系统的中断和异常、虚拟化技术等进行了深入的分析,使得我们对Linux操作系统有了更加深入的了解。

通过本课程的学习,我们不仅学会了如何阅读和理解这样一个大型项目,如何正确地调试大型项目,而且通过阅读优秀的源码,我们还学到了更多关于系统项目的编写规范和技巧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值