资源描述:
《64位操作系统详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、64位操作系统是指特别为64位架构计算机系统而设计的操作系统。64位操作系统的优点,在于能够利用64位处理器的优势,在处理多媒体内容时能够有更住的表现。简介在计算机架构屮,64位整数、内存地址或其他数据单兀,是指它们最高达到64位(8字节)宽。此外,64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。64位CPU在1960年代,便已存在于超级计算机,且早在1990年代,就有以RISC为基础的工作站和服务器。2003年才以x86-64和64位PowerPC处理器架构的形式引入到(在此之前是32位)
2、个人计算机领域的主流。2概述64位操作系统是指特别为64位架构计算机系统而设计的操作系统。64位操作系统最早在中小型计算机上实现,主要是一些Unix系统。此后英特尔和惠普公司合作研制的IA-6464位处理器(代号Itanium2)推出后,出现了此平台上的64位Linux及微软Windows操作系统(即基于IA-64的WindowsXP64位版本)。之后AMD推出T64位的X86-64架构CPU,很快就在Linux平台得到支持,并且微软也提供了64位版本的WindowsXP操作系统(全称WindowsXPProfessi
3、onalx64),使得IA-64位处理器日渐势微。最终英特尔决定推出与AMD之前推出的AMD64兼容的64位CPU,称为Intel64。苹果切换到英特尔平台后也开始开发64位操作系统。早期的解决方案十分古怪:如Tiger和Leopard以32位系统为核心,支持程序以64位模式运行,导致实际执行效率并不高。而后期的系统趋于完善,如SnowLeopard和更新的系统本身己于64位模式运行,可运行64位程序,也可以用兼容模式运行32位程序。一个64位的CPU,内部可能有外部数据总线或不同犬小的地址总线,可能比较大或比较小;术
4、语“64位”也常用于描述这些总线的大小。例如,目前有许多机器有着使用64位总线的32位处理器(如最初的Pentium和之后的CPU),因此有时会被称作“64位”。同样的,某些16位处理器(如MC68000,摩托罗拉公司生产的一款16位处理器,因集成约68000个晶体管而得名)指的是16/32位处理器具有16位的总线,不过内部也有一些32位的性能。这一术语也可能指计算机指令集的指令长度,或其它的数据项(如常见的64位双精度浮点数)o去掉进一步的条件,“64位”计算机架构一般具有64位宽的整数型寄心器,它可支持(内部和外部
5、两者)64位“区块”(chunk)的整数型数据。内存限制目前大部分的CPU(截至2005年),其单个寄存器可存放虚拟内存中任意数据的内存地址(本机)。因此,虚拟内存(计算机在程序的工作区域屮所能保留的数据总量)中可用的地址取决于寄存器的宽度。自I960年的IBMSystem/360起,然后1970年的DECVAX微型计算机,以及1980年中期的Intel80386,在事实上一致开发合用的32位大小的寄存器。32位寄存器意味着2(2的地址,或可使用4GB的内存。当时在设计这些架构时,4GB的内存远远超过一般所安装的可用量
6、,而认为已足够用于寻址。认为4GB地址为合适的大小,还有其它重要的理由:在应用程序中,如数据库,42亿多的整数已足够对大部分可计算的实例分配唯一的参考引用。然而在1990年初,成本不断降低的内存,使安装的内存数量逼近4GB,且在处理某些类型的问题时,可以想像虚拟内存的使用空间将超过4GB上限。为此,一些公司开始释岀新的64位架构芯片家族,最初是提供给超级计算机、顶级工作站和服务器机器。64位运算逐渐流向个人计算机则岀现在2003年,某些型号的AppleMacintosh生产线转向PowerPC970处理器(Apple称
7、为“G5”),并在2006年,转向EM64T处理器,且x86-64处理器在顶级的PC屮遂渐普及。64位架构的岀现,有效的将内存上限提升至2飞4地址,16EB的内存。从这个角度来看,在4MB主内存很普遍时,最大的内存上限2,2的地址大约是一般安装内存的1000倍。如今,当1GB的主内存很普遍时,2飞4的地址上限大约是1百亿倍。今天市面上大部分的消费级PC存在着人为的内在限制,因受限于实例上的限制,而儿乎不太可能需要完整支持16EB容量。举例来说,Apple的MacPro最多可安装实例内存至16GB,jfij无必要支持超过
8、的大小。最新的Linux内核(版本2.6.16)可编译成最高支持64GB的内存,WindowsVistaUltimate支持超过128G内存。处理器这里的64位技术是相对于32位而言的,这个位数指的是CPUGPRs(General-PurposeRegisters,通用寄存器)的数据宽度为64位,64位指令重就是运行64位数据的指