嵌入式人必须了解的:虚拟机

✅面试一家外企时,面试官问我,32位机上如何运行64位程序,使得程序运行和在64位机上是一个效果?请思考一下再往下看~

64位程序是为64位架构设计的,它们利用了64位处理器的额外寄存器和更大的内存寻址空间,32位机由于硬件的缺陷,是兼容不了64位程序的。

我突然明白面试官问的是什么了,他在问虚拟机。

使用模拟器或虚拟机软件,如QEMU,可以在32位系统上模拟64位环境。这些工具可以模拟64位处理器的行为,允许64位程序在32位系统上运行。

✅虚拟机是我们学习过程中常用的工具,但是虚拟机分三类你知道吗?

I型:虚拟机直接运行在系统硬件上,创建硬件全仿真实例,被称为“裸机”型。微软Hyper-V就是这类产品。

II型:虚拟机运行在传统操作系统上,同样创建的是硬件全仿真实例,被称为“托管(宿主)”型。我们经常使用的VMware Workstation就是II型。

Ⅲ型:虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例(容器),指向底层托管操作系统,被称为“操作系统虚拟化”。那么Docker容器就是Ⅲ型。

✅之前在一家智驾企业实习的时候,我们需要做I型虚拟机,也就是Hypervisor,随着 ICT 技术的发展,单 SOC 算力可以承担更多业务,有了Hypervisor,可以在一块IMX或者RK3588芯片上同时跑三个操作系统,分别负责车辆的智能驾驶(Linux),娱乐(Andriod),控制(RTOS)。整个软件架构如图所示。目前的主流解决方案都是单 SOC多OS。

所以智驾行业对虚拟机的需求是难免的。例如智驾大厂斑马智行,会有虚拟机相关开发的岗位。(招聘需求放在前面了)

✅扯远了,那么我们再回到最初的问题,32位机上如何运行64位程序,使得程序运行和在64位机上是一个效果?
我们可以回答:我们可以使用I型虚拟机模拟64位的硬件环境,根据需求,可以搭建一个64位的传统OS,这样就可以将64位的应用程序跑在32位的物理机上。 #春招#  #秋招#    #软件开发薪资爆料#  #如果再来一次,你还会学硬件吗#  #硬件/芯片公司工作体验#  #稳定和高薪机械人更看重哪个?#
#嵌入式Linux#
全部评论

相关推荐

10-20 19:10
已编辑
燕山大学 测试开发
点赞 评论 收藏
分享
7 12 评论
分享
牛客网
牛客企业服务