12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 666|回复: 0

什么是SysWow64【转载】

[复制链接]

303

主题

303

帖子

616

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
616
发表于 2019-8-19 11:14:53 | 显示全部楼层 |阅读模式
什么是SysWow64

        Wow!什么是Wow64今天有个同事,被SysWow64搞晕了。
        这里简单介绍一下。64位的Windows并不是简单地把所有东西都编译成64位就万事大吉的。
关于64位的CPU应该做成什么样子,Intel和AMD曾有各自的打算。 AMD的回答直接了当:新的
64位处理器,应该能在提高更高处理能力的同时,保持对32位应用程序的兼容性。而Intel则希望
借此机会,把下一代的处理器,设计得更完美。

       于是, 就有了AMD的x86-64 (后被称为amd64) 的处理器和Intel的IA-64(安腾)处理器。 和amd64不一样的是,  安腾处理器并没有很好地提供对32位应用程序的支持。
具体信息,读者在网上应该很容易找到,也就不多说了。Windows作为一个操作系统, 自然希望用户在运行64位操作系统时,也能像以前一样,运行各种32位应用程序。这一
点,在amd64处理器上,相对容易做到。而安腾,几乎是另外一回事。(后来Intel也生产了兼容amd64的处理器,但那是后话。)虽然我说“相对”容易做到,但也不是空手套白
狼。


        当操作系统运行在64位时,怎么才能保证已经存在的32位应用程序以为自己仍然运行在32位系统上呢?

       微软的解决方案是:Wow64,全称是32bit Windows On 64bit Windows(64位Windows上的32位Windows)。
你也可以这样理解,  虽然整个系统是运行在64位模式, 但如果一个应该程序是32位的, Windows会在64位的基础上,  加载一个“32位的Windows”。  这样, 这个32位应用程序
就以为自己是运行在32位的系统之上的。于是,你也可以想象,   这就意味着,64位的Windows,不但带有64位操作系统应有的系统文件, 还带有32位系统应有的系统文件。 我
们都知道的是,   Windows系统的主要系统文件都是放在一个叫做System32的文件夹中的。 为了能同时放下两套系统文件, Windows会在64位的系统上,增加了一个文件夹,叫
SysWow64。这便有了一个问题,System32和SysWow64里面,哪个放的是64位的系统文件,哪个放的是32位的系统文件呢?


        如果你还记得Wow64指的是64位Windows上的32位Windows,那么,你就能会想到,SysWow64里放的是32位的系统文件。但你也可能会问,为什么一个明明叫System32的文件夹
装的是64位的系统文件,而一个明明叫SysWow64的文件夹装的却是32位的系统文件呢?既然是64位的系统,为什么不能有System64和System32这样的文件夹呢?

        这个问题问得很好。答案也很简单:人在江湖,身不由己。

        兼容性


        如果我问你,可曾有多少机会接触过安腾处理器呢?
        我想,对于一般人来讲,应该是没有的。 那为什么amd64会大行其道, 而安腾处理器却鲜为人知呢?  还是因为一个软硬件设计上的关键概念:兼容性。正是
因为安腾处理器, 没有做好对已有的32位系统提供良好的支持,  便其一直处于市场的边缘。 这和你不会买一台看不了模拟信号频道的高清电视是一个道理。 之前
我们谈到的兼容性,是指在64位Windows上,兼容已经有的32位应用程序。现在考虑另一种兼容性。 如果你写了一个很牛的32位的应用程序,现在,你想把它变成
64位的应用程序,以更充分地利用64位处理器所带来的新的处理能力。你肯定觉得,这不就是让64位编译器编译一遍就完了的事儿么?

        可能你发现,这并不是骨感的现实。你突然发现,你的程序里,为了某些你已经想不起来的原因,把System32这个文件夹,写死在了你的程序里。
而这个System32中的32,让你很不安。你尝试着运行了你的程序,却发现一切正常。为什么呢?

        因为这是Windows系统的另一个兼容性方面的努力 : 让一个已有的32位应用程序, 不加修改或者尽可能少地加以修改, 便可以被编译成64位应用程序并在64位Windows上运行。
其实,把System32这样的路径,写死在程序里,并不是一个个案。 所以,为了保证这些应用程序可以顺利地过渡到64位,Windows最后还是决定让64位的系统文件放在System32的文
件夹下。而让32位的系统文件,搬到了SysWow64中去。你肯定会想,那让32位搬到SysWow64中去以后,那些写死在32位应用程序中的System32怎么办?答:Windows会给他们转向
到SysWow64中去。那让64位中的System32转向到System64不也是一样么?真的一样么?不一样么?真的一样么?不一样么?真的不一样。作为64位Windows操作系统,当然是希望能
充分发挥64位处理器的潜力,让应用程序更有效率地运行。如果在运行64位应用程序时,总要检查是否需要转向,势必影响程序运行效率。

        所以,不能给64位应用程序做没有必要的转向,如果说必须要转, 那就只能转32位应用程序了 。是的, 没有办法, 在64位操作系统中, 32位应用程序要做一些小的牺牲。 此外,
了保证32位应用程序不与64位应用程序相冲突,除了System32文件夹外,注册表也需要为32位和64位提供两套,也需要让32位的应用程序在必要时重定向。

        
        结论所以SysWow64文件夹,是64位Windows,用来存放32位Windows系统文件的地方。

        后记兼容性是一个重要的事情。当然,也是一个很有意思的事情。如果你在Windows 7中运行"winver",你就会发现,Windows 7原来是Windows 6.1。为什么呢?
事情是这样的,Windows XP是Windows 5.2,Windows Vista开始变成了6.0,结果,很多应用程序只是检查操作系统版本号的头一位,发现不是5,于是就提示用户说:
“我们不支持Windows XP以前的系统”。这也是从Windows Vista的不成功中,学习到的一课。也许,以后永远都没有Windows 7.0也未可知啊。      

转载
原帖:https://blogs.msdn.microsoft.com/tianlin/2011/10/26/syswow64/

来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-8 05:50 , Processed in 0.109375 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表