内容来自https://www.jb51.net/diannaojichu/498792.html

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的不成功中,学习到的一课。

win7系统里的syswow64不能删除
       其实这个syswow64文件夹是一个Win7系统里的一项子系统, 可以运行32-bit应用,并且全部的windows7系统64位版本上都存有这个文件。 WoW64是官方设计用在管理很多在32位Windows系统跟64位Windows 系统之中的不一样,尤其关于Windows本市的结构变化上的不一样。

这个syswow64文件是非常重要的,在64位版本的win7系统上全部靠它去运行32位的软件,因此万万是不能删除的文件,否则win7系统就会发生崩溃,警告“缺少文件”等错误。

Windows中的SysWow64文件夹相关推荐

  1. windows中cmd进入文件夹操作及相对路径

    windows中cmd的文件夹操作 d: #进入d盘根目录 dir #看到d盘中所有的文件夹和选项 cd opencv #进入文件夹之前需要先进入该盘内,之后再输入cd命令 例如: C:\Users\ ...

  2. windows中遍历指定文件夹下的所有子文件夹

    前面我给出了windows下面指定文件夹下面指定类型文件的遍历程序,这里,再给出遍历指定文件夹下的所有子文件夹的程序: #include "stdafx.h" #include & ...

  3. Windows常见目录及文件夹的作用

    一.Windows10 C盘下文件夹的功能及作用 1.Windows 10C盘文件结构 打开C盘后就可见到C盘文件夹的结构,一般不安装其他应用程序,那么主要有Intel.Program Files.P ...

  4. win10计算机里文件夹怎么删除文件,如何删除win10“此电脑”中6个文件夹?

    更新完win10系统,我们会发现打开"此电脑",相比win7相比,除了还有传统的硬盘分区外,还多了6个文件夹:视频.图片.文档.下载.音乐和桌面.讲真,这些文件夹似乎也用不上,对于 ...

  5. 通过从备份中排除这些文件夹来节省Time Machine驱动器上的空间

    Are you getting notifications about a full Time Machine drive? Do you feel like your backups are tak ...

  6. ftp文件夹错误 windows无法访问此文件夹_Adobe 安装错误代码对照表及解决方案

    在安装Adobe软件时,提示安装错误 不用着急,可以根据提示的错误代码,找到解决方法 下面是官方提供的Adobe错误代码对照表及解决方案 你可以使用浏览器快捷键 CMD+F(MacOS)或 Ctrl+ ...

  7. 批量删除电脑或手机中的空文件夹

    目录 背景 国内外研究现状 背景 偶然看到python的OS库中有这样两个函数 os.rmdir() 删除空文件夹 remove dir os.mkdir() 新建文件夹 make dir 就想到能不 ...

  8. 服务器系统c盘在哪个文件夹,windows操作系统放在哪个文件夹下

    2010-05-22 回答 windows文件夹下的文件名解释 一.文件夹篇 all users 这里记录的是window的用户以及这些用户个人设定的开始菜单及桌面等信息. command 在这个目录 ...

  9. 计算机用户名和密码在哪个文件夹,登陆邮箱、论坛等的帐号和密码存放在电脑中的哪个文件夹中?...

    ├─WINDOWS │ ├─system32(存放Windows的系统文件和硬件驱动程序) │ │ ├─config(用户配置信息和密码信息) │ │ │ └─systemprofile(系统配置信息 ...

  10. python读写磁盘扇区数据有什么用_18-55.在Windows中,能够自动修复文件系统错误、扫描并尝试恢复坏扇区的操作是( )_学小易找答案...

    [单选题]sklearn实现KNN算法,使用的方法是? [单选题]以下机器加工方式,witness没有提供的是( ) [多选题]以下哪些是python常用的科学计算库? [多选题]16-68. 在Wi ...

最新文章

  1. python以及MATLAB终止循环的快捷键
  2. 怎么安装python3-Ubuntu16.04怎样安装Python3.6
  3. Xfire方式开发和解析webservice
  4. 使用sentinel实现限流
  5. The SetStack Computer
  6. 与陆毅擦肩而过。。。
  7. css让image不改变大小_如何改变图片大小
  8. spl_autoload_register 和 __autoload()魔术方法
  9. 电商项目的app学习笔记(一)---webpack相关配置
  10. 安装USB--RS232驱动,提示设备无法启动,解决方法
  11. 利用excel快速制作标准正态分布表
  12. 学习web前端历程(十七)
  13. python爬虫豆瓣网的模拟登录实现
  14. 关于谷哥传奇工程师Jeff Dean的笑话
  15. 虎牙财报奏响游戏直播艰难进行曲
  16. laravel 的 scout elasticsearch ik laravel-scout-elastic 之间的关系与安装
  17. java web编程技术解题与实验指导_javaweb编程技术实验指导书
  18. 数模学习第三天--微分方程(传染病模型)
  19. Duplicate entry问题
  20. 【LeetCode】345. Reverse Vowels of a String 解题报告

热门文章

  1. Android 眼睛 显示隐藏密码(ImageView)
  2. 物联网系统网关开发与实现
  3. 2004年1月六级听力原文的启示:每顿饭后刷牙牙齿好
  4. N-gram 特征提取
  5. 大宗商品交易平台:解决期货的最后“一公里”
  6. (由Active Desktop保存在桌面引起)桌面图标蓝底
  7. 记录一下Alphapose安装过程
  8. 变革管理书籍推荐:《组织变革必读12篇》
  9. 电商设计师如何正确认知自己的价值
  10. peta linux对电脑配置要求,使用petalinux遇到的一些问题汇总