回答:pzhghs 学长 2月27日 01:42 把系统安装盘放进光驱,然后在打开“开始→运行”,输入 setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\,让系统重装一下IE。 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存 后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误 ,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊! 像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的 内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3.试用新版本的应用程序。
android论文参考文献「范文」
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。以下是关于android论文参考文献,希望对大家有帮助!
[1] 李凤银. 电子公文中多人签名的设计与实现[J]. 计算机应用研究. 2005(06)
[2] 倪红军. 基于Android系统的数据存储访问机制研究[J]. 计算机技术与发展. 2013(06)
[3] 圣伟. 加入Android阵营--记首届亚太地区Android技术大会[J]. 程序员. 2009(06)
[4] 金晨辉,孙莹. AES密码算法S盒的线性冗余研究[J]. 电子学报. 2004(04)
[5] 尹京花,王华军. 基于Android开发的数据存储[J]. 数字通信. 2012(06)
[6] 叶晓静,黄俊伟. 基于Android系统的多媒体播放器解决方案[J]. 现代电子技术. 2011(24)
[7] 秦凯. Android开源社区应用项目开发的效率研究[D]. 华南理工大学 2012
[8] 李钰. 基于Android系统的行人检测设计[D]. 天津大学 2012
[9] 黄鑫. 基于Android的大学生个人课程助理系统的设计与实现[D]. 厦门大学 2014
[10] 祝忠方. 基于Android的移动互联终端的设计和实现[D]. 北方工业大学 2014
[11] 房鑫鑫. Android恶意软件实现及检测研究[D]. 南京邮电大学 2013
[12] 张嘉宾. Android应用的安全性研究[D]. 北京邮电大学 2013
[13] 黄莹. 基于Android平台智能手机多方通话软件测试系统的研究与实现[D]. 华中师范大学 2013
[14] 赵朋飞. 智能手机操作系统Google Android分析[J]. 科技视界. 2011(02)
[15] 刘仙艳. 移动终端开放平台-Android[J]. 信息通信技术. 2011(04)
[16] 姚昱旻,刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用. 2008(11)
[17] 陈昱,江兰帆. 基于Google Android平台的移动开发研究[J]. 福建电脑. 2008(11)
[18] 梁雪梅,盛红岩,周熙. RSA算法体制研究[J]. 计算机安全. 2006(12)
[19] 易红军,佘名高. MD5算法与数字签名[J]. 计算机与数字工程. 2006(05)
[20] 王尚平,王育民,张亚玲. 基于DSA及RSA的证实数字签名方案[J]. 软件学报. 2003(03)
[21] 王雯娟,黄振杰,郝艳华. 一个高效的基于证书数字签名方案[J]. 计算机工程与应用. 2011(06)
[22] 程桂花,齐学梅,罗永龙. AES算法中的多项式模运算及其性能分析[J]. 计算机技术与发展. 2010(09)
[23] 叶炳发,孟小华. Android图形系统的分析与移植[J]. 电信科学. 2010(02)
[24] 吕兴凤,姜誉. 计算机密码学中的加密技术研究进展[J]. 信息网络安全. 2009(04)
[1] 苏祥. 基于耦合锯齿时空混沌的虚拟光学加密系统[D]. 南京邮电大学 2014
[2] 高继明. 数字图书馆中的.用户管理问题研究[D]. 西北师范大学 2006
[3] 贾蕤铭. 基于Android系统的动态密钥管理方案的研究及实现[D]. 西北师范大学 2014
[4] 郑亚红. 无线传感器网络中的密钥管理方案研究[D]. 西北师范大学 2014
[5] 慕莹莹. 无线传感器网络密钥管理方案[D]. 西北师范大学 2013
[6] 蔡维. 基于RSA的可截取签名方案的研究[D]. 西北师范大学 2013
[7] 陈志强. 基于质心漂移聚类算法的LBS隐私保护研究[D]. 南京邮电大学 2014
[8] 陈凯. 融入隐私保护的特征选择算法研究[D]. 南京邮电大学 2014
[9] 王筱娟. Ad-hoc网络密钥管理方案的相关研究[D]. 西北师范大学 2011
[10] 于晓君. 基于MSC Pool的VLR备份技术的研究与实现[D]. 南京邮电大学 2014
[11] 周静岚. 云存储数据隐私保护机制的研究[D]. 南京邮电大学 2014
[12] 秦树东. 音频数字水印算法的研究[D]. 南京邮电大学 2014
[13] 孙佳男. 即开型电子彩票发行方案的相关研究[D]. 西北师范大学 2011
[14] 孙龙. 可否认加密与可否认协议[D]. 西北师范大学 2011
[15] 樊睿. 门限代理签名方案的研究[D]. 西北师范大学 2008
[16] 易玮. 可搜索加密研究[D]. 西北师范大学 2009
[17] 俞惠芳. 基于自认证的签密体制的研究[D]. 西北师范大学 2009
[18] 王会歌. 基于无证书公钥密码体制的若干签名方案的研究[D]. 西北师范大学 2009
[19] 贾续涵. PKI中证书撤销机制和具有前向安全性的数字签名研究[D]. 西北师范大学 2007
[20] 宋福英. 电子政务系统若干安全问题的研究[D]. 西北师范大学 2007
[21] 庞雅丽. 基于统计的中文新闻网页分类技术研究[D]. 西北师范大学 2007
[22] 刘军龙. 可截取签名体制研究[D]. 西北师范大学 2007
[23] 于成尊. 代理签名与多银行电子现金系统研究[D]. 西北师范大学 2007
[24] 蓝才会. 具有特殊性质的签密相关研究[D]. 西北师范大学 2008
[25] 左为平. 指定验证人代理签名体制研究[D]. 西北师范大学 2008
计算机在处理速度、存储容量、网络化,以及软件的精巧化方面经过数十年的发展,已经以难以想象的方式渗入科学、商业和文化领域中,而智能工程又将令其从量变转向质的飞跃。 计算功能日益变成模拟和执行。在科学领域,计算可以模拟气候变化,破解人类基因;在商业领域,低成本的计算、因特网和数字通信正在改变全球经济;在文化领域,计算类产品,如iPod、YouTube和计算机动画等无所不在。 2006年9月,美国计算机科学与通信委员会在华盛顿举办了名为“2016”的研讨会,主题是计算机未来如何发展。 会议代表来自学术界和产业界。论题有:社会网络、数字图像、网络媒体、计算机对工作及就业的影响等。讨论主要集中在两方面:计算的影响在深度上将渗入自然科学中,在广度上将进入社会科学中;政策问题突出,计算技术的功能将更加强大、无所不及。 计算机对科学研究的深刻影响主要是高速运算的巨型计算机。虽然通过网格的群体式计算,可以将许多计算机的功能通过软件联结,实现可与巨型计算机媲美的高速运算,但要解决最复杂的动态问题,尤其是涉及国家安全的问题,还必须依靠单个巨型计算机。能广泛影响社会大众的计算则从台式机向集计算、娱乐、通信于一体的手持多功能产品转变。 一、巨型计算机的发展目标 速度对于科学计算中的巨型计算机就像它对于战场上的战斗机一样重要。美国国防部高级研究计划局(DARPA)制定的高生产力计算系统(HPCS)计划,要求每秒1000万亿次浮点运算的巨型计算机在2010年前进入市场,装备美国的武器实验室及科学研究中心。 DARPA将此类巨型计算机看作是开发先进的空中飞行器、武器、军事作战的谋划和执行、美国核储备的维护、安全系统研究,以及图像处理及密码破译等的关键技术。DARPA负责该计划的主管哈罗德说,这是“满足国家安全和经济竞争力需要的关键技术”。 2006年11月,克雷公司推出了新型XT4巨型计算机,它是由3万个opteton处理器组成的系统。克雷公司声称其新系统在试验期间稳定的运算速度为每秒10万亿次浮点运算,当前可达54万亿次/秒,预计2005年底达到250万亿次/秒。XT4的新型体系结构很容易升级到1000万亿次浮点运算/秒的最高速度。 XT4的关键技术是克雷公司的SeaStar2连接芯片。系统中每个处理器有一个这样的连接芯片,而不是像其他巨型计算机那样所有处理器共用一个通信接口。这一技术使大量并行处理系统在运行中不会因其间的数据传输而减慢。橡树岭国家实验室、国家能源科学计算中心和芬兰IT科学中心都订购了XT4。公司负责政府计划的副总裁说,这种类型的计算机特别适用于空气动力学问题,也适用于其他航空航天的设计。例如,美国空军的研究人员一直用其上一代的XT3来模拟新型天线的设计与评价。 2006年11月,DARPA与克雷公司签订了亿美元,的合同,用于开发其最新的混合式体系结构的巨型计算机;这是高生产力计算系统计划第三阶段的项目之一,克雷公司称之为自适应巨型计算机。迄今,巨型计算机只用一种处理器,克雷公司的巨型计算机的混合结构是将标量、矢量不同类型的处理器集成在一起,还要加上另外两个其他处理器,将处理器和任务编制得最适合缓存,从而达到最高效率和最大利用。 IBM公司也签订了亿美元的HPCS计划第三阶段的巨型计算机合同。目标是开发实时应用的1000万亿次/秒巨型;计算机心在2006年11月公布的第28次全球最高速的500巨型计算机名单上,IBM的Gene/L系统位居榜首,是该公司为美国能源部劳伦斯·利弗莫亦国家实验室研制的,运算速度为万亿次/秒,大约是DARPA要求克雷公司和IBM于2010年前交货的原型计算机速度的1/3。克雷公司在桑迪亚国家实验室中运行的红色风暴巨型计算机为万亿次/秒,仅次于IBM的Gene/L。 二、台式计算机逐渐变成网络多媒体娱乐工具 台式计算机最终走向了移动通信领域,从光纤通信中数据量的激增可看到这一趋势。计算机用户通过接到MySpaee和ESPN的网址,正在越来越多地利用手机处理文件、短信。 先进手机操作系统的开发商、Symbian公司的副总裁帕纳格罗斯西说:“我们看到了屏幕的逐渐演变,从电影、电视、计算机屏幕发展到今天第四代的智能手机屏幕。” 最新屏幕是将台式计算机的许多功能展示出来,下一代屏幕将包含音像通信、电子邮件、短信等功能在内的多种形式的融合。为此,苹果计算机公司已更名为苹果公司,即将推出的iPhone代表公司的最新战略,即进入因特网数据处理手持装置的新领域。这种接近台式计算机的手持装置可以通过光纤及其他无线网络,简易地处理音乐、图像、娱乐、生产任务和通信。苹果公司的举动好像引发了一场核战争,诺基亚和摩托罗拉都将作出反应。不过,在此领域,苹果公司还只是后来者,其对手有:诺基亚、摩托罗拉、索尼·埃得克森、微软等商业巨头,他们都进入了娱乐电子领域。即将进入这一领域的还有Google等强大的因特网公司。他们都经不起台式计算机用户兴趣转移的诱惑。 在移动电话与台式计算机之间伪竞争还产生了新型的复合装置。诺基亚和索尼最近都推出了集创新的物理设计和各种通信功能为一体的新产品,其共同特征是比掌上机更小巧,其屏幕更便于读取。无线数据通信的软件开发也是重要的商业领域。苹果公司的优势是在无线数据通信市场中可同时开发硬件和软件,这就是其新近推出的iPhone,其新颖设计引人注目。 三、计算对科学及社会经济的影响 计算为何对科学、社会网络及人们的文化生活产生重大影响? 在计算机对科学的影响方面,加州伯克利大学教授卡普经长期探索,提出了科学理论的算法性质的概念。数学和计算机科学的核心概念就是算法。算法,简而言之就是对计算的分步求解。它擅长描述动态过程,而科学公式或方程式适于静态现象。科学研究越来越多地探索动态过程,计算机科学就是算法的系统研究。 计算机应用在当前发展最快的生物学领域尤其突出。卡普近年的研究已经超出计算机科学领域,进入到微生物领域。他认为,现在生物学已经被当作信息科学看待。科学家设法将生物过程,如蛋白质的生成用算法来描述,这“自然就是算法。” 在社会网络方面,社会科学家早在技术网络出现之前就对其分析了数十年。随着因特网的出现,社会网络和技术网络不可避免地连接起来,社会网络也就可能发展到前所未有的规模。新的社会—技术网络包括电子邮件方式、商业网站(如Amazon)的购物推荐、通信网站(如MySpace和Facebook)的短信或小帖子,还有新闻、见解、时尚、都市神话、网络商品和服务等。 当前,人们在探索,能否用算法分析为何某些网络社区兴旺而另一些则萎缩或消失?利用计算技术研究社会网络对社会学家、经济学家、人类学家、心理学家和教育家而言是丰富的宝藏,对营销人员和政客也同样有用。康乃尔大学教授克莱因伯格说:“这是将计算及算法用于社会科学和实践中的最主要的方式,当前还只是处于起步阶段。” 计算机图像和存储的未来趋势可能用于个人,将微波传输的数字装置和微型电话和摄像机组装到一起,可将人一生中的主要事件录入其中。这对于通信、媒体和个人生活意义重大。微软研究实验室主任、计算机科学家拉斯希德说,他愿意看到他的儿子如何迈出第一步,倾听几年前与他去世的父亲的对话。“我愿看到往事,在未来这是可能的。” 不过,任何技术的广泛应用都有正反两面作用。拥有跟踪群体和个人的网络行为的新工具,也会引起严重的隐私问题。2006年夏天,美国在线无意中透露了65万个用户的网络搜索日志,显然将这一问题暴露出来了。它有可能成为监视社会的工具。拉斯希德说:“我们有这种能力,但要由社会来决定如何使用它,而不是由科学家来决定。”
【摘要 】 本文论述了网络通信监测的实现原理与实现过程,遵照国际标准化开放系统互联(OSI)七层体系结构,利用网络驱动接口规范WinDis32 技术,实现了在应用层对数据链路层的控制,完成了对网上流动数据帧的实时截获、解封与分析。
关键词】 网络分层 WinDis32技术 网络信息截获 数据帧 NDIS网络适配器
1.前言
随着计算机网络技术的发展,各类网络规模的扩大,远程访问的增加,虚拟专用网(VPN)的出现和Internet的普及,网络安全性已成为计算机网络领域一门重要的研究学科。
网络监控是保障网络安全性的基本措施之一。网络监控,用于监测网上流动信息,并对网络信息给予适当控制。网络监控,可用于调试网络应用程序,判断应用程序是否正确地发送或接收了数据包。网络监控,还可用于监视网络信息,杜绝不健康站点的不健康内容,维护网络环境。应用于安全防范,可监视我方信息内容、保障网络安全,截获情报、分析怀有敌意方的网站。在计算机网络上实施有效的攻击与保护,是网络监控技术在军事上的重要发展方向之一。
本文论述的网络通信实时监测的实现,是用于特殊目的数据通信程序设计的突破口,是网络监控技术的'基础部分,其实现基于网络体系结构与WinDis32技术。
2.网络体系结构
现代计算机网络设计是按高度的结构化方式进行的,国际标准化组织(ISO)为更广泛的计算机互联制定了标准化的开放系统互联(OSI)网络体系结构,如图1所示。
OSI参考模型用结构描述方法,即分层描述的方法,将整个网络的通信功能划分为七个部分(也叫七个层次),每层各自完成一定的功能。由低层至高层分别称为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。两台网络主机之间进行通信时,发送方将数据从应用层向下传递到物理层,每一层协议模块为下一层进行数据封装,数据流经网络,到达接收方,接着再由下而上通过协议栈传递,并与接收方应用程序进行通信。
在通用网络中,数据链路层由网络适配器实现,本文中网络通信监测的立足点在于数据链路层,基于电缆是固有的广播性介质,通过对网络适配器的控制,实时截获与分析经过网络适配器的所有网上流动信息。
技术
WinDis32全称为Win32 NDIS(Network Driver Interface Specification)网络驱动接口规范,用于开发Windows产品,可在Windows 9X和Windows NT上直接访问NDIS媒体访问控制(MAC)驱动接口。图2显示了Windows网络驱动组件与Win32 NDIS结构组件:
图网络驱动组件与Win32 NDIS结构组件
WinDis32网络组件由四部分组成:NDIS适配器、PCANDIS5 NDIS协议驱动、W32N50 WinDis32 API DLL、WinDis32应用程序。WinDis32应用程序调用动态链接库提供的API应用程序接口,通过NDIS协议驱动模块,实现对NDIS适配器进行的存取操作。网络驱动接口规范NDIS的主要特征是所有适配器相关驱动均由NDIS接口打包,例如,最底层NDIS NIC驱动不能对网卡直接执行I/O,它通过NDIS打包服务来访问硬件;高层Windows NDIS网络组件使用NDIS打包界面与适配器相关驱动通信。只有NDIS协议驱动可以调用NDIS打包,访问NDIS适配器。
WinDis32应用程序接口函数包括:W32N_OpenAdapter(),打开一个已被命名NDIS适配驱动器,若操作成功,则生成一个面向适配器对象WinDis32适配器句柄,这一句柄被随后多个在该适配器上操作的W32N_XXX函数所用; W32N_CloseAdapter(),关闭已打开的适配器句柄;W32N_PacketRead(),数据帧读操作;W32N_PacketReadEx(),数据帧异步读操作;W32N_PacketSend(),发送数据帧操作;W32N_PacketSendEx()、W32N_MakeNdisRequest()等等。
WinDis32技术使得从Win32应用层进行NDIS请求如同在一个内核模式的驱动器内部进行请求一样简单,并支持多个网络适配器同时打开,完成各自的信息发送与接收。
4.网络信息监测的实现
网络信息监测程序分为信息截获与信息分析两大部分,其中信息截获程序流程如图3所示,采用多进程与多线程技术,完成数据的实时截获。
其中网络适配器列表通过读取系统注册表生成;网络适配器详细信息包括适配器型号、网络适配器物理地址、传输最大帧、传输速率以及机内标识符,通过函数W32N_MakeNdisRequest()获得。
协议过滤部分是包括PCAUSA端口的PCANDIS5协议驱动,BPF过滤器是由UNIX环境到Windows的模拟机制,为Win32应用程序提供了一种普通而又便利的机制,可过滤指定协议,由协议驱动执行,拒绝不想要的数据帧。支持协议包括:传输控制协议TCP、互连网协议IP、地址解析协议ARP、反向地址解析协议RARP、互连网控制报文协议ICMP、互连网组管理协议IGMP、Novell SPX/IPX协议IPX、用户数据报协议UDP、NetBEUI协议、AppleTalk协议。
信息分析部分利用已获知的媒体访问控制协议,提取出数据帧中的有效域值,如源主机物理地址、目的主机物理地址、帧长度等。并同时为每一被截获的数据包打上时标,注上序列号,为下一步数据重组提供可靠依据。
接收数据帧显示与信息统计结果范例如下:
包序列号:0000000032 时间:0005860470 msec 长度:54/54
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 28 26 03 40 00 20 06 : A3 25 64 64 64 7A 64 64 .(&.@. ..%dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 10 de.....@...l$.P.
000030: 22 38 12 EA 00 00 : "8..............
包序列号:0000000033 时间:0005860764 msec 长度:109/109
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 5F 27 03 40 00 20 06 : A1 EE 64 64 64 7A 64 64 ._'.@. ...dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 18 de.....@...l$.P.
000030: 22 38 DE C6 00 00 00 00 : 00 33 FF 53 4D 42 1A 00 "8.........
000040: 00 00 00 00 00 80 00 00 : 00 00 00 00 00 00 00 00 ................
000050: 00 00 03 08 25 2D 03 08 : 01 4C 08 01 08 00 80 10 ....%-...L......
000060: 00 00 10 00 00 00 00 00 : 00 00 00 00 00 ................
包序列号:0000000034 时间:0005860766 msec 长度:1514/1514
Ethernet 目的: 源: 类型0x0800
000000: 00 00 B4 86 74 FA 00 40 : 05 39 A2 B0 08 00 45 00 ....t..@.9....E.
000010: 05 DC 64 0B 40 00 80 06 : FF 68 64 64 64 65 64 64 ..d.@....hdddedd
000020: 64 7A 00 8B 04 06 00 6C : 24 B9 00 40 BF 4B 50 10 dz.....l$..@.KP.
000030: 20 B7 86 DA 00 00 00 00 : 10 00 7E 8B 77 DA D2 D0 .........~.w...
000040: D7 27 59 9A 8F 18 D3 77 : 15 D5 6C 86 0F 2C 62 3E...
停止数据帧接收应用统计:
已接收数据帧数目 :34
已发送数据帧数目 : 0
5.进一步研究与发展
本文所研究的网络信息监测属于计算机网络系统安全对策研究的一部分,属于网络信息监测的基础性研究。以此研究成果为基础,可进行进一步的软件开发,从而实现网络通信状况实时监测、情报获取、网上各站点地址分析、站点类型分析,为计算机网络的安全维护提供监测手段,因此,具有特别的意义。
参考文献:
32 文档
2.刘锦德等计算机网络大全电子工业出版社
Jamsa等INTERNET编程电子工业出版社
C++技术内幕清华大学出版社
5.廖湖声面向对象的Windows程序设计基础人民邮电出版社
6.张国峰C++语言及其程序设计教程电子工业出版社
7.汤子瀛等计算机操作系统西安电子科技大学出版社
8.刘彦明等实用网络编程技术西安电子科技大学出版社
9.何莉等计算机网络概论高等教育出版社
10.杜毅Unix系统组网技术电子工业出版社
操作系统(Operating System,简称OS)传统上是负责对计算机硬件直接控制及管理的系统软件。操作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等。当多个程序同时运行时,操作系统负责规划以优化每个程序的处理时间。 一个操作系统可以在概念上分割成两部分:内核(Kernel)以及壳(shell)。一个壳程序包裹了与硬件直接交流的内核:硬件<->内核<->壳<->应用程序 在有些操作系统上内核与壳完全分开(例如Unix、Linux等),这样用户就可以在一个内核上使用不同的壳;而另一些的内核与壳关系紧密(例如Microsoft Windows),内核及壳只是操作层次上不同而已。 Windows 98是一个发行于1998年6月25日的混合16位/32位的图形操作系统。这个新的系统是基于Windows 95上编写的,它改良了硬件标准的支持,例如USB、MMX和AGP。其它特性包括对FAT32文件系统的支持、多显示器、Web TV的支持和整合到Windows图形用户界面的Internet Explorer,称为活动桌面(Active Desktop)。Windows 98 SE(第二版)发行于1999年6月10日。它包括了一系列的改进,例如Internet Explorer 5、Windows Netmeeting 3、Internet Connection Sharing和对DVD-ROM的支持。Windows 98被人批评为没有足够的革新。即使这样,它仍然是一个成功的产品。第二版被批评为不能在第一版的基础上自由升级。 Windows 98的最低系统需求:486DX/66MHz或更高的处理器,16MB的内存,更多的内存将改善性能;如果使用FAT16文件系统, 典型安装需250兆;因系统设置和选项不同, 所需空间范围在225兆到310兆之间;如果使用FAT32文件系统, 典型安装需245兆;因系统设置和选项不同, 所需空间范围在200兆到270兆之间;CD-ROM或DVD-ROM驱动器和VGA或更高分辨率的显示器,微软鼠标或兼容的指向设备。 Windows ME是一个32位图形操作系统,由微软公司发行于2000年9月14日。这个系统是在Windows 95和Windows 98的基础上开发的。它包括相关的小的改善,例如Internet Explorer 。其中最主要的改善是用于与流行的媒体播放软件RealPlayer竞争的Windows Media Player 7。但是Internet Explorer 和Windows Media Player 7都可以在网上免费下载。Movie Maker是这个系统中的一个新的组件。这个程序提供了基本的对视频的编辑和设计功能,对家庭用户来说是简单易学的。但是,最重要的修改是系统去除了DOS,而由系统恢复代替了。 在概念上,这是一个大的改进:拥护不再需要有神秘的DOS行命令的知识就可以维护和修复系统。实际上,去除了DOS功能对维护来说是一个障碍,而系统恢复功能也带来一些麻烦:性能显著的降低;它也被证明并不能有效的胜任一些通常的错误。由于系统每次都自动创建一个先前系统状态的备份,使得非专业人员很难实行一些急需的修改,甚至是删除一个不想要的程序或病毒。有观点认为这个系统只是Windows 98的升级版本,不应该独自成为一个版本。也有观点认为这是微软自版以后最差的第一个没有发行第二版的Windows。 Microsoft Windows 2000(起初称为WinNT )是一个由微软公司发行于2000年12月19日的32位图形商业性质的操作系统。Windows 2000有四个版本:Professional、Server、Advanced Server和Datacenter Server。另外,微软提供了Windows 2000 Advanced Server限定版,用于运行于英特尔Itanium 64位处理器上。所有版本的Windows 2000都有共同的一些新特征:NTFS5,新的NTFS文件系统;EFS,允许对磁盘上的所有文件进行加密;WDM,增强对硬件的支持。 Microsoft Windows 2000的最低系统要求:133 MHZ或更高主频的Pentium级兼容CPU,推荐最小内存为64MB,更多的内存通常可以改善系统响应性能[最多支持4GB内存],至少有1GB可用磁盘空间的2GB硬盘(如果通过网络进行安装,可能需要更多的可用磁盘空间),Windows 2000 Professional支持单CPU和双CPU系统。 Windows XP,或视窗XP是微软公司最新发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。微软最初发行了两个版本,家庭版(Home)和专业版(Professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。字母XP表示英文单词的“体验”(experience)。 在XP之前,微软有两个相互独立的操作系统系列,一个是以Windows 98和Windows ME为代表的面向桌面电脑的系列,另一个是以Windows 2000和Windows NT为代表的面向服务器市场的系列。Windows XP是微软把所有用户要求合成一个操作系统的尝试,而为此付出的代价是丧失了对基于DOS程序的支持。 Windows XP是基于Windows 2000代码的产品,同时拥有一个新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中一些看起来是从Linux的桌面环境(desktop environmen)诸如KDE中获得的灵感。带有用户图形的登陆界面就是一个例子。此外,Windows XP还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计指示增加了视觉上的混乱,因为它除了提供比其它操作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。 它包括了简化了的Windows 2000的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。 由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Pasport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的反竞争行为的持续。 另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(reference number)。在其它计算机上安装系统,或只是简单的更换一个硬件,例如网卡,都将产生一个新的与之前不同的参考序列号,造成用户必须重新输入安装序列号来激活Windows XP的麻烦。 Windows XP的最低系统要求:推荐计算机使用时钟频率为 300 MHz 或更高的处理器;至少需要 233 MHz (单个或双处理器系统);推荐使用Intel Pentium/Celeron 系列、AMD K6/Athlon/Duron 系列或兼容的处理器,推荐使用 128 MB RAM 或更高(最低支持64M,可能会影响性能和某些功能), GB可用硬盘空间,Super VGA (800x600) 或分辨率更高的视频适配器和监视器,CD-ROM或DVD驱动器,键盘和Microsoft 鼠标或兼容的指针设备。
回答:pzhghs 学长 2月27日 01:42 把系统安装盘放进光驱,然后在打开“开始→运行”,输入 setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\,让系统重装一下IE。 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存 后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误 ,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊! 像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的 内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3.试用新版本的应用程序。
[1]樊澜; 刘珺; 张传雷等.3G智能手机操作系统的研究和分析[J]. 电信科学, 2009,(08)[1]李芙蓉.当前智能手机操作系统及其比较分析[J]. 甘肃科技纵横, 2008,(05)[1] 马军. 3G时代的中国移动终端产业[J]. 现代传输, 2006,(03) [4] 宋俊德, 王劲松. 无线移动终端的现状与未来竞争[J]. 当代通信, 2003,(24) [3] 李巍. Unix操作系统技术和产品[J]. 微电脑世界, 1998,(37) [5] Windows和Linux将主导智能手机OS[J]. 每周电脑报, 2006,(08) [7] 袁楚. 关于智能手机的操作系统[J]. 数字通信, 2006,(21) [9] 陈肖. Linux:自由的操作系统[J]. 微电脑世界, 2004,(Z1) 前边的序号自己定。
一. 简介 二、Linux系统下C编程原理 1. Linux系统的 2. Linux系统的主要构成 主要优异性能 3. gcc编译器的使用 三、总体设计 (1)、普通文件 (2)、目录文件 (3)、链接文件 (4)、设备文件 (5)、管道文件 2.进程基本介绍 3.库的使用
回答:pzhghs 学长 2月27日 01:42 把系统安装盘放进光驱,然后在打开“开始→运行”,输入 setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\,让系统重装一下IE。 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存 后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误 ,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊! 像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的 内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3.试用新版本的应用程序。
操作系统课程设计报告一. 简介Linux系统是从UNIX发展来的。UNIX是世界上最流行的操作系统之一,它是一种实时操作系统,可以运行于大型和小型计算机上的多任务系统。但由于它比较庞大,而且价格昂贵,所以不适合PC机用户使用。而Linux正好弥补了这些缺点,同时还继承了UNIX大多数优点。由于它基于PC机上运行的操作系统,并且内核源代码是公开的,使得Linux成为时下最浒的操作系统。Linux是一种适用于PC机的计算机操作系统,它适合于多种平台,是目前唯一免费的非商品化操作系统。由于有结构清晰、功能强大等特点,它很快成为许多院校学生和科研机构的研究人员学习和研究的对象。在他们的热心努力下,Linux渐渐成为一个稳定可靠、功能完善的操作系统。Linux是由UNIX发展来的,它不仅继承了UNIX操作系统的特征,而且许多方面还超过了UNIX系统。另外它还有许多UNIX所不具有的优点和特征。它的源代码是开放的,可运行于许多硬件平台 ,支持多达32种文件,支持大量的外部设备等。 Linux有广泛的用处,它可用于: 个人UNIX工作站。 终端用户和应用服务器。 UNIX开发平台。 商业开发。 网络服务器。 Internet服务器。 终端服务器、传真服务器、Modem服务器。二、Linux系统下C编程原理1. Linux系统的主要优异性能 Linux系统是真正的爽用户。多任务、多平台操作系统。 Linux系统提供提供具有内置安全措施的分层的文件系统,支持多达32种文件系统。 Linux系统提供命令解释程序和编程语言。 Linux系统提供强大的管理功能。 Linux系统具有内枋的编程接口。 Linux系统具有图形用户接口。 Linux系统许多组成部分的源代码是开放的,任何人都能修改和重新发布它。 Linux系统不公可以运行许多自由发布的应用软件,还可以运行许多商业化的应用软件。2. Linux系统的主要构成 存储管理在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址,页表还对物理页的访问权限作了规定,从而达到存储保护的目的。 进程管理在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象进行分配的,在一个进程的生命周期中,会用到许多系统资源,Linux的设计可以准确描述进程的状态和资源的使用情况,以确保不出现某些进程过度占用系统资源而导致另一些进程无休止地等待的情况。 文件系统Linux最重要的特征之一就是支持多种不同的文件系统。在Linux中,一个分离的文件系统不是通过设备标志来访问,而是把它合到一个单一的目录树结构中去,通过目录访问。Linux把一个新的文件系统安装到系统单一目录树的某一目录下,则该目录下的所有内容被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。 进程间通信Linux提供多种进程间的通信机制,管道和信号是其中最基本两种,其他还有消息队列、信号灯及共享内存。为支持不同机器之间的进程通信,Linux还引入了机制。3. gcc编译器的使用在Linux开发环境下,gcc是进行程序开发不可或缺的编译工具,是GUN C Compile的缩写,它是在GUN系统下的标准C编译器。gcc作为Linux平台下的标准C编译器,功能强大。人们可以使用gcc编译器编译单一文件的最基本的命令,正是有了gcc编译器人们才能使用它编译C源程序。gcc的完整格式是gcc [options] [filenames] ,编译选项指定的操作对给定的文件进行编译处理。在后面可以有多个编译选项,同时进行多个编译操作。三、总体设计下面介绍Linux系统中的文件以及与文件有关的操作。在C编程环境中,与文件有关的操作主要是I/O操作,即基于文件描述符的操作。此外,还将介绍其他一些与文件有关的操作。在Linux系统中,有关的I/O操作可以分为两类。它们是基于文件描述符的I/O操作和基于流I/O的操作。它们有各自不同的特点和优势。基于文件描述符的I/O操作是通过文件描述符对一个文件执行I/O操作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一个文件执行I/O操作。文件和文件系统是重要而复杂的概念。文件是有名字的一组相关信息的集合。在Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。通俗的说,就是文件中的字符与字符之间除了同属于一个文件之外,不存在任何其他的关系。文件中字符的关系,是由使用文件的应用程序来建立各解释的。每一个文件都具有特定的属性。Linux系统的文件属性比较复杂,主要包括文件类型和文件权限两个方面。1.文件类型Linux下的文件可以分为5种不同的类型 。它们是普通文件、目录文件、链接文件、设备文件和管道文件。(1)、普通文件普通文件也称正规文件,是最常见的一类文件,也是最常使用到的一类文件。其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、等等都属于普通文件。这种类型的文件按其内部结构又可细分为两个文件类型:文本文件和二进制文件。(2)、目录文件目录文件是用于存放文件名及其相关信息的文件。是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通文件。(3)、链接文件链接文件是一种特殊的文件。它实际上是指向一个真实存在的文件的链接。根据链接对象的不同,链接文件又可以细分为硬链接文件和符号链接文件。(4)、设备文件设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备。这就使Linux系统可以很方便的适应不断发展的外部设备。(5)、管道文件管道文件也是一种很特殊的文件。主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。2.进程基本介绍在Linux环境下,进程是一个十分重要的概念。按现在通行的认识,进程是具有一定功能的程序关于一个数据集合的一次执行过程。对一个特定程序来说,它的每一个正在运行中的副本都有自己的进程。就是说,如果用户在一个进程的一次运行尚未结束时再次启动该程序,则将有两个进程在运行这一程序。多个进程可以同时运行,各个进程之间相互隔开,除非不同进程之间需要进行数据交换,否则互不影响。一个进程的存在过程,可以分为进程的产生、进程的执行和进程的结束3个步骤。当一个程序被启动时,就产生一个新的进程。进程在系统内核的管理下得到执行。当某个进程执行完毕后,该进程就消亡了。Linux系统支持多个进程同时进行。所谓同时,其实是Linux系统在各个进程之间调度,轮流是每个进程占用CPU 的一个时间片。由于每个时间片和宏观的时间相比很小,而每个进程可以频繁的得到时间片,于是就使用户看到了多个进程“同时”运行的情况。在每个进程属性的安全信息里都设有一个优先级,系统根据它来决定各个进程从CPU获得的时间片的大小。用户在执行一个程序以完成一定的功能时,为了提高程序执行的效率,可以把一个程序设计成由若干个部分组成,由若干个部分组成,由若干个进程同时执行。这就是所谓并发程序的概念。此外,不同进程之间可能会需要相互合作,即进程通信和进程同步。当然,多个进程并不需要同上时间产生并都维持到整个程序运行结束。用户可以根据需要动态地产生结束进程。也就是说,一个进程可以派生另一个进程,这就是所谓父进程和了进程的关系。每个进程都有各自的属性,其中包括了进程的详细信息。3.库的使用代码的重用性是当代计算机编程语言中一个重要的概念,可以把编译好的目标文件模块统一放到一个库中,使得程序员可以在不同的程序中共享这些代码。在操作系统中,最终链接生成可执行文件时,如果链接的是一般的文件,则整个文件的内容都会被装入可执行文件中;如果链接的是库,则只是从库存中找到程序中用到的变量和数,将它们装入可执行文件中,那些放在库中但是没有被程序所引用的变量和数则不会被链接到最终的可执行文件。所以,使用库可以节省在大量的开发时间,在写较大的程序时,最好把程序模块放在库中。对于任何典型的操作系统命令都由简单命令、参数、输入文件名、输出文件名、I\O重定向文件名等组成。(关于以上术语的数据字典见下表)以命令 gcc –ggdb3 –o moon 为例:数据字典一:术语 说明简单命令 一个Linux长命令可以有多个像gcc,more等这样的纯命令组成。其中每个纯命令如gcc,more就是这里说的简单命令参数 范例命令中的-g,-o就是参数,它们是命令的扩展,可以根据用户的不用需要提供相应的不同服务输入文件名 范例命令中的就是输入文件名,它相当于一个源文件,在文件的连接和复制的命令中也常常用到这样的文件输出文件名 范例命令中的moon就是输出文件名,它相当与一个目标文件,在文件的连接和复制的命令中也常常用到这样的文件I\O重定向文件名 在Linux系统中所有的设备都被看作文件进行管理,I\O文件(设备)作为输出的目标时是可以根据用户的需要进行调整的,I\O重定向文件名就是用来指定I\O文件(设备)名的模块说明:模块名称 功能说明总控模块main() 该模块调用其他模块实现命令解释功能,保证无论命令执行成功与否都在命令执行后返回命令提示符命令初始化模块init_command() 使用singnal函数对进程进行处理,达到初始化命令的效果命令行输入get_comln() 该模块接受用户键盘输入的所有字符并存入相应的字符数组,供其他模块使用分析简单命令个数get_simcom() 该模块对用户键盘输入的长命令进行分析并最终将长命令分割成数据字典一中的元素,存入相应的结构数组,供执行模块执行执行指令execute() 对各种的数据字典一中的元素进行最后的处理,完成区分前后台程序,封锁、开启键盘等功能分析简单命令get_simarg() 对简单命令进行分割,为执行模块提供最直接的信息得到下一个标志符get_word() 该过程用来记录输入文件名、输出文件名、I\O重定向并存入相应的结构数组查看字符串是否匹配check() 用来区分长命令中各个数据字典一中的元素的标准,为分割长命令提供参考信息执行简单命令run_com() 该模块与操作系统底层联系,使用系统调用完成各个简单命令的最终执行程序初始化init_once() 对程序中用到的所有变量和数据结构进行初始化模块图:四.详细设计/*执行输入命令的文件*/execute(int j){int m,fd,fds[2]; /*fd 文件描述符号*/if(infile[0]!=’0’)/*如果命令指定了输入文件则打开输入文件*/cmdlin[0].infd=open(infile,O_RDONLY);if(outfile[0]!=’\0’)/*如果命令指定了输出文件则打开相应的输出文件*/if(append= =FLASE)cmdlin[j-1].outfd=open(outfile,O_WRONLYIO_CREATIO_TRUNC,0666);/*本句意思:一个已只读方式打开某指定文件的函数,如果该文件不存在*//*则创建此文件,如果该文件存在则将文件长度截至0*/elsecmdlin[j-1].outfd=open(outfile,O_WRONLYIO_CREATIO_APPEND,0666);/*对前台进程和后台进程进行不同的处理*/if(background)/*当一个进程结束时系统将产生一个SIGCHIOD信号通知其父进程*/signal(SIGCHLD,SIG_IGN);elsesignal(SIGCHLD,SIG_DFL);/*循环执行每个简单命令*/for(m=0;m
软件工程论文题目
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,我们看看下面的软件工程论文题目吧!
1、基于手机APP的中医移动健康管理平台探索
2、基于案例驱动法的软件工程课程影响因素实证分析
3、基于LAN的农业科技信息管理系统的研发
4、基于平板电脑的森林资源信息外业采集APP设计关键技术研究
5、基于物料的生产管理系统设计
6、ICE在模拟训练系统消息中间件中的应用
7、指纹考勤系统的设计与实现
8、基于Android平台的通用Adapter适配器的设计与实现
9、基于TMap的软件测试模型的分析研究
10、计算机软件开发技术现状及应用实践探究
11、基于SOC的智能野外目标监视和记录系统设计与实现
12、分析机械传动装置模块化设计系统的开发
13、舰船平台管理网络技术研究
14、基于分支相关性分析的不可达路径检测方法
15、基于求解开销预测的符号执行搜索策略研究
16、数字化装配管理系统研究与实现
17、基于小波神经网络对软件可靠性模型的研究
18、基于藏语学习的Android平台的研究与开发
19、基于交互技术移动端个人形象管理的应用与研发
20、基于JAVA+STRUTS的科技计划项目评估管理信息系统实现与安全设计
21、基于J2EE技术的计算机教研管理平台的设计与实现
22、采用COSMIC方法测量企业移动应用软件功能规模
23、基于Android平台的旅游系统的设计
24、基于SVG-JS技术的项目任务管理设计
25、基于凌一揆的中医药传承信息平台的构建
26、依托信息技术优化中药饮片发药流程
27、轨道交通工程Revit快速建模工具集开发
28、基于LabVIEW下嵌入式系统实验平台的设计与实现分析
29、多终端数字皮影交互系统的设计与实现
30、中小学食品配送质量管理及溯源系统开发与应用
31、CDIO理念下构建软件人才孵化中心
32、基于项目导向模式的软件技术专业教学方法探讨
33、基于Unity3D齿轮油泵交互式多媒体课件的设计与实现
34、基于文本服务框架的拼音输入法研究与实现
35、医院消毒器械管理追踪系统的设计与开发
36、面向Android的电子商务移动客户端的设计与开发
37、面向数据的软件工程方法研究
38、层次分析法在飞行模拟训练评价体系设计中的应用
39、基于ExcelVBA的企业员工年假统计系统设计与实现
40、PHP技术在在线考试系统开发中的应用研究
41、检察院审讯系统中即时通讯工具研究与实现
42、浅析移动实习就业跟踪系统的开发与应用
43、轨道交通工程Revit族库系统设计与开发
44、基于SSH的教室信息管理系统设计与实现
45、高校数字化校园中数据交换和共享平台的实现
46、软件算法相关技术探究
47、基于统计调查问卷的手机APP使用现状研究
48、关于对新形势下电子商务软件测试的`研究
49、软件项目管理中的进度管理
50、试析PLC和计算机间串行通讯方式及程序设计
51、浅析基于安卓系统的移动互联网集成平台开发设计
52、多线程技术在Android手机开发中的运用
53、JavaScript程序动态切片技术的研究
54、基于SmartAdmin的数据维护软件前台的快速构建
55、医院预授权结算系统的设计和实现
56、浅析计算机软件工程的管理和应用
57、生物计算下的分布式计算系统设计及实现
58、浅议广东省气象局科研管理系统管理技术
59、系统集成在城市轨道交通建设中的应用
60、JavaWeb开发中文件上传方法研究与实现
61、基于Web的Word文档管理系统设计
62、高校移动图书馆管理系统的设计与实现
63、基于移动互联网的考试平台设计与实现
64、智慧教室移动端管理平台开发
65、云计算环境下的软件测试服务分析
66、基于安卓系统的新能源电站移动数据库系统的设计
67、基于树型结构模型足球成绩系统的研究与设计
68、中小企业管理信息系统的功能设计
69、数据结构课程中栈和队列实验教学方案设计
70、基于需求模型的航天软件测试用例生成方法
71、酒店电能管理系统的设计与实现
72、基于VSTO技术的Office计时器插件的设计与实现
73、基于分布式结构的医学影像归档和通信系统设计
74、一种基于移动手机的大学生体质测试软件设计
75、移动APP在数字器检中的应用及意义
76、电子护理文书质控管理平台建设
77、基于手机客户端APP的移动学习资源开发研究
78、刍议软件无形性对计算机科学和软件工程教育的影响
79、电气技术人员提高PLC编程能力的思考
80、基于移动化、云化的轨道交通工程建设管理信息化架构设计
81、基于iOS的个人健康管理系统客户端的开发
82、预防性维护管理与设备管理系统的集成性分析
83、试论软件工程保护中软件防篡改技术
84、基于TCSP的实时并发系统测试方法
85、MapWindowGIS插件机制及应用
86、基于Android的手机助手设计的研究
87、档案自动化管理系统
88、基于LabVIEW技术的宏观观测动物信息管理系统研究
89、特种设备作业人员动态管理系统设计
90、基于时间索引的0-N数据结构在序列模式挖掘算法中的应用
91、基于Linux的USB摄像头驱动程序的实现
92、基于Android系统的主变差动保护装置调试软件研究及应用
93、环境保障信息传输与控制中间件研制综述
94、三维模型与属性数据同步的批处理方法研究
95、权限管理在成绩管理系统中的设计与实现
96、基于移动物联的安全生产数据服务云平台的设计与实现
97、单链表辅助教学系统的设计与实现
98、软件开发质量管理研究
99、影楼后期物件管理系统设计
100、一种基于三角形非结构化网格SIMPLE算法的程序设计
101、城市突发公共事件应急管理平台研究
102、河北省气象灾害预警应急服务系统
103、智能气象站气象要素数据测试软件设计
104、一种杀毒软件升级流程的安全性分析方法
105、基于IMS的气象信息传输智能语音通知系统设计与实现
106、电子商务平台的设计
107、计算机程序设计课程中计算思维的培养
108、基于Agent的微信平台自适应负载均衡算法
109、高等学校移动信息化建设的研究
110、软件构造课程设计及其课程群
摘要:本文介绍了BLP、DTE和RBAC三种安全策略访问模型,并结合这三种安全策略模型,形成一个适应各类安全产品的实用操作系统。此设计方案遵循GB17859-1999[1]中规定的结构化保护级(相当于《TCSEC》标准的B2级[2])的安全要求进行设计,并在Linux操作系统上得以实现。 关键字:安全技术;安全模型;Linux操作系统中图分类号:TP309 文献标识码:② 文章编号:1. 引言随着社会信息化的发展,计算机安全问题日益严重,建立安全防范体系的需求越来越强烈。操作系统是整个计算机信息系统的核心,操作系统安全是整个安全防范体系的基础,同时也是信息安全的重要内容。本课题将通过研究操作系统的安全策略访问模型,结合国内、外的相关安全标准和已有的先进技术,将密码服务与高级别存取控制机制有机地结合起来,探索适合国情的安全操作系统结构,最终形成一个适应各类安全产品系统安全需求的结构化保护级(相当于TCSEC中规定的B2级)实用操作系统。并且通过推动安全操作系统的应用,取得良好的经济效益和社会效益。2. 安全模型该类模型是从安全策略和访问控制的角度描述安全系统,主要针对系统中主体对客体的访问及其安全控制。[3] 多级安全及自主访问策略模型多级安全及自主访问策略模型的每个主体在替代用户之前,必须被配置最大安全级及标签范围;除某些可信客体外,每一个客体都要配置标签范围。Bell&Lapadula(BLP)模型[4,5]是最典型的信息保密性多级安全模型,包括强制访问控制和自主访问控制两部分。强制访问控制中的安全特性,要求对给定安全级别的主体,仅被允许对同一安全级别和较低安全级别上的客体进行“读”,对给定安全级别上的主体,仅被允许向相同安全级别或较高安全级别上的客体进行“写”,任意访问控制允许用户自行定义是否让个人或组织存取数据。 多域安全策略模型多域策略的基本思想是:赋予保护对象一种抽象的数据类型,该类型表明了保护对象要保护的完整性属性,然后规定只有经授权的主动进程能替代用户访问这一完整性属性,并限制该主动进程的活动范围,使其获得它应该完成目标以外的能力极小化。DTE (Domain and Type Enforcement)模型[6]是近年来被较多的作为实现信息完整性保护的模型。该模型定义了多个域(Domain)和型(Type),并将系统中的主体分配到不同的域中,不同的客体分配到不同的型中,通过定义不同的域对不同的型的访问权限,以及主体在不同的域中进行转换的规则来达到保护信息完整性的目的。 基于角色的访问控制模型基于角色的访问控制模型的目的就是通过域隔离,确保对系统的完整性破坏的极小化。RBAC模型[6]是基于角色的访问控制模型。该模型主要用于管理特权,在基于权能的访问控制中实现职责隔离及极小特权原理。其基本要素之间的关系如图1所示:图1 RBAC基本要素关系 the relationship of basic elements in RBAC在本系统中,将实现基于角色的授权和控制,支持角色互斥,不支持角色的继承,不支持同一个用户的多个角色。3. 安全系统的设计 安全模型的设计本系统中的安全服务器将遵循改进的BLP模型、DTE模型以及RBAC模型来实现系统的安全策略。其中,BLP模型保护信息的机密性;DTE模型保护信息的完整性;RBAC模型是授权模型。通过三种模型的相互作用和制约,保证系统中的信息以及系统自身的安全性。图2为本系统中三种模型以及重要功能的相互关系。图2 模型间的相互关系 the relationship of models如图2所示,授权策略RBAC是整个系统的基础,它通过为用户设置特定角色,影响IA控制、特权控制、多域访问控制和强制访问控制等基本功能,达到控制系统中用户/主体对客体/对象的访问目的。在本系统中,每个用户都有且只有一个角色。为某个用户给定一个角色,相当于给定该用户的最大特权集、安全标记范围、DTE域范围和最小审计掩码。该用户的上述属性只能够在给定角色的范围内指定。RBAC是通过最小特权、强制访问控制(包括MAC机密性保护和DTE完整性保护)和安全审计等功能组合实现的。而多域策略DTE和多级安全策略BLP则是在授权策略授权的基础上,调用多域访问控制和强制访问控制功能,实现对客体/对象信息的完整性和机密性保护。本系统在BLP模型的基础上进行了一些改动:1. 对BLP模型“上写下读”的信息流规则进行了限制,将其中的“上写”改为:低安全等级的主体可以创建高安全等级的客体或向高安全等级的客体中添加信息,但是不能修改或删除高安全等级客体中的原有信息。例如,低安全等级的主体可以在高安全等级目录下(在通过了DAC和DTE检查的情况下)创建新的文件(包括子目录、命名管道等),但是不能删除原有的文件(包括子目录、命名管道等),也不能改写高安全等级文件的内容;2. 引入可信主体的概念,即:所谓可信主体,就是拥有多个安全级或一个安全级范围的主体;3. 引入可信客体的概念,即:所谓可信客体,就是拥有多个安全级或一个安全级范围的客体。本系统中DTE实现采用为主体/客体指定域/型标识(统称为DTE标识)的方法,DTE策略将通过为主体赋“域”(Domain),为客体赋“型”(Type),并定义“域”和“型”之间的访问权限实现DTE完整性保护,并采用DTEL(DTE Language)语言进行描述,通过命令设置到系统核心。核心中将为每个主体维护一个“域”标记,为每个文件维护一个“型”标记。当操作发生时,系统将根据主体“域”标记、文件“型”标记以及访问控制表判断是否允许操作发生。原则上,构造一个安全系统必须同时兼顾用户应用系统、O/S服务系统、Linux 内核、硬件这四个子系统,使它们都获得有效的保护;但本系统主要关心用户应用系统和Linux 内核系统,因为它们与Linux 系统安全联系最直接。构筑安全Linux 系统的最终目标就是支持各种安全应用,如果系统在构造之初就没有区别地对待不同的应用,或者说不采取隔离的方式对待不同的应用,那么这样的系统是不实用的,因为不同的应用对系统安全可能造成的威胁是不同的。对用户应用系统的控制,我们主要采用角色模型与DTE技术的结合;而对Linux 内核的控制,则通过权能访问控制、增强的BLP模型及DTE策略来实现。 安全系统的结构设计图3 Linux 结构化保护级安全服务器系统结构图 the structure chart of Linux structure protection security server 图3说明了本系统的体系结构。如图3,用户请求的系统操作进入核心后,首先经过安全策略执行点,调用相应的安全策略执行模块,安全策略执行模块读取相关的系统安全信息和主/客体安全属性,并调用安全策略判定模块进行安全判定,决定是否允许用户请求的操作继续执行;当用户请求的系统操作得到允许并执行结束后,再次通过安全策略执行点,进行相关安全信息/属性的设置和安全审计。安全服务器中的功能模块与原有的系统操作是相对独立的,双方通过hook函数进行联系。通过改变hook函数的指向,可以启用不同的安全服务器。不同的安全服务器可以选择不同的安全策略,从而达到支持多安全策略的目的。 安全系统的功能特性安全系统在原有Linux操作系统基础上,新增了的强制访问控制、最小特权管理、可信路径、隐通道分析和加密卡支持等功能组成,系统的主要功能如下:1. 标识与鉴别标识与鉴别功能用于保证只有合法的用户才能存取系统资源。本系统的标识与鉴别部分包括角色管理、用户管理和用户身份鉴别等三个部分: 角色管理是实现RBAC模型的重要部分,将角色配置文件存放在/etc/security/role文件中,角色管理就是对角色配置文件的维护。 用户管理就是对用户属性文件的维护,是在系统原有用户管理的基础上修改和扩充而来;本系统改变了原有系统集中存放用户属性的方式,在/etc/security/ia目录下为每个用户创建一个属性文件。 用户身份鉴别过程就是控制用户与系统建立会话的过程;本系统将修改原有系统的pam模块和建立会话的程序,增加对管理员用户的强身份鉴别(使用加密卡),增加为用户设置初始安全属性(特权集、安全标记、域、审计掩码)的功能。2. 自主访问控制(DAC)用于进行按用户意愿的存取控制。使用DAC,用户可以说明其资源允许系统中哪个(些)用户使用何种权限进行共享。本系统在自主访问控制中加入ACL机制。利用ACL,用户能够有选择地授予其他用户某些存取权限,来对信息进行保护,防止信息被非法提取。3. 强制访问控制(MAC)提供基于数据保密性的资源存取控制方法。MAC是多级安全及自主访问策略的具体应用,通过限制一个用户只能在低级别上读访问信息、只能在自身的级别上写访问信息,来加强对资源的控制能力,从而提供了比DAC更严格的访问约束。4. 安全审计审计是模拟社会监督机制而引入到计算机系统中,用于监视并记录系统活动的一种机制。审计机制的主要目标是检测和判定对系统的渗透,识别操作并记录进程安全级活动的情况。本系统中的审计事件分为可信事件与系统调用。系统对每个用户审计的内容不同,需要设置系统的审计事件掩码和用户的审计事件掩码。在形成审计记录时,核心将根据审计掩码进行选择。5. 客体重用客体重用是指TSF必须确保受保护资源内的任何信息,在资源被重用时不会被泄露。客体重用功能可以防止重要的客体介质在重新分配给其他主体的时候产生信息泄漏。在本系统中,出于系统效率和可靠性的考虑,只实现对核心重要数据结构剩余信息的自动清除和文件内容的人工清除。6. 最小特权管理根据《TESCE》B2级中提出的最小特权原理,系统中的每个进程只应具有完成其任务和功能所需要的最小特权。因此,在本系统中开发了一种灵活的特权管理机制,把超级用户的特权划分成一组细粒度特权的集合,通过对系统中用户和进程特权的赋值、继承和传递的控制,将其中的部分特权赋给系统中的某个用户,从而使系统中的普通用户也能具有部分特权来操作和管理系统。7. 可信路径可信路径要求为用户提供与系统交互的可信通道。可信路径的实现方法是通过核心对安全注意键的监控,并退出当前终端下的所有应用程序,启动新的可信登陆程序。根据《TESEC》B2级对可信通路的要求,在本系统中开发了可信通路机制,以防止特洛伊木马等欺诈行为的发生。用户无论在系统的什么状态下,只要激活一个安全注意键(一般设置为Ctrl-Alt-A),就可以进入一个安全的登录界面。另外,本系统还采用了管理员用户的强身份认证和建立加密通道等技术,也可以保证用户与系统间交互的安全性。8. 隐蔽通道分析我国《计算机信息系统安全保护等级划分准则》[1]要求第四级及以上级别安全信息系统产品必须分析与处理隐蔽通道。本系统掩蔽通道分析将基于源代码,采用下列方法进行:分析所有操作,列出操作及其涉及的共享资源(客体属性) 列出操作与共享资源的关系图 找出所有可能的存储隐蔽通道 分析、标识每个存储隐蔽通道,并给出带宽9. 加密卡支持 本系统基于国产密码硬件资源,实现的密码服务主要包括三个方面:文件存储加解密:在命令层为用户提供一套SHELL命令,实现文件的机密性、完整性保护,同时提供一套接口库函数,供用户编程使用。特权用户强身份认证:结合RBAC、DTE策略,对特权(角色)用户实施强身份认证。数据传输加解密:在核心提供一套函数接口,用于实现数据的机密性和完整性。4. 结论本方案通过对Linux核心结构和操作系统域外层安全体系的层次结构的研究,遵循国内、外的相关安全标准,将三种安全策略模型和已有的先进技术有机地结合起来,增加了强制访问控制、最小特权、可信路径等安全功能,成功的在Linux操作系统上得已实现,基本达到了GB17859-1999中规定的结构化保护级(相当于《TCSEC》标准的B2级)的要求。操作系统安全增强技术作为信息安全的关键部分,得到了国内、外的普遍重视。在安全领域,系统的安全性总是相对的。因此,对安全模型的研究和建模以及信息安全系统体系和方案设计的研究还有待进一步的深入。本设计方案已经在Linux操作系统上得到具体的实现,还有待于在实际应用中对安全操作系统进一步的考验和完善。 参考文献[1] GB17859-1999, 计算机信息系统安全保护等级划分准则[S].[2] DoD 5200. 28-STD, Department of Defense Trusted Computer System Evaluation Criteria[S]. Department of Defense, Washington,DC, 1985.[3] 石文昌, 孙玉芳. 计算机安全标准演化与安全产品发展[J]. 广西科学, 2001, 8 (3): 168-171.[4] BELL D E, LaPADULA L J. Secure computer system: mathematical foundation and model[R]. Bedford MA: Mitre Corp, 1973. M74-244.[5] 石文昌, 孙玉芳, 梁洪亮. 经典BLP安全公理的一种适应性标记实施方法及其正确性[J]. 计算机研究与发展, 2001,11 (38): 1366~1371[6] 季庆光,唐柳英.《结构化保护级》安全操作系统安全策略模型[R]. 北京:中科院信息安全技术工程研究中心,中软网络技术股份有限公司, Research and Design of Security Model LI Fang, HU Zhi-xing(Information Engineering Institute, University of Science and Technology Beijing, Beijing 100083, China)Abstract: After study of BLP model, DTE model and RBAC model, and combination of the three security models, an implementation scheme of security system and its components and functions is provided, which achieves the structure protection of GB17859 (as the level B2 of TCSEC standard). The scheme is implemented on Linux operating system successfully. Key words: security techniques; security model; Linux operating system
提供一些计算机信息管理的毕业论文题目,供参考。1.网络监控系统的设计说明:主要目的是帮助用户监控公司内部人员的各种网络操作,及时发现内部人员的违规行为.防止滥用网络资源,及切断内部人员的违规访问连接,尤其防止公司内部资料泄密. 要求:熟悉C++或者JAVA;熟悉TCP/IP和Socket编程;2.基于Web服务的应用程序设计说明:通过学习面向服务的Web服务体系结构,采用多种开发工具,实现Web服务应用程序设计. 要求:熟悉Web服务编程思想和Web服务协议栈;熟悉分布式计算系统;熟悉Web服务器;熟悉Java和VB;熟悉Linux;熟悉数据库应用系统开发;3.在线就业招聘系统的设计与实现说明:系统支持Web客户端提交双方信息,并分别从本人信息库和用人单位信息库查寻和选择.要求个人对信息和用人单位信息进行验证.使得个人,用人单位协议的签署可以在网上完成.要求:ASP(或PHP,JSP),SQLSERVER(ORACLE),Dreamweaver,html,JAVAScript,Delphi以及组件技术等.4.教师教学质量评价系统说明:研究基于C/S模式的教学质量评价系统.包括数据录入,查询,密码设定,统计,打印等基本功能.要求:熟悉数据库,Delphis/VB/C++ Builder等.5.超市在线交易系统说明:通过Internet网络,实现:顾客在网上购买商品;与供货商的联系和交易;职员上网获取信息要求:数据库,ASP/Java/Perl任选其一6.超市管理系统说明:通过LAN,实现:超市的商品进/销/存管理;超市的职员及其他管理要求:数据库,VB/Delphi/VC任选其一7.计算机多媒体辅助教学网站开发要求:使用FrontPage,Dreamweaver,Flash,FireWorks/Photoshop ,ASP/PHP/JSP, Java,HTML/DHTML/XML等工具进行计科系多媒体辅助教学网站的开发.8.试题采编系统要求:B/S模式;实现各种科目的试题采编,存储在相应的试题库中. 环境:WEB服务器,数据库系统(Access或SQL Sever);网页设计软件 (ASP/PHP/JSP)9.试题卷生成系统要求:在B/S模式下计算机自动生成试题卷,并具有试卷审核功能. 环境:WEB服务器,数据库系统(Access或SQL Sever);网页设计软件 (ASP/PHP/JSP)10.在线考试及考试评测系统要求:在B/S模式下根据试题卷生成系统生成的试卷进行在线考核,并进行实时评测 环境:WEB服务器,数据库系统(Access或SQL Sever);网页设计软件 (ASP/PHP/JSP)11.稿件投稿及审阅系统要求:研究基于互联网B/S模式的稿件投稿及审阅系统.此系统包括作者投稿,编辑,审稿,查询等子系统.程序设计语言及工具:以及组件技术.12.毕业设计学生选题系统主要内容:研究基于互联网B/S模式的毕业设计学生选题系统.此系统包括系统维护子系统,教师管理子系统,学生选题子系统.需要完成从毕业设计题目及相关教师的输入,学生选题,选题调整以及最终任务确定等多个方面.程序设计语言及工具:(或PHP,JSP),SQLSERVER(ORACLE),Dreamweaver,html,JAVAScript,Delphi组件技术等.13.通用考试系统平台研究主要内容:研究基于互联网B/S模式的通用考试系统平台研究.此系统包括题库建设,出题系统,考试系统,阅卷系统考务管理等多个子系统,主要完成组卷方案设定,组题生成,考务管理等多个基本模块.程序设计语言及工具:(或PHP,JSP),SQLSERVER(ORACLE),Dreamweaver,html,JAVAScript,Delphi以及组件技术.14.房产信息管理系统要求: 基于B/S模式,通过Internet网查询房屋中介公司提供的各类信息.包括:商品房查询,二手房查询,房屋预售面积查询,系统维护等模块.建议开发环境:数据库系统(Access或SQL Sever);网页设计软件 (ASP/PHP/JSP)15.医院信息管理系统要求:1.功能:药房,库房管理收费,住院管理值班管理,统计功能2.开发要求:工作环境:WINDOWS 2000 SQL SERVER 2000 开发工具:自选(如:VB,VC,C++ BUILDER等)16.邮件作业批改,管理系统要求:1.功能:接收作业邮件自动匹配归档发送批改信息统计作业上交情况2.开发要求:工作环境:WINDOWS 2000 SQL SERVER 2000 开发工具:自选(如:VB,VC,C++ BUILDER等)17.基于WEB的高校学生选课系统要求:1.功能:教师,学生,课程信息管理教学计划管理选课管理2.开发要求:工作环境:WINDOWS 2000 SQL SERVER 2000 开发工具:自选(如:VB,VC,C++ BUILDER,ASP等)18.基于内容过滤的Email收发程序要求: 垃圾邮件是全世界的公敌.简单的源地址检查过滤方法已不适应越来越猖狂的网络垃圾.只有经过对内容分析后的处理才是最安全可靠的.这里需要我们设计的是一个简单的Email收发程序,希望在一定程度上可以防止垃圾邮件收发.任务要求:(1)了解Email应用协议;(2)一定的人工智能基础;(3)开发工具不限;(客户关系管理)系统要求:CRM是企业拉近客户关系,有效提升管理水平,充分挖掘客户潜在的消费能力的应用软件.它是目前许多企业都需要的一种管理工具.任务要求:(1)数据库知识;(2)Dephi编程;(3)Winsock编程;20.基于多层的软件体系设计分布式学籍管理系统.内容:建立基于应用服务器的分布式多层软件体系和构造分布式数据库,结合本校学籍管理基本要求,并设计该分布式学籍管理系统.系统要求:c++Builder + Oracle9i(其他)/J2EE+ Oracle9i(其他)21.教材管理系统设计根据本校教材管理的具体要求,使用c++Builder 设计该系统.系统要求:c++Builder + Oracle9i(其他)/其他的开发环境.22.通用期刊稿件处理系统(网络,数据库)开发模式B/S:前台HTML/ASP/XML/JSP后台SQLSERVER2000主要功能:电子投稿,网络审稿稿件查询,服务介绍文章检索,主题推荐信息发布,刊用公告23.网上购物系统 主要内容:研究基于互联网上B/S模式的物品销售系统.此系统能管理商品信息,网上商品订购和发送等.程序设计语言及工具:ASP(或PHP,JSP),SQLSERVER(ORACLE),Dreamweaver,html,JAVAScript,Delphi组件技术等.24.人事工资管理系统要求:系统开发采用C/S模式,后台数据库系统采用SQL Server ,操作系统采用Windows NT / 2000,开发工具采用Delphi.描述:人事工资管理系统的主要应用对象是各个企,事业单位.人事工资管理系统包括:人事管理,工资管理,辅助功能及系统维护.25.基于Internet技术的图书销售系统开发主要内容:本系统主要包括用户子系统和管理员子系统.在用户子系统完成用户注册与登陆,图书查询与订购,定单查询以及用户留言等功能.在管理员子系统完成图书管理,用户管理,销售管理和用户留言处理等功能.要求:熟悉ASP+SQL SERVER2000编程
一.现今操作系统简介二.操作系统的现状(特点原理之类)三.操作系统中存在的问题四.你个人对操作系统的看法(建议)
对系统的移植和裁剪,以达到所需的系统要求以PowerPC8xx系列处理器为例,通过对此类处理器的引导模式。引导代码的编写和调试,以及如何引导操作系统执行等问题的研究,探索嵌入式系统引导过程的一种解决方案。关键词:MPC860嵌入式操作系统存储映射引导嵌入式系统应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计。操作系统以及上层应用开发综合考虑;而PC机应用开发建立在已经定制好的硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成相应的功能。由于应用和成本约束,嵌入式系统的硬件平台需根据应用量身定制,通常所用的MPU.存储器。外围设备等有多种选择余地,而且软件调试技术特殊,使平台的引导设计变得十分复杂。因此,对于嵌入式系统开发者而言,有必要深入分析系统引导过程,将软硬件开发有效地综合,即针对不同的硬件平台和软件运行模式,正确地进行底层上电初始化,进而引导操作系统执行。这个问题的核心在于对系统的引导模式的研究。嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级。片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟。中断控制寄存器等,完成内存映射。初始化MMU等;第二部分是装载程序,其功能是将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中,并跳转到相应的代码处继续执行。操作系统执行环境的初始化代码主要由硬件抽象层HAL代码。设备驱动程序初始化代码和操作系统执行体初始代码三部分构成。本文以摩托罗拉MPC860处理器和具有自主知识产权的操作系统CRTOSII为例,研究嵌入式系统引导程序的设计和实现技术。嵌入式软件的开发涉及调试模式和固化模式两种运行状态。调试模式主要解决如何在目标板上调试正确性未经验证的程序的问题;而固化模式主要解决如何引导已调试成功的程序的问题。相应地,引导代码的设计应针对两种模式分别进行。1调试模式的系统引导1.1调试模式引导代码的作用1调试模式的系统引导1.1调试模式引导代码的作用一个完整的嵌入式软件的解决方案大致包括四方面:①硬件平台配置初始化和系统引导代码;②操作系统软件执行环境的初始化代码;③操作系统;④应用程序。在上述四方面中,引导代码是本研究中力求解决的问题。事实上,板级初始化。操作系统硬件抽象层。设备驱动程序三者整合到一起,就构成了嵌入式系统中BSP(板级支持包)的主体。BSP的代码与具体的目标板硬件设计相关,同时也与应用程序的设计要求相关,针对应用程序提出的不同要求,例如不同设备驱动程序。不同的中断源个数。不同的中断优先级安排。是否启用MMU机制等,BSP部分应作出相应的安排。上述第四部分的应用程序是建立在前三部分正确运行的基础上,并需反复调试。由上述分析可知,BSP和应用程序代码的正确性通过一次的编写不能得到保证,需要经历“调试——修改——调试”反复的过程,因此需要建立一个可靠的调试环境。该环境建立的基础正是调模式下的引导代码。1.2引导代码的调试方法本研究实验采用一种称作BDM(Background Debug Mode)的OCD(On Chip Debuging)调试技术。BMD是由Motorola公司提供的一种硬件调试方法,类似于JTAG调试。它利用处理器提供的调试端口调试。MPC860采用一种特殊的BDM——EPBDM,其运作相当于用处理器内嵌的调试模块接管中断及异常处理,用户通过设置调试许可寄存器(debug enable register)指定哪些中断或异常发生后处理器直接进入调试状态,而不是操作系统的处理程序。进入调试状态后,内嵌调试模块向外部调试通信接口发出信号,通知一直在通信接口监听的主机调试器,然后调试器便可通过调试模块使处理器执行系统指令(相当于特权态)。由于专用的片级调试接口装置(BDI2000)的支持,不需要目标端配备相应的调试代理(Monitor)软件。1.3调试模式引导代码实现调试模式引导代码的核心在于使用BDM协议解析微指令,通过调试接口向MPC860发送信号,初始化调试环境。由于MPC860采用RISC结构,所以初始化部分主要是设置处理器内部寄存器,这个过程包括三方面内容:(1)对处理器相关寄存器进行初始化:主要是关于处理器状态的寄存器(等),中断。时钟相关模块(等)。(2)对BDM调试端口的初始化:包括调试使能寄存器DER.支持指令断点的寄存器ICTRL等。(3)对片级。板级内存映射的初始化:包括内部内存映射寄存器IMMR,内存控制相关寄存器OR0~~BR7等。它们主要功能是地址映射。片选信号选择。内存控制器选择()。如果选择UPM,由于UPM控制采用微指令方式,而这些微指令根据内存的不同(等),需要设计人员自行编写代码写入MPC860内部存储区相应位置。对于需要实时刷新的存储体(如SDRAM),还需设置刷新控制微指令。上述初始化代码得以执行,一方面依赖于目标机MPC860提供的调试接口支持,另一方面也需要宿主机GDB的支持。对于宿主机系统,可能选择Linux,在其下配置GBD;也可以选择Windows2000,使用可视化的调试工具LambdaTools GDB(Coretek公司产品,不支持硬件断点),或者使用BDI2000(支持硬件断点的仿真器)。不管使用哪种调试工具,都可以使用该调试器能够识别的脚本文伯存放初始化指令。这些脚本在功能上是等效的,指令的描述一般都采用如下格式:操作码寄存器数值如在嵌入式Linux下SDRAM初始化的代码片断为:mpcbdm spr MDR=0x1FF77C35mpcbdm spr MDR=0xEFEABC34mpcbdm spr MDR=0x1FB57C35……而在Windows2000下使用BDI2000代码为:WUPM 0x00000005 0x1FF77C35WUPM 0x00000006 0xEFEABC34WUPM 0x00000007 0x1FB57C35……脚本描述的指令执行后,MPC860按照预先的设想进入一个可以正常工作的状态,可以用装载器将程序下载到SDRAM中调试执行。这个程序主要包含中断表。操作系统和应用程序映象两部分,其格式可以为等。图1给出了下载完毕后的内存映象。当程序下载完成后,PC指针指向Image代码段(text段)的首条指令,可以利用调试器提供的命令开始调试。2固化模式的系统引导2.1概述经过调试后,OS和上层应用程序构成的Image的正确性得到了保证,但是这个Image不能自主运行。因为调试模式下,是通过BDM接口初始化处理器,并且通过BDM接口将程序下载到RAM中去运行。实际应用环境中,Image必须被存储在非易失性存储器中,如等,本文选择Flash。系统启动时,处理器执行一段引导程序替代调试模式下的调试脚本和装载程序的功能。启动代码主要考虑以下几个问题:(1)系统上电和复位时程序如何执行,需要初始化哪些寄存器,重点仍然是内存映射相关部分;(2)启动代码为几部分,每部分代码应该全部还是部分放到Flash或者RAM中执行;(3)在时间效率和空间效率的折衷。2.2上电初始化在两种引导模式下,上电初始化总是必要步骤。它涉及各种核心寄存器初始化。地址映射等问题的处理。2.2.1地址映射MPC860的复位是通过一种异常中断来处理的(可理解为CPU自己产生的中断),向量号为0x100。异常向量表的基地址加上复位向量号即为复位向量,也就是CPU开始执行指令的地方。异常向量表在内存空间的可能位置有两个:0x0000000和0xFFF00000。所以PowerPC的复位向量为0x100或0xFFF00100。假设复位向量为0xFFF00100,系统有128K字节的Flash,并准备把它映射到CPU内存空间0xFE000000开始的地址。MPC860内部的CS0片选信号是默认的系统启动片选信号,已被连接到Flash的片选线上。上电时,内存控制器会忽略所有参与征选逻辑的地址线的高17位,CS0总是有效。这样,Flash总会被选中,CPU从Flash偏移0x100的地方取指令,此时CPU的4GB内存空间的每个128KB的块都被映射到Flash。2.2.2寄存器初始化固化方式下的大致相同,但是不再采用脚本文件编写,而是直接将一段MPC860汇编程序存放在一个文件中。与调试模式初始化程序一样,主要完成以下处理:(1)初始化CPU核心寄存器;(2)设置机器状态寄存器;(3)禁止ceche;(4)初始化IMMR;(5)初始化系统接口单元(SIU);(6)初始化时钟和中断控制寄存器;(7)初始化通信处理机(CPM);(8)初始化内存控制器(UPM);(9)初始化C语言堆栈。2.2.3地址空间重映射上电时,由于只有一个片选信号有效,它选通了Flash,而RAM和其它存储设备地址无效,需要经过地址空间重映射才能访问。MPC860的地址空间重映射是通过设置0R0~~BR7这十六个寄存器完成的。由于上电时4GB的地址空间均被Flash占用,所以0xFFF00100这个地址仍在Flash的偏移0x100处。在寄存器初始化过程中,需要把内部寄存器空间以及外设等也映射进来。在进行这些操作前,需要把Flash的位置固定下来,例如映射到0xFE000000,这个操作是通过设置OR0和BR0寄存器实现的。但在写OR0时,CPU仍然在0xFFF00000的那一块取指令,而Flash即将被映射到0xFE000000块,所以程序必定出现“跑飞”的现象,必须对程序计数器(PC)进行调整,然而PC指针对程序员是不可见的,必须用跳转指令修改它。在Flash地址映射完成后,通过设置OR1~~BR7可以完成对所有存储器空间的映射,各种存储设备可映射在CPU地址空间中的任意位置,但相互之间不能冲突。2.3引导代码的构成和运行系统启动所涉及的代码由寄存器初始化汇编文件.一个Load程序以及操作系统与应用程序的Image三部分构成,引导代码则只包含和Load程序。Load程序的作用是将操作系统与应用程序的构成的Image从Flash拷贝到SDRAM中,并跳转到Image的首条指令。调试完成后的Image有两种运行模式:Flash-resident image:Load程序仅仅把Image中的数据段(data+bss)复制到RAM中,代码段(text)在Flash中直接运行。Flash-based image:Load程序把Image完全搬到RAM中执行,包括image中的代码段(text)和数据段(data+bss)。图2和图3分别描述了两种Image的存贮映象,以及从Flash到SDRAM的装载过程。2.4时间效率和空间效率上的折衷在嵌入式系统的应用过程中,针对不同的应用环境,对时间效率和空间效率有不同的要求,基于MPC860的启动代码对此有比较充分的解决方案。2.4.1时间限制时间限制主要包括两种情况:系统要求快速启动和系统启动后要求程序高速执行。对于要求快速启动的系统,应该使在Flash中执行的初始化程序尽量简短,诸如循环语句之类的语法应该尽量减少,尽快将程序装载到RAM中执行,这样做的原因在于Flash的访存时间与RAM的访存时间存在数量级上的差距。但是必须根据代码量以及存储器的特片进行权衡。因为,虽然RAM中捃速度快,但是将Flash中的代码复制到RAM中的操作会带来一定的开销。由于可见,启动时间由Flash中引导代码的运行时间。代码从Flash拷贝到RAM的时间以及RAM中后续启动代码的运行时间三部分组成。启动时间的最小值是这三者和的最小值。对于启动后要求程序高速执行的系统,主要受处理器。存储器特性以及I/O速度等的影响。在软件方面,应该采用了上述Flash-based image方式,使得代码段在RAM中运行,提高运行速度。2.4.2空间限制空间限制主要包括两种情况:Flash等非易失性存储空间有限和RAM等易失性空间有限两种系统。对于采用高性能非易失性存储器的系统,出于成本因素,Flash等存储设备不能太大,然而它又是系统存放启动代码和操作系统Image的地方。在存放Image时,可以先使用gzip等压缩工具进行压缩,在将Image加载到RAM时采用逆向的解压缩算法解压。同时,出于实时性考虑,压缩算法不能过于复杂,否则压缩解压过程消耗大量时间将与启动时间限制发生严重冲突。采用压缩策略并不一定会增加系统启动时间,因为压缩解压过程虽然消息了一定的时间,但是由于Image体积减小,由Flash复制到RAM中的时间相应减少,有可能反而减少了时间消耗。对于采用高性能RAM的系统,同样出于成本因素,RAM空间有一定限制,此时一般采用前文描述的Flashresident image方式:Load程序把Image中的数据段复制到RAM中,代码段在Flash中运行。折衷同样存在,因为code段在低速的Flash中运行,在节省空间的同时,却牺牲了时间。本文介绍了基于嵌入式处理器的操作系统引导方法,重点研究嵌入式系统的引导模式以及不同类别的引导方法。以在MPC860C处理器上引导CRTOSII操作系统为例,阐述了调试模式和固化模式下引导代码的构成。作用以及执行方式,并对不同引导模式下的时空效率的折衷进行了分析。最终,借助BDI2000仿真器对编写的引导代码进行调试,成功实现了调试模式和固化模式下操作系统的引导。后续工作包括:继续研究在不同硬件平台上的操作系统引导方法,例如最流行的系列;在同一平台上,可以研究不同操作系统的启动方法,例如嵌入式等。
回答:pzhghs 学长 2月27日 01:42 把系统安装盘放进光驱,然后在打开“开始→运行”,输入 setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\,让系统重装一下IE。 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存 后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误 ,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊! 像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的 内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3.试用新版本的应用程序。
操作系统(Operating System,简称OS)传统上是负责对计算机硬件直接控制及管理的系统软件。操作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等。当多个程序同时运行时,操作系统负责规划以优化每个程序的处理时间。 一个操作系统可以在概念上分割成两部分:内核(Kernel)以及壳(shell)。一个壳程序包裹了与硬件直接交流的内核:硬件<->内核<->壳<->应用程序 在有些操作系统上内核与壳完全分开(例如Unix、Linux等),这样用户就可以在一个内核上使用不同的壳;而另一些的内核与壳关系紧密(例如Microsoft Windows),内核及壳只是操作层次上不同而已。 Windows 98是一个发行于1998年6月25日的混合16位/32位的图形操作系统。这个新的系统是基于Windows 95上编写的,它改良了硬件标准的支持,例如USB、MMX和AGP。其它特性包括对FAT32文件系统的支持、多显示器、Web TV的支持和整合到Windows图形用户界面的Internet Explorer,称为活动桌面(Active Desktop)。Windows 98 SE(第二版)发行于1999年6月10日。它包括了一系列的改进,例如Internet Explorer 5、Windows Netmeeting 3、Internet Connection Sharing和对DVD-ROM的支持。Windows 98被人批评为没有足够的革新。即使这样,它仍然是一个成功的产品。第二版被批评为不能在第一版的基础上自由升级。 Windows 98的最低系统需求:486DX/66MHz或更高的处理器,16MB的内存,更多的内存将改善性能;如果使用FAT16文件系统, 典型安装需250兆;因系统设置和选项不同, 所需空间范围在225兆到310兆之间;如果使用FAT32文件系统, 典型安装需245兆;因系统设置和选项不同, 所需空间范围在200兆到270兆之间;CD-ROM或DVD-ROM驱动器和VGA或更高分辨率的显示器,微软鼠标或兼容的指向设备。 Windows ME是一个32位图形操作系统,由微软公司发行于2000年9月14日。这个系统是在Windows 95和Windows 98的基础上开发的。它包括相关的小的改善,例如Internet Explorer 。其中最主要的改善是用于与流行的媒体播放软件RealPlayer竞争的Windows Media Player 7。但是Internet Explorer 和Windows Media Player 7都可以在网上免费下载。Movie Maker是这个系统中的一个新的组件。这个程序提供了基本的对视频的编辑和设计功能,对家庭用户来说是简单易学的。但是,最重要的修改是系统去除了DOS,而由系统恢复代替了。 在概念上,这是一个大的改进:拥护不再需要有神秘的DOS行命令的知识就可以维护和修复系统。实际上,去除了DOS功能对维护来说是一个障碍,而系统恢复功能也带来一些麻烦:性能显著的降低;它也被证明并不能有效的胜任一些通常的错误。由于系统每次都自动创建一个先前系统状态的备份,使得非专业人员很难实行一些急需的修改,甚至是删除一个不想要的程序或病毒。有观点认为这个系统只是Windows 98的升级版本,不应该独自成为一个版本。也有观点认为这是微软自版以后最差的第一个没有发行第二版的Windows。 Microsoft Windows 2000(起初称为WinNT )是一个由微软公司发行于2000年12月19日的32位图形商业性质的操作系统。Windows 2000有四个版本:Professional、Server、Advanced Server和Datacenter Server。另外,微软提供了Windows 2000 Advanced Server限定版,用于运行于英特尔Itanium 64位处理器上。所有版本的Windows 2000都有共同的一些新特征:NTFS5,新的NTFS文件系统;EFS,允许对磁盘上的所有文件进行加密;WDM,增强对硬件的支持。 Microsoft Windows 2000的最低系统要求:133 MHZ或更高主频的Pentium级兼容CPU,推荐最小内存为64MB,更多的内存通常可以改善系统响应性能[最多支持4GB内存],至少有1GB可用磁盘空间的2GB硬盘(如果通过网络进行安装,可能需要更多的可用磁盘空间),Windows 2000 Professional支持单CPU和双CPU系统。 Windows XP,或视窗XP是微软公司最新发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。微软最初发行了两个版本,家庭版(Home)和专业版(Professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。字母XP表示英文单词的“体验”(experience)。 在XP之前,微软有两个相互独立的操作系统系列,一个是以Windows 98和Windows ME为代表的面向桌面电脑的系列,另一个是以Windows 2000和Windows NT为代表的面向服务器市场的系列。Windows XP是微软把所有用户要求合成一个操作系统的尝试,而为此付出的代价是丧失了对基于DOS程序的支持。 Windows XP是基于Windows 2000代码的产品,同时拥有一个新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中一些看起来是从Linux的桌面环境(desktop environmen)诸如KDE中获得的灵感。带有用户图形的登陆界面就是一个例子。此外,Windows XP还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计指示增加了视觉上的混乱,因为它除了提供比其它操作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。 它包括了简化了的Windows 2000的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。 由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Pasport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的反竞争行为的持续。 另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(reference number)。在其它计算机上安装系统,或只是简单的更换一个硬件,例如网卡,都将产生一个新的与之前不同的参考序列号,造成用户必须重新输入安装序列号来激活Windows XP的麻烦。 Windows XP的最低系统要求:推荐计算机使用时钟频率为 300 MHz 或更高的处理器;至少需要 233 MHz (单个或双处理器系统);推荐使用Intel Pentium/Celeron 系列、AMD K6/Athlon/Duron 系列或兼容的处理器,推荐使用 128 MB RAM 或更高(最低支持64M,可能会影响性能和某些功能), GB可用硬盘空间,Super VGA (800x600) 或分辨率更高的视频适配器和监视器,CD-ROM或DVD驱动器,键盘和Microsoft 鼠标或兼容的指针设备。