Linux系统的通常执行过程:
正在运行的用户态进程X切换到运行用户态进程Y的过程
(1)正在运行的用户态进程X
(2)发生中断——savecs:eip/esp/eflags(current)tokernelstack,thenloadcs:eip(entryofaspecificISR)andss:esp(pointtokernelstack).
(3)SAVE_ALL
(4)中断处理过程中或中断返回前调用了schedule(),其中的switch_to做了关键的进程上下文切换
(5)标号1以后开始运行用户态进程Y(这儿Y以前通过以上步骤被切换出去过因而可以从标号1继续执行)
(6)restore_all
(7)iret-popcs:eip/ss:esp/eflagsfromkernelstack
(8)继续运行用户态进程Y
虚拟化技术是一种将计算机资源进行具象化的技术,致使多个操作系统和应用程序可以共享同一台数学计算机的资源。这些技术可以增强计算机的借助率和灵活性,同时也可以减少成本和管理复杂度。
在虚拟化环境中,Linux系统的执行过程与在化学环境中的执行过程类似。Linux内核是虚拟机的操作系统,它负责管理虚拟机的硬件资源和提供系统调用插口。虚拟机监控程序(VMM)是虚拟化环境的核心组件,它负责管理虚拟机的创建、销毁和调度。当虚拟机启动时,VMM会为虚拟机分配一定的资源,如显存、CPU和网路插口。之后,VMM会将虚拟机的状态保存到虚拟机管理文件中linux系统日志,并将控制权交给虚拟机的操作系统。虚拟机的操作系统会在自己的地址空间中运行,并使用系统调用插口与VMM进行通讯。当虚拟机须要访问硬件资源时linux安装教程,VMM会将恳求转发给数学机的操作系统linux系统调用,并将结果返回给虚拟机。
课程总结
通过学习本门课程,我深入了解了Linux内核,从Linux系统的启动过程到系统调用linux系统调用,再到进程管理、虚拟化技术等,我对Linux系统的了解得到了进一步的加深。同时了解了在Linux系统下进行系统的调试与剖析的工具和技术,才能让我更好的解决程序中碰到的问题,这对我之后的学习和工作生涯有着深远的影响。最后通过写博客的形式将自己的学习过程记录出来,让我养成了良好的总结能力,对所学的知识就能进行系统的复盘,这对个人的学习成长也是大有益处的。