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

✅面试一家外企时,面试官问我,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#
全部评论

相关推荐

嵌入式开发工程师职位名称:嵌入式开发工程师  所属部门:硬件研发部  工作地点:沈阳  薪资范围:15-20K/月(13薪+绩效奖金)  岗位职责:  1. 固件开发:     - 基于Linux/FreeRTOS开发边缘计算单元(Jetson Nano/RK3588)的底层驱动,支持多传感器(摄像头、红外测温、麦克风阵列)数据采集。     - 优化硬件资源占用(内存<500MB,CPU利用率<70%)。  2. 低功耗优化:     - 实现动态电压频率调整(DVFS),待机功耗<5W。     - 设计离线缓存机制(存储30天数据),支持断网环境下的本地决策。  3. 通信协议开发:     - 开发设备与云端的数据传输协议(MQTT/CoAP),确保数据同步延迟<1秒。     - 适配工业通信协议(如Modbus RTU/TCP),支持PLC设备联动控制。  4. 故障排查:     - 分析硬件异常日志(如SPI通信超时、DMA溢出),提出改进方案。  任职要求:  1. 教育背景:本科及以上学历,计算机、电子工程、通信工程等相关专业。  2. 经验要求:     - 3年以上嵌入式开发经验,熟悉ARM/Linux开发环境。     - 有边缘计算设备(如智能摄像头、工业网关)开发经验。  3. 技术能力:     - 精通C/C++,熟悉Python脚本开发。     - 掌握Linux内核裁剪、设备树(Device Tree)配置、驱动开发。     - 熟悉RTOS系统(FreeRTOS、Zephyr)实时任务调度机制。  4. 加分项:     - 有FPGA开发经验(如Xilinx Zynq系列)。     - 熟悉硬件安全机制(Secure Boot、TrustZone)。 
点赞 评论 收藏
分享
1,之前面过我们吗(我给忘了我秋招面过,说没有,他说有面试记录)2,为啥不考研3,主语言c++,岗位方向有限定吗4,实习浙江广州都有,为啥实习不准备转正5,假如你发现我们公司没有自己的产品,或者你的岗位不是自研岗位,你会怎么办6,你的语言c++,python,代码量怎么样7,现在回学校了吗8,实习中的ota功能详解9,你实习中音视频解码降低cpu占用怎么实现10,为什么第一家公司只待了两个月11,线程池具体讲一下12,采集数据,处理数据和显示数据速率不匹配如何处理的13,为什么要用线程池(调度?我不清楚问啥)线程池原理的一个重点:调度,锁14,c/c++新特性,auto用做什么15,智能指针16,结构体和类的区别17,结构体内存对齐?(我给忘了)18,tcp/udp,http,ip在那一层tcp/udp区别tcp为什么可靠19,了解一下大学期间成绩怎么样20,大学里的自己的规划21,在学技术的时候学习途径学习方法22,学习有做笔记吗23,大学敲代码,自己有做过什么实现吗24,mit操作系统内核,讲一下25,最简单的操作系统需要包含哪些功能26,大学期间印象比较深的经历27,你觉得你在你们宿舍你是最优秀的吗28,你自己自我评价,优缺点2个29,大三7月份就跑出去为啥(实习的还是晚了应该早点)30,目前几个offer31,假如去一家公司发现他的方向和你的规划不匹配,或者工作没有挑战力,或者觉得技术栈太拉,没有自己的产品,遇到这种情况怎么办32,前两家实习有加班吗,对加班和出差有要求吗反问base地,项目关于什么
鼠生的意义就是每天喝到可口可乐:2面群面+hr面,3个人一起面试,我答的一坨,大部分都是排序算法,网络的5层概念和具体协议实现(我记的是7层模型),死锁,野指针啥的,他是一个人回答一点,我回答的都是他俩的最后导致我不知道说啥了,当然也是我只知道最常用的,没看的很深入 后面就面试官都跳过我不问了,直接问他们俩了,最后hr问我们薪资的时候我就说多益hr刚面完,这边给14,我个人期望是嵌入式方向,也知道嵌入式这边薪资给不高,就只要了10,然后第二天就打电话过了
点赞 评论 收藏
分享
评论
8
12
分享

创作者周榜

更多
牛客网
牛客企业服务