挖个坑,聊聊ARM以及跨平台计算(更新 为什么Rosetta2跑不了虚拟机)
- hookgaoMark iOS fly ~
- littlelong
- 94crazyDBT可以看做是个实时编译器,编译器的优化技术都可以用上,翻译的过程还有其它平台的优化作为参考,另外可以充分开发体系结构提供的功能,比如hardware transactional memory,aes,SIMD之类的。帖子里会有详细介绍。
- gain_hi
- 94crazy
- 94crazy回复99#lias886
虚拟机迁移是我们领域很热门的问题,从用户角度看迁移的其实是服务,从不同层次有不同的解决路线,比如迁移进程/线程,迁移容器,迁移虚拟机,在跨平台环境下都会有特定的困难,有什么问题可以说说看具体讨论 - lias886回复157#94crazy
不同架构的cpu 目前看来不能跨cpu迁移 比如从X86到arm iOS fly ~ - lias886回复130#94crazy
这个能指个方向吗?指令集翻译 iOS fly ~ - black_samurai烦的神太多,以后都是云计算的天下,终端能上网有个输入法浏览器就行了 iOS fly ~
- ff0138进来学习。 iOS fly ~
- 94crazy静态的要动编译器,动态的要动虚拟机,高级一点的还可以动静结合,同时提高灵活性和性能
- 94crazy上面这些能保证程序在另外一个ISA跑起来,下面是迁移需要解决的问题:
1. 程序状态,堆栈,全局变量、函数地址,这些都会变,比如函数指针,地址是运行时生成的,迁移完了之后要匹配,多线程的还有线程数据
2. 系统状态,网络连接,打开的文件等等
3. 机器状态,寄存器等状态,不同系统结构提供的寄存器数量甚至都不一样 - 94crazy完全正确!不用以后,现在已经差不多了。我的工作环境甚至连输入法都没有。
- 94crazy6楼改成Q&A, 更新Rosetta2不能跑虚拟机的解释。毕竟看不见源码,个人推测,不一定对。
- f00l占位吃瓜
- DeepWaterCrossOver在Apple M1上跑起了x86的windows app。CrossOver是基于Wine的,CrossOver先把windows API调用翻译成macos调用,当然指令集还是x86的,然后rosetta2再接手,翻译成arm指令跑起来。
- socode技术贴,学习一下
- 不要问我从哪来点赞 iOS fly ~