64位操作系统实验报告文档格式.docx
- 文档编号:17319708
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:15
- 大小:895.59KB
64位操作系统实验报告文档格式.docx
《64位操作系统实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《64位操作系统实验报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
1、操作系统;
2、应用软件;
3、Microsoftword
实验内容:
体系结构组件
Windows
32位
64位
虚拟内存
4
GB
16
TB
页面文件大小
64
512
页面缓冲池
470
MB
128
非页面缓冲池
256
系统缓存
1
系统页表项(PTE)
1.2GB
128GB
一、64位操作系统
这里的64位技术是相对于32位而言的,这个位数指的是CPUGPRs(General-PurposeRegisters,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。
64bit处理器并非现在才有的,在高端的RISC(ReducedInstructionSetComputing,精简指令集计算机)很早就有64bit处理器了,比如SUN公司的UltraSparcⅢ、IBM公司的POWER5、HP公司的Alpha等。
跨入64位之路
“位”,简单地理解就是CPU的寻址空间。
在计算机技术的发展史上,位的演变起到了举足轻重的作用。
从1971年的4位计算到如今已来临的64位计算时代,经历了漫长的演变过程。
1978--1995年:
16位大行其道
1978年,Intel推出了首颗16位CPU--8086。
在此期间,操作系统走过了16位的PC-DOS、MS-DOS、CP/M-86、UCSD
Pascal
P-System,MS-DOS开始成为个人计算机操作系统的霸主,直到今天,DOS在Windows系统维护中仍然扮演着重要的角色。
值得我们怀念的是,那时国人的电
脑上几乎没有不安装WPS
For
DOS(早期的文字处理软件,相当于现在的
Word)的,为计算机在我国办公领域的应用打下了坚实的基础,同时,国人也成功地开发出了中文DOS系统,如CCDOS等。
1985年,微软推出了Windows
1.0,之后又陆续推出了Windows
2.0、Windows
286、Windows
386,但由于性能平平而没有得到人们的注意。
直到1990年5月,微软推出了Windows
3.0,加入了许多有用的功能,并首次加入了多媒体功能,被舆论称为“多媒体的DOS”。
3.0一经面世,就取得惊人的成功,一举奠定了微软在操作系统上的垄断地位。
1995年至今:
从16位到32位的飞跃
1985年Intel推出了首颗32位处理器80386。
在此期间,1995年8月,微软推出了Windows
95,称为操作系统发展史上一个里程碑。
从Windows
95到Windows
98/ME,都是混合16/32位计算的操作系统,并不是纯32位操作系统,稳定性和性能方面虽比过去得到了较大的提升,但仍不能满足人们对计算机应用的需要。
2000年,微软推出了Windows
2000,开辟了个人桌面32位计算与应用的新时代。
2001年发布的Windows
XP成为目前使用率最高的操作系统。
2005年:
64位即将君临天下今天,64位计算平民化的时代即将来临。
和以前8位向16位跃进、16位向32位跃进耗费十几年的情况不同,
64位CPU推出没几年,就出现了64位的Windows
XP和64位的Windows
Server
2003。
微软称,64位的Longhorn也将于2006年发布。
除此之外,与个人桌面系统同步的还有服务器系统,如Windows
NT/Server
2000/Server
2003等,就在微软发布64位Windows
XP的同时,也发布了64位Windows
至今,还可从微软网站注册并下载64位的有120天限制的Windows
为什么需要升级到64位
如前所述,随着多媒体功能的渗入和硬件价格的日趋平民化,越来越多的人加入到PC应用的行列,造就了一大批进行家庭多媒体创作等应用的非专业人士,很多人不再满足于用电脑打字、作表格、上网聊天等简单应用。
随着人们对电脑要求越来越高,32位系统已力不从心,于是64位CPU和64位操作系统先后出炉。
在操作系统方面,经过充分的准备(包括前段
时间微软推出的免费下载试用),微软终于在今年4月25日推出了具有重要意义的64位Windows
XP和64位Windows
按微软官方的说法,Windows
XP
Professional
x64
Edition的设计初衷是满足机械设计和分析、三维动画、视频编辑和创作以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户的需求--这些应用都需要高性能和大内存的支持。
、
二、64位操作系统的优点
一、专用技术应用程序的性能优势
64位计算性能在汽车或飞机设计等领域体现出优势,因为它允许工程师创建更大、更复杂的模型。
借助这样的系统,工程师可以使用模拟软件分析气流、压力和受热对汽车或飞机材料产生的影响,然后对结果进行研究以改进产品设计。
在科学计算和高性能计算领域,WindowsXPProfessionalx64Edition将有助于石油和天然气勘探、地震分析、计算流体动力学和科学可视化等应用程序。
二、支持非常大的内存,采用常见的Windows桌面
对于达到32位系统内存限制的客户,WindowsXPProfessionalx64Edition将以AMDAthlon64、AMDOpteron、支持SM64T的IntelXeon和支持EM64T的IntelPentium4作为运行平台。
基于WindowsXP的32位和64位计算之间的主要区别在于64版本能够使用更多的系统内存。
WindowsXPProfessionalx64Edition最初将支持多达128GB的内存和多达16TB的虚拟内存。
将来,随着硬件功能的扩展,支持的物理内存将相应增加。
内存中数据的访问速度是它在磁盘驱动器上时访问速度的数千倍,这样就可以大大提高为使用此更大系统内存而开发的应用程序的性能。
三、新一代应用程序的最佳平台
具备32位Windows技能的开发人员将能够舒适而高效地创建适用于WindowsXPProfessionalx64Edition的下一代应用程序。
开发人员将发现该开发环境与32位Windows开发环境几乎完全相同;
MicrosoftWin64™应用程序编程接口(API)与MicrosoftWin32®
API相同。
现有的API已经在必要处进行了修改,使它们可以反映其运行平台的精度。
结果是简化了编程并缩短了开发人员编写64位Windows代码的学习曲线,使之就像编写32位Windows代码一样。
64位Windows开发环境支持与32位Windows相同的功能集,包括UI和编程模型、网络、安全性、图形、多媒体、目录服务、即插即用以及工具功能。
许多功能都已经过修改,以反映应用程序运行平台的计算精度。
综上,64位WinXP操作系统从产品特性上,足以体现其独有优势,而为什么要从32位升级到64位呢?
有4大原因如下:
(一)适用于下一代应用程序的高性能平台
WindowsXPProfessionalx64Edition是一个支持下一代高性能计算的多功能平台。
64位本机应用程序可以在每个时钟周期内传递更多的数据,这样它们的运行速度更快、效率更高
(二)更大的内存支持
WindowsXPProfessionalx64Edition将普遍支持多达128GB的内存和16TB的虚拟内存,从而使应用程序在处理大型数据集时运行速度更快。
应用程序可以将更多的数据预先加载到虚拟内存中,从而使64位处理器可以快速访问这些数据。
(三)多处理和多核心
WindowsXPProfessionalx64Edition设计为支持多达两个单独或多核心x64处理器,可以实现最高性能和可伸缩性。
(四)相同的编程模型
具备32位技能的开发人员很快就能够适应64位Windows环境并在其中高效地工作,发现该环境与32位Windows开发环境几乎是完全相同的。
由此,我们可以看出升级到64位WinXP操作系统得优势以及好处,而64位WinXP操作系统独特的优势还不
仅仅这些。
附加性能和可伸缩性:
1.更大的内存支持
WindowsXPProfessionalx64Edition将支持多达128GB的内存和16TB的虚拟内存,从而使应用程序在处理大型数据集时运行速度更快。
应用程序可以将更多的数据预先加载到虚拟内存中,从而使x64处理器可以快速访问这些数据。
这就减少了将数据加载到虚拟内存或搜寻、读取和写入数据存储设备的时间,从而使应用程序运行速度更快、效率更高。
2.熟悉的环境
WindowsXPProfessionalx64Edition可以使用与32位Windows系统相同的工具进行管理。
客户将发现他们的32位Windows知识可以完全应用于64位Windows环境。
安装、配置和管理在本质上是相同的。
当然,还要注意在x86(32位)系统或基于IntelItanium的64位系统上,无法成功安装WindowsXPProfessionalx64Edition。
WindowsXPProfessionalx64Edition不支持32位设备驱动程序。
所以说,64位WinXP操作系统,无论从产品信息,升级原因,还是其独有的优点来说,64位WinXP操作系统都是windows系列的佼佼者。
三、64位操作系统的发展趋势。
64位系统必是以后的发展趋势,因为32位客户端系统有4G内存的限制,而64位系统可管理的内存就大多了,如果你是4G内存,你用32位系统,那么可用内存将只有3.25GB,另外的0.75GB只能用诸如RamDisk之类的软件来进行利用,否则就白白浪费了,不过它确实也存在着一定的兼容性问题,主要表现在游戏上,而一般的办公应用是问题不大的,除非你死抱着老版本的软件不放,但如果用最新版本的软件,基本上没什么问题,除非已经不知多少年没更新过的软件,比如PQ,但像它往往有替代软件,PQ的替代软件就是AcronisDiskDirectorSuite。
四、Windows64位架构及其特性
在计算机架构中,64位整数、内存地址或其他数据单元,是指它们最高达到64位(8字节)宽。
此外,64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。
一个64位的CPU,内部可能有外部数据总线或不同大小的地址总线,可能比较大或比较小;
术语“64位”也常用于描述这些总线的大小。
例如,目前有许多机器有着使用64位总线的32位处理器(如最初的Pentium和之后的CPU),因此有时会被称作“64位”。
同样的,某些16位处理器(如MC68000)指的是16/32位处理器具有16位的总线,不过内部也有一些32位的性能。
这一术语也可能指计算机指令集的指令长度,或其它的数据项(如常见的64位双精度浮点数)。
去掉进一步的条件,“64位”计算机架构一般具有64位宽的整数型寄存器,它可支持(内部和外部两者)64位“区块”(chunk)的整数型数据。
架构影响
处理器中的寄存器通常可分为三种︰整数、浮点数、其它。
在所有常见的主流处理器中,只有整数寄存器(integerregister)才可存放指针值(内存数据的地址)。
非整数寄存器不能存放指针来读写内存,因此不能用来避开任何受到整数寄存器大小所影响的内存限制。
几乎所有常见的主流处理器(大部分的ARM和32位MIPS实作是明显的例外)集成了浮点数硬件,它有可能使用64位寄存器保存数据,以供处理。
例如,x86架构包含了x87浮点数指令,并使用8个80位寄存器构成堆栈结构。
后来的x86修改版和x86-64架构,又加入SSE指令,它使用8个128位宽的寄存器(在x86-64中有16个寄存器)。
与之相较,64位Alpha系列处理器,除了32个64位宽整数寄存器以外,也定义了32个64位宽的浮点数寄存器。
内存限制
目前大部分的CPU(截至2005年),其单个寄存器可存放虚拟内存中任意数据的内存地址(本机)。
因此,虚拟内存(计算机在程序的工作区域中所能保留的数据总量)中可用的地址取决于寄存器的宽度。
自1960年的IBMSystem/360起,然后1970年的DECVAX微型计算机,以及1980年中期的Intel80386,在事实上一致开发合用的32位大小的寄存器。
32位寄存器意味着232的地址,或可使用4GB的内存。
当时在设计这些架构时,4GB的内存远远超过一般所安装的可用量,而认为已足够用于寻址。
认为4GB地址为合适的大小,还有其它重要的理由︰在应用程序中,如数据库,42亿多的整数已足够对大部分可计算的实例分配唯一的参考引用。
32与64位
从32位到64位架构的改变是一个根本的改变,因为大多数操作系统必须进行全面性修改,以取得新架构的优点。
其它软件也必须进行移植,以使用新的性能;
较旧的软件一般可借由硬件兼容模式(新的处理器支持较旧的32位版本指令集)或软件模拟进行支持。
或者直接在64位处理器里面实作32位处理器内核(如同Intel的Itanium处理器,其内含有x86处理器内核,用来执行32位x86应用程序)。
支持64位架构的操作系统,一般同时支持32位和64位的应用程序。
64位架构无疑可应用在需要处理大量数据的应用程序,如数码视频、科学运算、和早期的大型数据库。
在其它工作方面,其32位兼容模式是否会快过同等级的32位系统,这部分已有很多争论。
在x86-64架构(AMD64和Intel64)中,主要的32位操作系统和应用程序,可平滑的执行于64位硬件上。
Sun的64位Java虚拟机的启动速度比32位虚拟机还慢,因为Sun仍假定所有的64位机器都是服务器,而且只有为64位平台实作“服务器”编译器(C2)。
“客户端”编译器(C1)产生较慢的代码,不过编译较快速。
所以尽管在64位JVM的Java程序在一段很长的周期会执行的较好(一般为长时间运作的“服务器”应用程序),它的启动时间可能更久。
对于短生命期的应用程序(如Java编译器javac)增加启动时间可控制执行时间,使64位的JVM整体变慢。
应当指出,在比较32位和64位处理器时,速度并不是唯一的考量因素。
应用程序,如多任务、应力测试(stresstesting)、丛集(clustering)(用于HPC)可能更适合64位架构以正确部署。
为了以上原因,64位丛集已广泛部署于大型组织,如IBM、Vodafone、HP、微软。
优缺点
部分操作系统保留了一部分进程地址空间供操作系统使用,造成使用者程序可用于映射内存的地址空间减少。
例如,WindowsXPDLL以及userlandOS组件映射到每一个进程的地址空间,即使计算机装有4GB的内存,也仅留下2至3.8GB(端视其设置)的可用地址空间。
这个限制在64位Windows中并不会出现。
文件的内存映射对32位的架构而言不再合用,尤其是相对便宜的DVD烧录技术的引入。
大于4GB的文件不再罕见,且如此大的文件无法简单的映射到32位架构的内存;
只能映射文件的一部分范围到地址空间上,并以内存映射存取文件,当有需要时,就必须将这些范围映射进或映射出地址空间。
这是一个问题,因为充裕的内存映射仍是从磁盘至内存最有效率的存取方法,如果操作系统能适当实行的话。
64位架构主要的缺点是,相对于32位架构,占用相同的数据会消秏更多的内存空间(由于肿涨的指针,以及其它型态和对齐补白等可能)。
这会增加进程对内存的需求,且可能会影响高效能处理器高速缓存的使用。
维持一部分的32位模型是一个处理方法,且大致合理有效。
实际上,高效能导向的z/OS操作系统便采取这个方法,要求程序代码存放在32位地址空间的任一数字,数据对象则可(选择性)存放在64位区域。
目前主要的商业软件是建立在32位代码,而非64位代码,所以不能取得在64位处理器上较大的64位地址空间,或较宽的64位寄存器和数据路径的优点。
然而,免费或自由软件操作系统的使用者已经可以使用专有的64位运算环境。
并非所有的应用程序都需要大量的地址空间或操作64位数据项,所以这些程序不会享受到较大的地址空间或较宽的寄存器和数据路径的好处;
主要受益于64位版本的应用程序,并不会享受到使用x86的版本,会有更多的寄存器可以使用。
软件的可用性
64位系统有时缺乏对应的软件,那些软件是写给32位架构。
最严重的问题是不兼容的驱动程序。
尽管大部分软件可执行于32位兼容模式(又称作模拟模式,即微软WoW64技术),其通常无法执行驱动程序(或类似软件),因为程序通常执行于操作系统和硬件之间,在此直接模拟无法使用。
许多开放源始码软件封包可简单的从源始码编译为可执行于64位环境操作系统,如Linux。
所需的条件是供给64位机器的编译器(通常是gcc)。
目前大部分64位版本的驱动程序还不能用,由于缺少可用的驱动程序,所以使用64位操作系统会有挫折。
64位数据模型
以高阶语言编写的应用软件,从32位架构转换到64位架构的各种困难。
一个共同的问题是,部分程序员假定指针如同其它数据型态一样有相同的长度。
程序员假定他们可以在数据型态之间传送数量而不遗失信息。
这些假定只在一部分32位机器上如此(甚至是一部分16位机器),不过在64位机器上就不再如此。
C语言及其后代C++尤其容易产生这种错误[1]。
要在C和C++中避免这种错误,如果确定原始类型的大小为所需的基础,sizeof操作符可用来确定原始类型的大小,无论是在编译以及执行时期。
此外,在C99标准中的<
limits.h>
表头,以及在C++标准中的<
limits>
表头的numeric_limits类,可提供更多有用的信息;
sizeof只返回字符大小。
这个用法使人产生误解,因为一个字符(CHAR_BITS)的大小是由自身决定,在所有的C或C++实作中并未以相同方式定义。
然而,除了这些编译器目标DSP以外,“64位=8字符(每一字符有8位)”已成标准。
C和C++并未定义指针、整数型(int)、长型(long)为特定的位数目。
在主要的32位机器程序设计环境中,指针、“int”变量、“long”变量全部都是32位长。
然而,在64位机器下的许多程序设计环境,“int”变量仍然是32位宽,不过“long”和指针是64位宽,上述内容称为LP64数据模型。
另一个选择是ILP64数据模型,三种数据型态都是64位宽,甚至SILP64连“short”变量也是64位宽。
然而,大多数情况下所需的修改是相对次要且简单,而且许多编写良好的程序可以简单的重新编译给新的环境,而无须修改。
另一个选择是LLP64模型,其维持32位代码的兼容性,使int和long为32位。
“LL”指“longlong”型态,其在所有平台下至少是64位,包括32位环境。
今天有许多64位编译器使用LP64模型(包括Solaris、AIX、HP、Linux、MacOSX、IBMz/OS本地编译器)。
微软的VC++编译器使用LLP64模型。
其缺点是在LP64模型中将long存放到int可能会溢出。
另一方面,还会使强制转型一个指针为long可以作用;
在LLP模型下,情况则刚好相反。
两者皆不应该出现在合乎C99的代码中。
注意,程序设计模型是在预编译器底层选择的,且数个模型可共存于同一操作系统。
然而一般由OSAPI选择程序设计模型作为原始模型。
另一个考量是用于驱动程序的数据模式。
在现代的操作系统中,驱动程序弥补了大多数的操作系统代码(尽管许多代码可能不会加载,当操作系统执行时)。
许多驱动程序大量使用指针操控数据,且在某些情况下必须读入一定大小的指针进入支持DMA的硬件。
举个例子,提供给32位PCI设备的驱动程序,请求设备的DMA数据进入64位机器内存的较高区域,可能无法满足来自操作系统从设备到大于4GB内存读入数据的要求。
因为对于这些地址的指针,将不适合设备的DMA寄存器。
这个问题可如下解决,当向设备发出DMA请求时,OS采用与设备相符的内存限制,或者使用IOMMU。
64位处理器时间表
1961︰IBM发表IBM7030Stretch超级计算机。
它使用64位数据字组,以及32或64位的指令字组。
1974︰ControlDataCorporation推出CDCStar-100向量超级计算机,它使用64位字组架构(先前的CDC系统是以60位架构为基础)。
1976︰CrayResearch发表第一台Cray-1超级计算机。
它以64位字组架构为基础,它成为后来的Cray向量超级计算机的基础。
1983︰Elxsi推出Elxsi6400平行微型超级计算机。
Elxsi架构具有64位数据寄存器,不过地址空间仍是32位。
1991︰MIPS科技公司生产第一台64位微处理器,作为MIPSRISC架构R4000的第三次修订版本。
该款CPU使用于以IRISCrimson启动的SGI图形工作站。
然而,IRIX操作系统并未包含对R4000的64位支持,直到1996年释出IRIX6.2为止。
KendallSquareResearch发表他们的第一台KSR1超级计算机,以专有的执行于OSF/1的64位RISC处理器架构为基础。
1992︰DigitalEquip
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 64 操作系统 实验 报告