Wine CE 8.5 发布,首次实现无本机 32 位库且无 softmmu 支持前提下模拟 32 位应用
Wine CE 8.5发布,该版本基于Wine 8.5和Qemu 8.0.0-rc2,是运行于Linux平台跨指令架构的Windows应用模拟器。此次更新除了携带Wine和Qemu的最新更新外,还解决了在64位平台上无本机32位库支持和无Softmmu(软内存管理单元)的前提下,高性能实现32位被模拟应用透传调用主机端64位接口的难题。
由于越来越多基于包括ARM、RISC-V等架构的芯片放弃了对32位的支持,传统的32on32同长度位架构高效模拟32位应用的方案面临挑战。且Windows系统32位软件仍然占有举足轻重的地位。因此,如何在64位系统上无32位支持的前提下异构模拟32位Windows软件,成为Windows软件模拟器亟待解决的问题。
目前,产业界针对此问题的解决方案,大多诉诸于内存地址映射转换。然而,内存地址映射转换除了转换所带来的性能开销外,还会增加额外的临界状态,导致出现较大的性能损失。比如著名的二进制翻译软件exagear32on64相比其同长度位架构模拟的exagear32和exagear64,就存在严重的性能负向问题。
Wine CE模拟器率先解决这个难题,实现了32位被模拟应用高效透传针对主机端64位接口及驱动的调用。Wine CE 8.5使用了经过性能强化且大幅修改的Qemu TCG作为二进制翻译器。与官方版Qemu TCG相比,该版本支持x86和x64混合指令的应用,且性能大幅提高。在搭载RISC-V嵌入式芯片JH7110的Linux上通过Wine CE测试解压7z格式Win32自解压应用,其性能可达到Intel Core i7 9750H + windows11组合的1/16。Wine CE通过接口语法分析自动生成封装转换代码,可将模拟端调用的参数封装转发给主机端执行,充分践行Wine CE非必要不模拟的原则。
目前,Wine CE 8.5 已经支持AArch64和RISCV64平台,并且在树莓派4和星光2开发板上进行了验证,验证视频如下:
树莓派4:https://www.bilibili.com/video/BV1yc41157iS
星光2(由于驱动未完善GPU暂不可用,用CPU软渲染): https://www.bilibili.com/video/BV1gv4y1578t

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GaussDB数据库存储过程介绍
文章目录 一、前言 二、GaussDB中的定义 三、存储过程的使用场景 四、存储过程的使用优缺点 五、存储过程的示例及示例解析 1、GaussDB存储过程语法格式 2、GaussDB存储过程语法示例 3、存储过程的调用方法 七、总结 一、前言 华为云数据库GaussDB是一款高性能、高安全性的云原生数据库,在数据库领域处于领先地位。而在GaussDB中,存储过程是一个不容忽视的重要功能。本文将深入介绍GaussDB存储过程的使用场景、使用优缺点、示例及示例解析、调用方法等方面,为读者提供全方位的指导与帮助。 存储过程是一个可重用的、批处理的SQL语句代码块,可以包含多条SQL语句,通常用于执行复杂的数据操作、提高数据库的性能和安全性,以及简化数据库应用程序的开发和维护。在GaussDB中,存储过程的使用可以使数据库应用程序更具灵活性、数据完整性更高、执行速度更快。 二、GaussDB中的定义 商业规则和业务逻辑可以通过程序存储在GaussDB中,这个程序就是存储过程。 存储过程是SQL、PL/SQL、Java语句的组合。存储过程使执行商业规则的代码可以从应用程序中移动到数据库。从而,...
- 下一篇
新增多数据源支持,Mybatis-Flex v1.0.6 发布
Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。 总而言之,Mybatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。 MyBatis-Flex 1.0.6 主要是新增了多数据源的支持,具体更新内容如下: 新增:新增多数据源的支持 新增:Db.tx() 的事务提交方法 新增:RawValue 类,用于一些不需要进行 Sql 编译的场景 新增:@Table() 注解,添加 onSet 配置,用于监听 entity 被设置内容 新增:添加独创的 FlexIDKeyGenerator ID 生成器,用于分布式 ID 生成 优化:重命名 TableInfos 为 TableInfoFactory 优化:重命名审计日志的 "extTime" 为 "queryTime" 修复:AuditManager 在某些场景下会出现空指针的问题 文...
相关文章
文章评论
共有0条评论来说两句吧...