xp存储池
1. 求教XP下,任务管理器显示进程占用虚拟内存大小的问题
很多用户都对于自己机器的进程不是很明白,有时总误认为是病毒的进程,希望介绍一些系统的小知识,便于大家使用计算机。
最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):
smss.exe Session Manager
csrss.exe 子系统服务器进程
winlogon.exe 管理用户登录
services.exe 包含很多系统服务
lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)
产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
svchost.exe 包含很多系统服务
SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)
explorer.exe 资源管理器
internat.exe 托盘区的拼音图标
附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):
mstask.exe 允许程序在指定时间运行。(系统服务)
regsvc.exe 允许远程注册表操作。(系统服务)
winmgmt.exe 提供系统管理信息(系统服务)。
inetinfo.exe 通过 Internet 信息服务的管理单元提供 ftp 连接和管理。(系统服务)
tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)
允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基
于 Windows 的程序。(系统服务)
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉
tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)
ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)
ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)
wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)
llssrv.exe License Logging Service(system service)
ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
RsSub.exe 控制用来远程储存数据的媒体。(系统服务)
locator.exe 管理 RPC 名称服务数据库。(系统服务)
lserver.exe 注册客户端许可证。(系统服务)
dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)
clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)
msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)
faxsvc.exe 帮助您发送和接收传真。(系统服务)
cisvc.exe Indexing Service(system service)
dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)
mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)
netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)
smlogsvc.exe 配置性能日志和警报。(系统服务)
rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)
RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)
RsFsa.exe 管理远程储存的文件的操作。(系统服务)
grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)
SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)
snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)
snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序
。(系统服务)
UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)
msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)
详细说明:
win2k运行进程
Svchost.exe
Svchost.exe文件对那些从动态连接库中运行的服务来说是一个普通的主机进程名。Svhost.exe文件定位
在系统的%systemroot%\system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建需要
加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每个Svchost.exe的回话期间都包含一组服务,
以至于单独的服务必须依靠Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。
Svchost.exe 组是用下面的注册表值来识别。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
每个在这个键下的值代表一个独立的Svchost组,并且当你正在看活动的进程时,它显示作为一个单独的
例子。每个键值都是REG_MULTI_SZ类型的值而且包括运行在Svchost组内的服务。每个Svchost组都包含一个
或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service
explorer.exe
这是一个用户的shell(我实在是不知道怎么翻译shell),在我们看起来就像任务条,桌面等等。这个
进程并不是像你想象的那样是作为一个重要的进程运行在windows中,你可以从任务管理器中停掉它,或者重新启动。
通常不会对系统产生什么负面影响。
internat.exe
这个进程是可以从任务管理器中关掉的。
internat.exe在启动的时候开始运行。它加载由用户指定的不同的输入点。输入点是从注册表的这个位置
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload 加载内容的。
internat.exe 加载“EN”图标进入系统的图标区,允许使用者可以很容易的转换不同的输入点。
当进程停掉的时候,图标就会消失,但是输入点仍然可以通过控制面板来改变。
lsass.exe
这个进程是不可以从任务管理器中关掉的。
这是一个本地的安全授权服务,并且它会为使用winlogon服务的授权用户生成一个进程。这个进程是
通过使用授权的包,例如默认的msgina.dll来执行的。如果授权是成功的,lsass就会产生用户的进入
令牌,令牌别使用启动初始的shell。其他的由用户初始化的进程会继承这个令牌的。
mstask.exe
这个进程是不可以从任务管理器中关掉的。
这是一个任务调度服务,负责用户事先决定在某一时间运行的任务的运行。
smss.exe
这个进程是不可以从任务管理器中关掉的。
这是一个会话管理子系统,负责启动用户会话。这个进程是通过系统进程初始化的并且对许多活动的,
包括已经正在运行的Winlogon,Win32(Csrss.exe)线程和设定的系统变量作出反映。在它启动这些
进程后,它等待Winlogon或者Csrss结束。如果这些过程时正常的,系统就关掉了。如果发生了什么
不可预料的事情,smss.exe就会让系统停止响应(就是挂起)。
spoolsv.exe
这个进程是不可以从任务管理器中关掉的。
缓冲(spooler)服务是管理缓冲池中的打印和传真作业。
service.exe
这个进程是不可以从任务管理器中关掉的。
大多数的系统核心模式进程是作为系统进程在运行。
System Idle Process
这个进程是不可以从任务管理器中关掉的。
这个进程是作为单线程运行在每个处理器上,并在系统不处理其他线程的时候分派处理器的时间。
winlogon.exe
这个进程是管理用户登录和推出的。而且winlogon在用户按下CTRL+ALT+DEL时就激活了,显示安全对话框。
winmgmt.exe
winmgmt是win2000客户端管理的核心组件。当客户端应用程序连接或当管理程序需要他本身的服务时这个进程初始化
taskmagr.exe
这个进程就是任务管理器。
在知道里找到不少制作QQ空间的代码。但每次我在新建模块无论在网址里还是评论里输入代码最后保存都没有显示相应的效果,请问具体制作步骤是怎样?
winXP进程全接触
Windows 2000/XP 的任务管理器是一个非常有用的工具,它能提供我们很多信息,比如
现在系统中运行的程序(进程),但是面对那些文件可执行文件名我们可能有点茫然,
不知道它们是做什么的,会不会有可疑进程(病毒,木马等)。本文的目的就是提供一
些常用的Windows 2000 中的进程名,并简单说明它们的用处。
在 WINDOWS 2000 中,系统包含以下缺省进程:
Csrss.exe
Explorer.exe
Internat.exe
Lsass.exe
Mstask.exe
Smss.exe
Spoolsv.exe
Svchost.exe
Services.exe
System
System Idle Process
Taskmgr.exe
Winlogon.exe
Winmgmt.exe
下面列出更多的进程和它们的简要说明
进程名 描述
smss.exe Session Manager
csrss.exe 子系统服务器进程
winlogon.exe 管理用户登录
services.exe 包含很多系统服务
lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安
全驱动程序。
svchost.exe Windows 2000/XP 的文件保护系统
SPOOLSV.EXE 将文件加载到内存中以便迟后打印。)
explorer.exe 资源管理器
internat.exe 托盘区的拼音图标)
mstask.exe 允许程序在指定时间运行。
regsvc.exe 允许远程注册表操作。(系统服务)->remoteregister
winmgmt.exe 提供系统管理信息(系统服务)。
inetinfo.exe msftpsvc,w3svc,iisadmn
tlntsvr.exe tlnrsvr
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。
termsrv.exe termservice
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。
tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows
2000 Professional 的能力。
ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。
ups.exe 管理连接到计算机的不间断电源(UPS)。
wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS
名称服务。
llssrv.exe 证书记录服务
ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。
RsSub.exe 控制用来远程储存数据的媒体。
locator.exe 管理 RPC 名称服务数据库。
lserver.exe 注册客户端许可证。
dfssvc.exe 管理分布于局域网或广域网的逻辑卷。
clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页
面。
msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统
或其它事务保护护资源管理器。
faxsvc.exe 帮助您发送和接收传真。
cisvc.exe 索引服务
dmadmin.exe 磁盘管理请求的系统管理服务。
mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌
面。
netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。
smlogsvc.exe 配置性能日志和警报。
rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和
本地通信控制安装功功能。
RsEng.exe 协调用来储存不常用数据的服务和管理工具。
RsFsa.exe 管理远程储存的文件的操作。
grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向
一个数据存储点,以节省磁盘空间(只对 NTFS 文件系统有用)。
SCardSvr.ex 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控
制。
snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作
站汇报。
snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱(trap)消息,
然后将消息传递到运行在这台计算机上 SNMP 管理程序。
UtilMan.exe 从一个窗口中启动和配置辅助工具。
msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。
另外,有很多朋友都有这样的疑问:我的开机进程里有smss.exe和csrss.exe两个文件,
有什么作用?
进程文件: smss or smss.exe
进程名称: Session Manager Subsystem
描述: 该进程为会话管理子系统用以初始化系统变量,MS-DOS驱动名称类似LPT1以及
COM,调用Win32壳子系统和运行在Windows登陆过程。
常见错误: N/A
是否为系统进程: 是
进程文件: csrss or csrss.exe
进程名称: Client/Server Runtime Server Subsystem
描述: 客户端服务子系统,用以控制Windows图形相关子系统。
常见错误: N/A
是否为系统进程: 是
所以,对自己不熟悉 没有把握的进程, 不要随便结束它.建议:把你认为有问题的进程比
如"csrss.exe",在google里搜索"csrss.exe",就会获得相关的知识.
这是转的
参考资料:http://hexun.com/ontherun/default.html
2. window xp操作系统有哪些特色
发展历史
Windows XP 是基于 Windows2000 代码的产品,同时拥有一个新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中一些看起来是从 linux 的桌面环境 (desktopenvironmen) 诸如KDE中获得的灵感:带有用户图形的登陆界面就是一个例子。此外,Windows XP 还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。
它包括了简化了的 Windows 2000 的用户安全特性,并整合了防火墙,以用来确保长期以来一直困扰微软的安全问题。
2001年10月,微软副总裁Jim Allchin首次展示了Windows XP。微软最初发行了两个版本:专业版和家庭版。
2002年,微软遭遇美国司法部反托拉斯官司,推出 Windows XP SP1 补丁包,允许消费者与电脑制造商自行移除部分结合在XP中的所谓"中介软件"技术。
2003年,中国出现最早的盗版XP,即JUJUMAO版本,其采取收费下载的模式,装机量并不算大,同期番茄花园网站成立。
2004年,微软砸3亿美元支持XP SP2发布,这是对XP的安全架构的一次大检修,增添了网络保护、安全的邮件处理和Web浏览以及PC维护方面的新技术。
2005年,微软发布64位XP客户端和服务器2个系列,支持Intel和AMD的64位桌面处理器,此前因需等英特尔64位处理器而一再推迟,AMD为此大为不满。
2006年,苹果推出英特尔芯片Mac电脑,向用户开放安装Windows XP。
2007年,年初 Windows Vista 高调发布,采用了全新图形用户界面。但软、硬件厂商没有及时推出支持 Vista 的产品,负面消息满天飞,销售也受到严重影响。
2008年,推出XP SP3补丁包;Windows XP 在中国市场占有率为75%,但盗版率也高达82%,从“番茄花园”事件开始,微软在中国对盗版软件“收网”。
2009年,Windows 7 操作系统正式上市,虽然微软一而再再而三地为XP延寿,但仍无法改变大量用户转向 Windows 7 的使用,Windows XP 系统开始被逐步彻底淘汰。2014年,Windows XP 系统开始被大规模彻底淘汰。
系统要求
处理器(CPU) 时钟频率为300MHz或更高的处理器
至少需要233MHz(单个或双处理器系统)
使用IntelPentium/Celeron系列、AMDK6/Athlon/Duron系列或兼容的处理器
内存(RAM) 128MBRAM或更高(最低支持64M,可能会影响性能和某些功能)
硬盘 至少1.5GB可用硬盘空间
显示卡和监视器 SuperVGA(800x600)或分辨率更高的视频适配器和监视器
其他设备 CD-ROM或DVD驱动器,键盘和 Microsoft 鼠标或兼容的指针设备
版本
Windows XP 于2001年8月24日正式发布(RTM,ReleasetoManufacturing)。它的零售版于2001年10月25日上市。Windows XP的外部版本是2002,内部版本是5.1(即NT5.1),正式版的Build是5.1.2600。微软最初发行了两个32位版本:专业版(Windows XP Professional Edition)和家庭版(Windows XP Home Edition),64位专业版于2003年3月28日发布。后来在2005年又发行了媒体中心版(Windows XP Media Center Edition)和平板电脑版(Windows XP Tablet PC Editon)等。
Windows XP Home Edition
Home Edition 是面向家庭用户的版本。由于是面向家庭用户,因此家庭版在功能上有一定的缩水,主要表现为:没有组策略、远程桌面、EFS文件加密、多语言、连接Netware服务器的功能、只支持1个CPU和1个显示器(注意是物理上的1个CPU,可以支持单CPU多核心——如双核、四核,专业版支持2个CPU和9个显示器)、不具备访问控制和IIS服务以及不能归为域等。
Windows XP Professional Edition
Professional 是面向企业、开发人员的版本,与 Home Edition 相比提供更加全面的功能,是 Windows XP 的全功能版本。市面上所采用的盗版均以 Professional Edition 的 VOL 版本为基础进行修改。
Windows XP Media Center Edition
专门为个人电脑使用的 Windows XP Media Center Edition(媒体中心版本)。这些个人电脑包括HP Media Center 电脑,以及 Alienware Navigator 系列。这些电脑拥有遥控器,拥有开启 Windows XP Media Center 上的媒体的功能。Windows XP Media Center 版本必须捆绑在这些计算机上,并不单独销售。
Windows XP Tablet PC Edition
为平板可旋转式的笔记本电脑(Tablet PC)设计的 Windows XP Tablet PC Edition,带有支持触屏手写的特性。同样它必须捆绑在这些平板笔记本电脑上,并不单独销售。
Windows XP Starter Edition 为了压制东南亚区高盗版率所带来的威胁,微软将在东南亚地区国家如马来西亚,印尼,泰国发布了相关语言的入门版的 Windows XP,即 Windows XP Starter Edition。该版本将以非常低的价格来吸引一些买不起高价的 Windows XP(专业版与家庭版)的家庭用户或一些学校,政府机构。不过入门版的 Windows XP 有功能上限制,如只支持最高256MB内存,只能同时运行3个程序,最高800x600分辨率等等。Windows XP Starter Edition 无简体中文版本。
Windows XP Embedded(嵌入式)
为了在嵌入式系统市场的占有率,微软继前两代的嵌入式操作系统 Windows NT Embedded 与Windows 2000 SAK之后,发布了 Windows XP 嵌入式版本,即 Windows XP Embedded。比较前两代的微软的嵌入式操作系统,Windows XP Embedded 在功能上有很大的加强。
特色简介
Windows XP拥有一个叫做Luna(月神)的豪华亮丽的用户图形界面。Windows XP 的视窗标志也改为较清晰亮丽的四色视窗标志。Windows XP 带有用户图形的登陆界面;全新的XP亮丽桌面,用户若怀旧以前桌面可以换成传统桌面。此外,Windows XP还引入了一个“选择任务”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计指示增加了视觉上的混乱,因为它除了提供比其它操作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。
由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Passport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的垄断行为的持续。
另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(Reference Number)。在其它计算机上安装系统,将因为硬件的不同而无法激活。如果是在同一台计算机上更换了太多硬件,则会因为硬件改动太大而导致需要重新激活。
授权方式
授权一般分为“完整授权”和“升级授权”完全零售版可以全新安装,也可以升级安装;升级版只做升级安装。这种版本的 Windows XP 产品有精美的包装盒,一本较厚精美的说明书,一张授权证明以及精美带有辐射变化的光盘。完全版的光盘标卷有FPP字样(如英文专业版WXPFPP_EN),升级版的光盘标卷有CCP字样(如英文专业版WXPCCP_EN)。这种授权的 Windows XP 需要激活才可使用。
另外微软也通过OEM授权方式让 Windows XP (包括专业版与家庭版)与电脑一起搭售,这种授权的价格较零售版便宜,但必须配有新电脑一起才可获得。这种版本的 Windows XP 产品只有一本说明书,一张授权证明以及带有辐射变化的光盘。OEM版的 Windows XP 只能用来全新安装,光盘标卷有OEM字样(如英文专业版WXPOEM_EN)。这种授权的 Windows XP 需要激活才可使用。一些品牌的电脑厂商所提供的是 Windows XP 系统恢复光盘(Recovery CD),该产品只能配备相关产品品牌的电脑才能使用,故用户无需激活。
另外,在面向企业时,微软通过批量启动(Volume License)的授权方式让企业以优惠的价格购买大量的 Windows XP Professional。这只对于企业,政府机构或教育机构,只有专业版有批量许可的授权方式,家庭版没有。这种版本的 Windows XP 产品必需是有相关企业机构与微软签订的软体批量授权合约,批量许可金钥(Volume License Key,VLK)以及相关的批量授权光盘。批量许可版与完全零售版一样,可以全新安装,也可以升级安装。光盘标卷有VOL字样(如英文专业版WXPVOL_EN)。为了在企业上的效率,故这种授权的 Windows XP 无激活的概念。
目前简体中文家庭版的最新售价为399元,简体中文专业版为1880元。
64位版本
版本介绍
64位的 Windows XP 根据不同的微处理器架构,分为两个不同版本:
IA-64版的Windows XP
针对英特尔(Intel)的 IA-64 架构的安腾2(Itanium2)纯64位微处理器的 Windows XP 64-Bit Edition Version 2003 for Itanium-based Systems。它是拥有64位寻址能力的强大的操作系统,主要面向顶级的高端 IA-64 架构的工作站,用在高端的科学运算,石油探测工艺,立体绘图,复杂的动画制作等等,是一种用在高效能运算(High Performance Computing)的强大的操作系统。支持双处理器;最低支持1GB的内存,最高支持16GB的内存。
X86-64版的Windows XP
针对超微(AMD)的 X86-64 架构的 Opteron 与 Athlon 64 所属的64位扩展微处理器的Windows XP 64-Bit Edition for 64-Bit Extended Systems。由于英特尔也发布了 x86-64 架构的 EM64T 技术的 Xeon 与Pentium 4的64位扩展微处理器,故微软将该版本的的 Windows XP 64-Bit Edition 改为 Windows XP Professional X64 Edition,它支持AMD与Intel的 X86-64 架构。可以使用在一般 X86-64 架构的工作站,桌面电脑以及笔记本电脑,用途与32位 Windows XP Professional 一样,但具有64位寻址能力。支持双处理器;最低支持256MB的内存,最高支持16GB的内存。
微软提供 Windows XP Professional X64 Edition 的评估版下载,试用期为一年,下载者的电脑必须配备有AMD的 Opteron/Athlon64 或Intel的 Xeon(EM64T)/Pentium 4(EM64T)才能安装使用 Windows XP Professional X64 Edition。
独特优点
Windows XP 64 位版本提供了一个可伸缩的高性能平台,用于运行基于 Windows 的新一代强大应用程序。这种平台的体系结构可以更有效地处理海量数据,最高可支持 16 TB 的虚拟内存。使用 64 位的 Windows,应用程序可以将足够多的数据预加载到虚拟内存中,以便 Itanium 处理器快速访问这些数据。这种特性减少了将数据载入虚拟内存,以及查找读取数据并将数据写入数据存储设备所花费的时间,因此可使应用程序运行地更快、更高效。
32位与64位结构体系的比较
操作系统类型 32位操作系统 64位操作系统
物理内存 最高4GB 最高16TB
页面文件 最高16TB 最高512TB
页面缓冲池 最高470MB 最高128GB
非页面缓冲池 最高256MB 最高128GB
系统缓存 最高1GB 最高1TB
硬件需求
下表显示了两种操作系统在系统需求方面的不同:
System Requirements
Setup Component Windows XP
Professional Windows XP
64-Bit Edition
Minimum CPU speed 233 megahertz (MHz) 733 MHz
Recommended CPU speed 300 Hz N/A
Minimum RAM 64 MB 1 GB
Recommended minimum RAM 128 MB N/A
Disk space required for Setup 1.5 GB free 1.5GB free
兼容性
对目前而言,64位Windows最大的一个劣势就是兼容性,而兼容性方面最突出的就是各种硬件设备的驱动程序。64位和32位Windows XP的硬件驱动程序完全不能混用,也就是说,如果你所用的硬件设备的开发商还没有开发出针对64位Windows XP的驱动程序,那么要么该设备在64位Windows XP下无法使用,要么使用操作系统自带的通用驱动勉强使用,但是性能和功能都会受到影响 。
至于其他软件程序则一般没有什么大问题。在64位Windows XP中,只有16位应用程序是完全无法使用的,而32位应用程序则可以继续使用。不过在安装这些应用程序的时候也要注意,有些应用程序,虽然和硬件扯不上关系,但是为了实现软件的某些特殊功能,安装软件的时候同时还会向系统中装入驱动程序,这种程序在没有发布64位版之前是无法在64位Windows下使用的。
Service Packs (更新包)
Windows XP Service Pack 1
2002年9月25日发布
SP1 包含 Windows XP 在以下方面的功能更新:
USB1.1升级至USB2.0;支持更多硬件;安全问题更新(包括 Windows XP Update Package);操作系统可靠性;多种应用程序兼容性;Windows XP 安装简化。
Windows XP Service Pack 2
2004年8月6日发布
Windows XP 服务包 Service Pack 2 (SP2) 着重于安全问题,它提供了对病毒、黑客和蠕虫病毒的更好保护,并且内置Windows 防火墙、Internet Explorer 弹出窗口拦截程序以及新的Windows 安全中心、新的Windows Media Player9和DirectX9.0C。此外,还增加了对Cool'n'Quiet的支持。
Windows XP Service Pack 3
2008年5月6日发布
Windows XP SP3 包含以前发布的所有 Windows XP 更新,包括安全更新、修补程序以及选择带外版本。例如,此 Service Pack 包含以前作为更新发布的功能,如 Microsoft(R) 管理控制台 (MMC) 3.0 和 Microsoft Core XML Services 6.0 (MSXML6)。
一个明显的例外是 SP3 包含网络访问保护 (NAP),其目的是帮助使用 Windows XP 的组织利用 Windows Server(R) 2008 操作系统中的新功能。
知识库文章 936929 列出了与 Windows XP SP3 中所包含更新关联的其他所有知识库文章。以下部分还提供了对 Windows XP SP3 中所包含功能的深层次描述。
备份与还原
1、备份系统文件
我们这里说的备份系统文件是通过创建紧急恢复盘来完成的,在计算机系统工作正常时,我们可以制作系统紧急恢复盘,以便在系统出现问题时,使用它来恢复系统文件,采用这种方法我们可以修复基本系统,包括系统文件、引导扇区和启动环境等。
步骤如下:打开“开始”菜单,选择“程序”-->“附件”-->“系统工具”-->“备份”命令,打开“备份工具向导”窗口,可直接单击“高级模式”,打开“备份工具”窗口,在“欢迎”选项卡中,单击“自动系统恢复向导”按钮,将打开“自动系统故障恢复准备向导”对话框,单击“下一步”按钮,进入“备份目的地”对话框,在软驱中插入一张空白的软盘,然后单击“下一步”按钮,继续下去即可完成备份工作。
2、备份硬件配置文件
硬件配置文件可在硬件改变时,指导 Windows XP 加载正确的驱动程序,如果我们进行了一些硬件的安装或修改,就很有可能导致系统无法正常启动或运行,这时我们就可以使用硬件配置文件来恢复以前的硬件配置。建议用户在每次安装或修改硬件时都对硬件配置文件进行备份,这样可以非常方便地解决许多因硬件配置而引起的系统问题。
步骤如下:鼠标右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框,单击“硬件”标签,在出现的窗口中单击“硬件配置文件”按钮,打开“硬件配置文件”对话框,在“可用的硬件配置文件”列表中显示了本地计算机中可用的硬件配置文件清单,在“硬件配置文件选择”区域中,用户可以选择在启动 Windows XP 时(如有多个硬件配置文件)调用哪一个硬件配置文件。要备份硬件配置文件,单击“复制”按钮,在打开的“复制配置文件”对话框中的“到”文本框中输入新的文件名,然后单击“确定”按钮即可。
3、备份注册表文件
注册表是 Windows XP 系统的核心文件,它包含了计算机中所有的硬件、软件和系统配置信息等重要内容,因此,我们很有必要做好注册表的备份,以防不测。
步骤如下:首先在“运行”命令框中输入“Regedit.exe”打开注册表编辑器,如果要备份整个注册表,请选择好根目录(我的电脑节点),然后在菜单中选择“导出”命令,打开“导出注册表文件”对话框,在“文件名”文本框中输入新的名称,选择好具体路径,点击“保存”按钮即可。
注意在默认情况下,注册表编辑器会将我们选择的注册表子树或整个树作为保存对象,如果要备份整个注册表,在“导出范围”中选择“全部”单选按钮;如果只备份注册表中的某一分支,选择“所选分支”单选按钮,然后输入要导出的分支名称即可。
4、制作系统的启动盘
对于不能从光盘引导启动的计算机,为了防止系统出现故障而无法引导,我们还应该制作用来引导计算机的启动盘,当系统不能启动时,用启动盘引导启动计算机后,可以使用“恢复控制台”、“紧急修复磁盘”和“自动系统恢复”等功能来恢复系统。准备4张空白的、格式化好的3.5英寸软盘,分别标注为“启动盘1”、“启动盘2”、“启动盘3”和“启动盘4”来方便区分,在 Windows XP 安装时,根据安装向导可以很方便地制作启动盘。
5、备份整个系统
在我们计算机系统中,往往存放着一些非常重要的常规数据,它们有的甚至比系统数据都重要,比如公司的财务数据和业务数据等。因此我们在备份系统数据的同时,还应该注意备份一些常规重要数据。
要备份整个系统数据请按如下步骤进行:打开“开始”菜单,选择“程序”、“附件”、“系统工具”、“备份”命令,打开“备份工具”窗口中的“欢迎”选项卡,单击“备份”按钮,打开“备份向导”对话框,单击“下一步”按钮,系统将打开“要备份的内容”对话框,在“选择要备份的资料”选项区域中选择“备份这台计算机的所有项目”单选按钮,然后单击“下一步”按钮继续向导即可。
注意:在“要备份的内容”对话框中,如果只需要备份系统的状态数据,可以选择“只备份系统状态数据”单选按钮;如果只需要备份指定的数据,可选择“备份选定的文件、驱动器或网络数据”单选按钮。
6、创建系统还原点
“系统还原”是 Windows XP 的组件之一,用以在出现问题时将计算机还原到过去的状态,但同时并不丢失个人数据文件(如Microsoft Word文档、浏览历史纪录、图画、收藏夹或电子邮件)。“系统还原”可以监视对系统和一些应用程序文件的更改,并自动创建容易识别的还原点。这些还原点允许用户将系统还原到过去某一时间的状态。
方法如下:打开“开始”菜单,选择“程序”、“附件”、“系统工具”、“系统还原”命令,打开系统还原向导,选择“创建一个还原点”,点击“下一步”按钮,为还原点命名后,单击“创建”按钮即可创建还原点。
7、设定系统异常停止时Windows XP的对应策略
我们还可以在系统正常时,设定当系统出现异常停止时,Windows XP 的反应措施,比如我们可以指定计算机自动地重新启动,步骤如下:鼠标右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,打开“系统属性”设置窗口,选择“高级”标签,打开“高级”选项卡,在“启动和故障恢复”选项区域中单击“设置”按钮,打开“启动和故障恢复”对话框,在“系统失败”选项区域中,通过启用复选框可以选择系统失败后的应对策略,在“写入调试信息”选项区域中可以设置写入系统调试信息时的处理方法,设置完毕,单击“确定”按钮返回“系统属性”对话框,再单击“确定”按钮。
8、使用Ghost备份
系统备份
使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面弹出的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。
选Local→Partition→To Image菜单,弹出硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。
在弹出的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。
接下来,程序会询问是否压缩备份数据,并给出3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。
系统克隆
硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在弹出的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。
Ghost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据内容装下。
Ghost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。
3. linux中使用了什么内存管理方法,为什么
“事实胜于雄辩”,我们用一个小例子(原形取自《User-Level Memory Management》)来展示上面所讲的各种内存区的差别与位置。
进程的地址空间对应的描述结构是“内存描述符结构”,它表示进程的全部地址空间,——包含了和进程地址空间有关的全部信息,其中当然包含进程的内存区域。
进程内存的分配与回收
创建进程fork()、程序载入execve()、映射文件mmap()、动态内存分配malloc()/brk()等进程相关操作都需要分配内存给进程。不过这时进程申请和获得的还不是实际内存,而是虚拟内存,准确的说是“内存区域”。进程对内存区域的分配最终都会归结到do_mmap()函数上来(brk调用被单独以系统调用实现,不用do_mmap()),
内核使用do_mmap()函数创建一个新的线性地址区间。但是说该函数创建了一个新VMA并不非常准确,因为如果创建的地址区间和一个已经存在的地址区间相邻,并且它们具有相同的访问权限的话,那么两个区间将合并为一个。如果不能合并,那么就确实需要创建一个新的VMA了。但无论哪种情况,do_mmap()函数都会将一个地址区间加入到进程的地址空间中--无论是扩展已存在的内存区域还是创建一个新的区域。
同样,释放一个内存区域应使用函数do_ummap(),它会销毁对应的内存区域。
如何由虚变实!
从上面已经看到进程所能直接操作的地址都为虚拟地址。当进程需要内存时,从内核获得的仅仅是虚拟的内存区域,而不是实际的物理地址,进程并没有获得物理内存(物理页面——页的概念请大家参考硬件基础一章),获得的仅仅是对一个新的线性地址区间的使用权。实际的物理内存只有当进程真的去访问新获取的虚拟地址时,才会由“请求页机制”产生“缺页”异常,从而进入分配实际页面的例程。
该异常是虚拟内存机制赖以存在的基本保证——它会告诉内核去真正为进程分配物理页,并建立对应的页表,这之后虚拟地址才实实在在地映射到了系统的物理内存上。(当然,如果页被换出到磁盘,也会产生缺页异常,不过这时不用再建立页表了)
这种请求页机制把页面的分配推迟到不能再推迟为止,并不急于把所有的事情都一次做完(这种思想有点像设计模式中的代理模式(proxy))。之所以能这么做是利用了内存访问的“局部性原理”,请求页带来的好处是节约了空闲内存,提高了系统的吞吐率。要想更清楚地了解请求页机制,可以看看《深入理解linux内核》一书。
这里我们需要说明在内存区域结构上的nopage操作。当访问的进程虚拟内存并未真正分配页面时,该操作便被调用来分配实际的物理页,并为该页建立页表项。在最后的例子中我们会演示如何使用该方法。
系统物理内存管理
虽然应用程序操作的对象是映射到物理内存之上的虚拟内存,但是处理器直接操作的却是物理内存。所以当应用程序访问一个虚拟地址时,首先必须将虚拟地址转化成物理地址,然后处理器才能解析地址访问请求。地址的转换工作需要通过查询页表才能完成,概括地讲,地址转换需要将虚拟地址分段,使每段虚地址都作为一个索引指向页表,而页表项则指向下一级别的页表或者指向最终的物理页面。
每个进程都有自己的页表。进程描述符的pgd域指向的就是进程的页全局目录。下面我们借用《linux设备驱动程序》中的一幅图大致看看进程地址空间到物理页之间的转换关系。
上面的过程说起来简单,做起来难呀。因为在虚拟地址映射到页之前必须先分配物理页——也就是说必须先从内核中获取空闲页,并建立页表。下面我们介绍一下内核管理物理内存的机制。
物理内存管理(页管理)
Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数个4k(在i386体系结构中)大小的页,从而分配和回收内存的基本单位便是内存页了。利用分页管理有助于灵活分配内存地址,因为分配时不必要求必须有大块的连续内存[3],系统可以东一页、西一页的凑出所需要的内存供进程使用。虽然如此,但是实际上系统使用内存时还是倾向于分配连续的内存块,因为分配连续内存时,页表不需要更改,因此能降低TLB的刷新率(频繁刷新会在很大程度上降低访问速度)。
鉴于上述需求,内核分配物理页面时为了尽量减少不连续情况,采用了“伙伴”关系来管理空闲页面。伙伴关系分配算法大家应该不陌生——几乎所有操作系统方面的书都会提到,我们不去详细说它了,如果不明白可以参看有关资料。这里只需要大家明白Linux中空闲页面的组织和管理利用了伙伴关系,因此空闲页面分配时也需要遵循伙伴关系,最小单位只能是2的幂倍页面大小。内核中分配空闲页面的基本函数是get_free_page/get_free_pages,它们或是分配单页或是分配指定的页面(2、4、8…512页)。
注意:get_free_page是在内核中分配内存,不同于malloc在用户空间中分配,malloc利用堆动态分配,实际上是调用brk()系统调用,该调用的作用是扩大或缩小进程堆空间(它会修改进程的brk域)。如果现有的内存区域不够容纳堆空间,则会以页面大小的倍数为单位,扩张或收缩对应的内存区域,但brk值并非以页面大小为倍数修改,而是按实际请求修改。因此Malloc在用户空间分配内存可以以字节为单位分配,但内核在内部仍然会是以页为单位分配的。
另外,需要提及的是,物理页在系统中由页结构structpage描述,系统中所有的页面都存储在数组mem_map[]中,可以通过该数组找到系统中的每一页(空闲或非空闲)。而其中的空闲页面则可由上述提到的以伙伴关系组织的空闲页链表(free_area[MAX_ORDER])来索引。
内核内存使用
Slab
所谓尺有所长,寸有所短。以页为最小单位分配内存对于内核管理系统中的物理内存来说的确比较方便,但内核自身最常使用的内存却往往是很小(远远小于一页)的内存块——比如存放文件描述符、进程描述符、虚拟内存区域描述符等行为所需的内存都不足一页。这些用来存放描述符的内存相比页面而言,就好比是面包屑与面包。一个整页中可以聚集多个这些小块内存;而且这些小块内存块也和面包屑一样频繁地生成/销毁。
为了满足内核对这种小内存块的需要,Linux系统采用了一种被称为slab分配器的技术。Slab分配器的实现相当复杂,但原理不难,其核心思想就是“存储池[4]”的运用。内存片段(小块内存)被看作对象,当被使用完后,并不直接释放而是被缓存到“存储池”里,留做下次使用,这无疑避免了频繁创建与销毁对象所带来的额外负载。
Slab技术不但避免了内存内部分片(下文将解释)带来的不便(引入Slab分配器的主要目的是为了减少对伙伴系统分配算法的调用次数——频繁分配和回收必然会导致内存碎片——难以找到大块连续的可用内存),而且可以很好地利用硬件缓存提高访问速度。
Slab并非是脱离伙伴关系而独立存在的一种内存分配方式,slab仍然是建立在页面基础之上,换句话说,Slab将页面(来自于伙伴关系管理的空闲页面链表)撕碎成众多小内存块以供分配,slab中的对象分配和销毁使用kmem_cache_alloc与kmem_cache_free。
Kmalloc
Slab分配器不仅仅只用来存放内核专用的结构体,它还被用来处理内核对小块内存的请求。当然鉴于Slab分配器的特点,一般来说内核程序中对小于一页的小块内存的请求才通过Slab分配器提供的接口Kmalloc来完成(虽然它可分配32到131072字节的内存)。从内核内存分配的角度来讲,kmalloc可被看成是get_free_page(s)的一个有效补充,内存分配粒度更灵活了。
有兴趣的话,可以到/proc/slabinfo中找到内核执行现场使用的各种slab信息统计,其中你会看到系统中所有slab的使用信息。从信息中可以看到系统中除了专用结构体使用的slab外,还存在大量为Kmalloc而准备的Slab(其中有些为dma准备的)。
内核非连续内存分配(Vmalloc)
伙伴关系也好、slab技术也好,从内存管理理论角度而言目的基本是一致的,它们都是为了防止“分片”,不过分片又分为外部分片和内部分片之说,所谓内部分片是说系统为了满足一小段内存区(连续)的需要,不得不分配了一大区域连续内存给它,从而造成了空间浪费;外部分片是指系统虽有足够的内存,但却是分散的碎片,无法满足对大块“连续内存”的需求。无论何种分片都是系统有效利用内存的障碍。slab分配器使得一个页面内包含的众多小块内存可独立被分配使用,避免了内部分片,节约了空闲内存。伙伴关系把内存块按大小分组管理,一定程度上减轻了外部分片的危害,因为页框分配不在盲目,而是按照大小依次有序进行,不过伙伴关系只是减轻了外部分片,但并未彻底消除。你自己比划一下多次分配页面后,空闲内存的剩余情况吧。
所以避免外部分片的最终思路还是落到了如何利用不连续的内存块组合成“看起来很大的内存块”——这里的情况很类似于用户空间分配虚拟内存,内存逻辑上连续,其实映射到并不一定连续的物理内存上。Linux内核借用了这个技术,允许内核程序在内核地址空间中分配虚拟地址,同样也利用页表(内核页表)将虚拟地址映射到分散的内存页上。以此完美地解决了内核内存使用中的外部分片问题。内核提供vmalloc函数分配内核虚拟内存,该函数不同于kmalloc,它可以分配较Kmalloc大得多的内存空间(可远大于128K,但必须是页大小的倍数),但相比Kmalloc来说,Vmalloc需要对内核虚拟地址进行重映射,必须更新内核页表,因此分配效率上要低一些(用空间换时间)
与用户进程相似,内核也有一个名为init_mm的mm_strcut结构来描述内核地址空间,其中页表项pdg=swapper_pg_dir包含了系统内核空间(3G-4G)的映射关系。因此vmalloc分配内核虚拟地址必须更新内核页表,而kmalloc或get_free_page由于分配的连续内存,所以不需要更新内核页表。
vmalloc分配的内核虚拟内存与kmalloc/get_free_page分配的内核虚拟内存位于不同的区间,不会重叠。因为内核虚拟空间被分区管理,各司其职。进程空间地址分布从0到3G(其实是到PAGE_OFFSET,在0x86中它等于0xC0000000),从3G到vmalloc_start这段地址是物理内存映射区域(该区域中包含了内核镜像、物理页面表mem_map等等)比如我使用的系统内存是64M(可以用free看到),那么(3G——3G+64M)这片内存就应该映射到物理内存,而vmalloc_start位置应在3G+64M附近(说"附近"因为是在物理内存映射区与vmalloc_start期间还会存在一个8M大小的gap来防止跃界),vmalloc_end的位置接近4G(说"接近"是因为最后位置系统会保留一片128k大小的区域用于专用页面映射,还有可能会有高端内存映射区,这些都是细节,这里我们不做纠缠)。
上图是内存分布的模糊轮廓
由get_free_page或Kmalloc函数所分配的连续内存都陷于物理映射区域,所以它们返回的内核虚拟地址和实际物理地址仅仅是相差一个偏移量(PAGE_OFFSET),你可以很方便的将其转化为物理内存地址,同时内核也提供了virt_to_phys()函数将内核虚拟空间中的物理映射区地址转化为物理地址。要知道,物理内存映射区中的地址与内核页表是有序对应的,系统中的每个物理页面都可以找到它对应的内核虚拟地址(在物理内存映射区中的)。
而vmalloc分配的地址则限于vmalloc_start与vmalloc_end之间。每一块vmalloc分配的内核虚拟内存都对应一个vm_struct结构体(可别和vm_area_struct搞混,那可是进程虚拟内存区域的结构),不同的内核虚拟地址被4k大小的空闲区间隔,以防止越界——见下图)。与进程虚拟地址的特性一样,这些虚拟地址与物理内存没有简单的位移关系,必须通过内核页表才可转换为物理地址或物理页。它们有可能尚未被映射,在发生缺页时才真正分配物理页面。
这里给出一个小程序帮助大家认清上面几种分配函数所对应的区域。
#include<linux/mole.h>
#include<linux/slab.h>
#include<linux/vmalloc.h>
unsignedchar*pagemem;
unsignedchar*kmallocmem;
unsignedchar*vmallocmem;
intinit_mole(void)
{
pagemem = get_free_page(0);
printk("<1>pagemem=%s",pagemem);
kmallocmem = kmalloc(100,0);
printk("<1>kmallocmem=%s",kmallocmem);
vmallocmem = vmalloc(1000000);
printk("<1>vmallocmem=%s",vmallocmem);
}
voidcleanup_mole(void)
{
free_page(pagemem);
kfree(kmallocmem);
vfree(vmallocmem);
}
实例
内存映射(mmap)是Linux操作系统的一个很大特色,它可以将系统内存映射到一个文件(设备)上,以便可以通过访问文件内容来达到访问内存的目的。这样做的最大好处是提高了内存访问速度,并且可以利用文件系统的接口编程(设备在Linux中作为特殊文件处理)访问内存,降低了开发难度。许多设备驱动程序便是利用内存映射功能将用户空间的一段地址关联到设备内存上,无论何时,只要内存在分配的地址范围内进行读写,实际上就是对设备内存的访问。同时对设备文件的访问也等同于对内存区域的访问,也就是说,通过文件操作接口可以访问内存。Linux中的X服务器就是一个利用内存映射达到直接高速访问视频卡内存的例子。
熟悉文件操作的朋友一定会知道file_operations结构中有mmap方法,在用户执行mmap系统调用时,便会调用该方法来通过文件访问内存——不过在调用文件系统mmap方法前,内核还需要处理分配内存区域(vma_struct)、建立页表等工作。对于具体映射细节不作介绍了,需要强调的是,建立页表可以采用remap_page_range方法一次建立起所有映射区的页表,或利用vma_struct的nopage方法在缺页时现场一页一页的建立页表。第一种方法相比第二种方法简单方便、速度快,但是灵活性不高。一次调用所有页表便定型了,不适用于那些需要现场建立页表的场合——比如映射区需要扩展或下面我们例子中的情况。
我们这里的实例希望利用内存映射,将系统内核中的一部分虚拟内存映射到用户空间,以供应用程序读取——你可利用它进行内核空间到用户空间的大规模信息传输。因此我们将试图写一个虚拟字符设备驱动程序,通过它将系统内核空间映射到用户空间——将内核虚拟内存映射到用户虚拟地址。从上一节已经看到Linux内核空间中包含两种虚拟地址:一种是物理和逻辑都连续的物理内存映射虚拟地址;另一种是逻辑连续但非物理连续的vmalloc分配的内存虚拟地址。我们的例子程序将演示把vmalloc分配的内核虚拟地址映射到用户地址空间的全过程。
程序里主要应解决两个问题:
第一是如何将vmalloc分配的内核虚拟内存正确地转化成物理地址?
因为内存映射先要获得被映射的物理地址,然后才能将其映射到要求的用户虚拟地址上。我们已经看到内核物理内存映射区域中的地址可以被内核函数virt_to_phys转换成实际的物理内存地址,但对于vmalloc分配的内核虚拟地址无法直接转化成物理地址,所以我们必须对这部分虚拟内存格外“照顾”——先将其转化成内核物理内存映射区域中的地址,然后在用virt_to_phys变为物理地址。
转化工作需要进行如下步骤:
找到vmalloc虚拟内存对应的页表,并寻找到对应的页表项。
获取页表项对应的页面指针
通过页面得到对应的内核物理内存映射区域地址。
如下图所示:
第二是当访问vmalloc分配区时,如果发现虚拟内存尚未被映射到物理页,则需要处理“缺页异常”。因此需要我们实现内存区域中的nopaga操作,以能返回被映射的物理页面指针,在我们的实例中就是返回上面过程中的内核物理内存映射区域中的地址。由于vmalloc分配的虚拟地址与物理地址的对应关系并非分配时就可确定,必须在缺页现场建立页表,因此这里不能使用remap_page_range方法,只能用vma的nopage方法一页一页的建立。
程序组成
map_driver.c,它是以模块形式加载的虚拟字符驱动程序。该驱动负责将一定长的内核虚拟地址(vmalloc分配的)映射到设备文件上。其中主要的函数有——vaddress_to_kaddress()负责对vmalloc分配的地址进行页表解析,以找到对应的内核物理映射地址(kmalloc分配的地址);map_nopage()负责在进程访问一个当前并不存在的VMA页时,寻找该地址对应的物理页,并返回该页的指针。
test.c它利用上述驱动模块对应的设备文件在用户空间读取读取内核内存。结果可以看到内核虚拟地址的内容(ok!),被显示在了屏幕上。
执行步骤
编译map_driver.c为map_driver.o模块,具体参数见Makefile
加载模块:insmodmap_driver.o
生成对应的设备文件
1在/proc/devices下找到map_driver对应的设备命和设备号:grepmapdrv/proc/devices
2建立设备文件mknodmapfilec 254 0(在我的系统里设备号为254)
利用maptest读取mapfile文件,将取自内核的信息打印到屏幕上。
4. 储存池是什么Win8系统存储池使用技巧
当我们的电脑有多个磁盘驱动器时,可能会同时创建出多个磁盘分区,管理起来非常繁杂。而在Win8系统中解决了这个问题,我们可以通过创建存储池,将多余的空间整合在一起并自定义设置。下面系统之家小编为大家介绍一下Win8系统存储池使用技巧。
1.要想在Win8系统中创建存储池,我们首先要打开控制面板—所有控制面板项—存储空间;接着点击"创建新的池和存储空间"
2.在新的窗口中,我们可以勾选多个驱动器,将其添加进存储池中,就可以实现统一、灵活管理磁盘分区的目的;
3.此外,我们还可以创建一个存储空间,设置"名称、驱动器号、系统文件类型"等,如果我们同时添加了多个驱动器可以选择双向、三向镜像,这样在使用时会自动生成文件备份,以防止某个驱动器损坏尔导致文件丢人哦~
4.关于Win8存储池的创建以及使用设置就介绍到这里了,大家试试吧!
本文来自于【系统之家】
www.xp85.com
5. 系统问题:有关虚拟内存池
虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用,这部分硬盘空间就叫虚拟内存。Windows 98中采用Win386.swp文件的形式,而Windows 2000/XP则采用页面文件pagefile.sys的形式来管理虚拟内存。
一、大小情况
1.一般情况
一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。
2.关于最小值
Windows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些:
①使用128MB或者更少内存的用户,建议将当前物理内存容量的1.75倍设置为页面文件的最小值。
②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的1.5倍设置为页面文件的最小值。
3.关于最大值
一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。
4.极端情况
假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。
如果物理内存很大(大于512MB),则可以将虚拟内存禁用。
5.根据不同的任务环境设置
①以3D游戏为主的环境
3D游戏对CPU、显卡和内存要求都很高,如果物理内存小于256MB,建议把虚拟内存预设得大一点,这对提高游戏的稳定性和流畅性很有帮助。
②以播放视频为主的环境
视频应用对硬盘空间的“胃口”很大,不过千万不要像在3D游戏环境中一样把虚拟内存设得很大,尤其是Windows XP的用户。因为Windows XP不会自动把不需要的空间释放掉,也就是说那个Pagefiles.sys文件会越来越大。如果你把虚拟内存和Windows XP放在同一分区,播放RM、ASF等视频流文件以后,系统经常会提示你虚拟内存设得太小或是磁盘空间不足。查看此时的页面文件,已经足有1GB大小了。所以建议经常欣赏视频文件的Windows XP用户,把初始数值设小一点,或者将虚拟内存转移到系统盘以外的分区。
二、设置方法
下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法:进入“打开→控制面板→系统”,选择“高级”选项卡,点击“性能”栏中的“设置”按钮,选择“高级”选项卡,点击“虚拟内存”栏内的“更改”按钮,即可进入“虚拟内存”窗口;在驱动器列表中选中系统盘符,然后勾选“无分页文件”选项,再单击“设置”按钮;接着点击其他分区,选择“自定义大小”选项,在“初始大小”和“最大值”中设定数值,然后单击“设置”按钮,最后点击“确定”按钮退出即可。
6. Windows XP 的主要功能和特点是什么
Windows XP拥有一个叫做Luna(月神)的豪华亮丽的用户图形界面。Windows XP windows xp 开机画面
的视窗标志也改为较清晰亮丽的四色视窗标志。Windows XP 带有用户图形的登陆界面;全新的XP亮丽桌面,用户若怀旧以前桌面可以换成传统桌面。此外,Windows XP还引入了一个“选择任务”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计只是增加了视觉上的混乱,因为它除了提供比其它操作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。 由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Passport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的垄断行为的持续。 另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(Reference Number)。在其它计算机上安装系统,将因为硬件的不同而无法激活。如果是在同一台计算机上更换了太多硬件,则会因为硬件改动太大而导致需要重新激活。
独特优点
Windows XP 64 位版本提供了一个可伸缩的高性能平台,用于运行基于 Windows 的新一代强大应用程序。这种平台的体系结构可以更有效地处理海量数据,最高可支持 16 TB 的虚拟内存。使用 64 位的 Windows,应用程序可以将足够多的数据预加载到虚拟内存中,以便 Itanium 处理器快速访问这些数据。这种特性减少了将数据载入虚拟内存,以及查找读取数据并将数据写入数据存储设备所花费的时间,因此可使应用程序运行地更快、更高效。 32位与64位结构体系的比较
操作系统类型 32位操作系统 64位操作系统
物理内存 最高4GB 最高16TB
页面文件 最高16TB 最高512TB
页面缓冲池 最高470MB 最高128GB
非页面缓冲池 最高256MB 最高128GB
系统缓存 最高1GB 最高1TB
硬件需求
下表显示了两种操作系统在系统需求方面的不同: System Requirements Setup Component Windows XP Professional Windows XP 64-Bit Edition
Minimum CPU speed 233 megahertz (MHz) 733 MHz
Recommended CPU speed 300 Hz N/A
Minimum RAM 64 MB 1 GB
Recommended minimum RAM 128 MB N/A
Disk space required for Setup 1.5 GB free 1.5GB free
兼容性
对目前而言,64位Windows最大的一个劣势就是兼容性,而兼容性方面最突出的就是各种硬件设备的驱动程序。64位和32位Windows XP的硬件驱动程序完全不能混用,也就是说,如果你所用的硬件设备的开发商还没有开发出针对64位Windows XP的驱动程序,那么要么该设备在64位Windows XP下无法使用,要么使用操作系统自带的通用驱动勉强使用,但是性能和功能都会受到影响 。 至于其他软件程序则一般没有什么大问题。在64位Windows XP中,只有16位应用程序是完全无法使用的,而32位应用程序则可以继续使用。不过在安装这些应用程序的时候也要注意,有些应用程序,虽然和硬件扯不上关系,但是为了实现软件的某些特殊功能,安装软件的时候同时还会向系统中装入驱动程序,这种程序在没有发布64位版之前是无法在64位Windows下使用的。
建议你最好参见网络,网络的资料很多的。输入windows xp就可以!
7. 在Windows XP中,一般情况下,硬盘上被删除的文件或文件夹存放在哪儿
都暂时存放在回收站中。这里的回收站就相当于社会上的废品回收站,这里的东西可以恢复(相当于有些人将东西卖了之后,又觉得还有用,还可以赎回去),但回收站一旦清空,就相当于废品回收站的废纸已经卖给了纸厂,当没有进入纸浆池之前(数据恢复软件可用),还是可以通过一定关系赎回,但进了纸浆池(电脑上相当于已经存储了新的信息),就不可能恢复。
8. 驱动存储池体积过大 怎么清理
一、自动释放系统内存资源
在Windows中每运行一个程序,系统资源就会减少。有的程序会消耗大量的系统资源,即使把程序关闭,在内存中还是有一些没用的DLL文件在运行,这样就使得系统的运行速度下降。不过我们可以通过修改注册表键值的方法,使关闭软件后自动清除内存中没用的DLL文件及时收回消耗的系统资源。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer”主键,在右边窗口单击右键,新建一个名为“AlwaysUnloadDll”的“字符串值”,然后将“AlwaysUnloadDll”的键值修改为“1”,退出注册表重新启动机器即可达到目的。
二、清除不必要的文件
1.删除系统文件备份
?进入“WINDOWS\system32\dllcache”目录(默认为隐藏目录),里面存储着约360MB的文件,它们是Windows XP系统文件的备份。当Windows XP的系统文件被替换、删除或修改时,系统可以自动从中提取出相应的系统文件进行还原,从而保证了系统的稳定性。如果你有Windows XP安装光盘或者已经将安装文件拷贝到硬盘上,那么你大可将此文件夹删除。注意:该文件夹不能直接删除,要在命令提示符下输入“sfc.exe /purgecache”(注意斜线前的空格)命令进行清除。
2.删除驱动备份
?Windows XP自带了大量的硬件驱动程序,当检测到新硬件时系统会自动地提取相应的驱动程序进行安装。其实,多数情况下我们很少改变自己的硬件配置,因此在确定自己所需要的硬件驱动程序已经全部安装的情况下,可以将驱动备份文件删除。进入“WINDOWS\Driver Cache\i386”目录,找到名为“Driver.cab”的压缩文件,删除即可。此举可以释放出约73MB的硬盘空间。如果以后安装新硬件时系统找不到驱动程序,可以从安装光盘中提取。
?3.删除不用的输入法
??在Windows XP下有几种我们根本用不着的输入法,比如日文、韩文输入法等。删除的方法是:进入“控制面板→日期、时间、语言和区域设置→区域和语言选项”,选择“语言”选项卡,将“为东亚语言安装文件”前面的钩去掉,点“确定”后依提示删除不需要的语言选项。重新启动后,到“WINDOWS\ime”文件夹下直接删除“chtime”、“imjp8_1”和“imkr6_1”三个文件夹(它们分别对应繁体中文、日文、韩文)即可。此举可以释放约85MB的硬盘空间。
?4.清空系统临时文件
??在“\Documents and Settings\用户名\LocalSettings\Temp”目录下(默认为隐藏目录)存储的是软件安装或运行时留下的临时文件夹和废弃的文档,可以清空该目录。如果你是第一次这样操作,那么有可能释放出上百MB的硬盘空间。注意:这招可以经常使用