Linux-lab6:结合虚拟化技术分析LinuxOS一般执行工程

虚拟化技术

`虚拟化技术`是一种将处理器、内存、存储器、网络等物理硬件进行共享的技术,使单个物理硬件能够创建多个模拟环境或专用资源,一台物理机将被划分为单独的虚拟机(VM)或容器,并在每个VM或容器中运行不同的操作系统或应用程序,管理这种虚拟化功能的程序称为`Hypervisor 虚拟机监控程序`。

Linux系统的启动过程分为几个阶段

0、`开机自检`,检测内存、硬盘、光驱等外设是否正常。

1、`启动引导`阶段:一般是`BIOS/UEFI`程序,做一些硬件的初始化工作

2、`加载引导`程序:通过BIOS/UEFI加载引导程序,例如`GRUB/LILO`,使Linux用户能够在多个操作系统间进行切换,

3、`内核加载`阶段:加载文件系统、驱动程序、网络、用户界面等核心模块,初始化重要的数据结构。

4、`init初始化`阶段:init是Linux启动后的第一个进程,它的任务是读取配置文件etc/inittab,依照配置来启动其他所有的进程,

5、`用户空间`启动:用户可以开始交互地使用系统,例如登录界面的显示。

Linux上的`虚拟机`具有以下的特点

1、最早在`加载引导`阶段开始运行:如上述对Linux系统的分析,一台物理机将在加载引导时开始运行虚拟化程序,并开始虚拟机的启动引导。

2、`硬件访问重定向`:拦截所有虚拟机对物理硬件的直接访问,由Hypervisor统一管理,Hypervisor将负责分配CPU、内存物理资源。

3、`相对隔离 KVM技术`:基于Linux系统可以安装多个虚拟机,不同虚拟机内对相同物理资源的请求将不会冲突。

Linux系统在以下几个方面也用到了虚拟化技术

1、`虚拟内存`:使每个程序有着不会相互影响的独立地址空间,并通过页表映射到物理内存上。

2、`虚拟文件系统`:通过`Virtual File System`,用户可以访问不同类型的文件系统,例如`EXT4`、`NTFS`。

3、`容器技术`:Linux系统上可以运行多个`容器`——多个隔离的用户空间实例,每个实例都有自己的文件系统、网络和进程空间。这是一种OS级别的虚拟化技术,不同容器共享主机OS内核,不必使用完整的OS。Docker是目前较流行的Linux容器技术。

课程收获

1、更加熟悉Linux命令行的常用命令,这对其他依赖LinuxOS的工作也是有益的。

2、以Linux系统为实例,进行初步的源码级分析,对现代操作系统有了更为形象的认知。例如系统调用、进程切换是如何进行的,中断的本质是什么,可执行程序是怎么跑起来的,虚拟化技术与容器技术等,这些努力将本科和考研的纯理论学习与这门课中的动手实践相结合。

3、能够进行初始化追踪、GDB调试、文件系统挂载等重要操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值