Windows任务管理器设计与实现论文.docx
- 文档编号:29886662
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:37
- 大小:908.37KB
Windows任务管理器设计与实现论文.docx
《Windows任务管理器设计与实现论文.docx》由会员分享,可在线阅读,更多相关《Windows任务管理器设计与实现论文.docx(37页珍藏版)》请在冰豆网上搜索。
Windows任务管理器设计与实现论文
湖南软件职业学院
毕业设计(作业)
毕业选题
:
Windows任务管理器设计与实现
指导教师
:
郑治武
学生姓名
:
张程
院系名称
:
软件工程系
专业班级
:
软件技术.NET1302班
学生学号
:
201302050305
提交日期
:
2015年12月19日
摘要
据国外研究公司统计,在2008年全球个人计算机用户已经超过10亿,并预测在2010年全球个人计算机用户数量将超过13亿。
随着个人计算机走进千家万户,计算机操作系统中的任务管理器也被越来越多的用户所熟悉和使用。
任务管理器是在Windows系统中管理应用程序和进程的工具,通常由Windows操作系统自带,也有提供增强功能的第三方软件。
通过任务管理器用户可以方便的查看当前运行的程序、进程、用户、网络连接以及系统对内存和CPU的资源占用,并可以强制结束某些程序和进程,此外还可以监控系统资源的使用状况。
Windows任务管理器首次出现是在1998年美国微软公司发行的Windows98操作系统中,此后微软的各个版本的Windows操作系统都集成了任务管理器。
任务管理器并不是Windows系统的专利,它广泛运用于各种操作系统中,在苹果公司的MacOS操作系统中有类似的活动监视器(ActivityMonitor),在基于Linux的ubuntu操作系统有相类似功能的系统监视器。
Windows任务管理器提供了有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息;如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的。
它的用户界面提供了文件、选项、查看、窗口、关机、帮助等六大菜单项,其下还有应用程序、进程、性能、联网、用户等五个标签页。
课题设计就是模拟Windows任务管理器,开发的一个Windows进程管理软件。
主要设计的是一个基于窗体的C#程序,在主对话框上面放置了一个标签控件,并创建了应用程序、进程和性能三个页面,标签控件用于选择并显示页面。
三个页面分别用于显示当前运行的窗口程序、进程及进程模块、系统资源使用情况。
程序还实现了结束任务、等对进程管理的基本功能。
在的设计过程中,通过调用WindowsAPI函数而获得任务、进程、线程模块,以及系统资源使用情况等信息。
最后在Windows10系统上进行测试,实现了进程管理的基本功能。
关键词:
任务管理器;线程;进程;API
第一章引言
课题背景
随着计算机的广泛应用,很多的软件被安装在计算机上,使计算机运行的程序进程越来越多;很多的程序在运行时常出现异常(如不能正常结束、占用大量资源、发现异常的进程等)。
这些现象给我们的计算机使用及管理带来很多的不便。
为了给计算机上运行的程序进行很好的管理,现在出现了许多的进程管理工具软件。
课题设计的目的主要是为了检查综合运用以前所学知识(包括以前所学的一些关于计算机操作系统、进程、计算机安全、编程等知识)的能力,模拟一个Windows任务管理器。
对任务、进程进行查看、结束等操作。
国内外研究状况
从现状看来,Windows任务管理工具及其理论的研究,无论是国外还是国内,技术都相当成熟。
微软Windows操作系统系列(98和ME除外)都自带有任务管理器,但Windows8之前版本的任务管理器功能不是很完善,不能查看进程模块及线程信息,而之后的版本的Windows任务管理软件都具有完善的功能。
课题研究意义
研究任务管理器的功能并熟练的使用任务管理器可以方便的处理计算机日常使用中所遇到一些问题,对于更好的使用计算机操作系统从事办公、学习和娱乐也有现实的意义。
随着计算机技术的迅猛发展,计算机的运用给人们带来了很多便利,无论是学习,办公,还是商务。
一款好的系统管理软件能大大地提高计算机的使用和管理效率,进程管理器就能很好地对系统上运行的进程进行管理。
很多人都使用过进程管理器之类的软件,或者是Windows自带的任务管理器,它们都能够对进程进行管理。
课题设计选择开发一个进程管理器软件,能够使自己综合运用以前所学知识(包括操作系统、编程、系统安全等知识)的能力,同时也使自己了解当今软件编程的一些新的技术;既锻炼了自己的实际动手能力,又引导自己进行了一次模拟实际产品的开发,对于自己以后工作能力的培养具有重要的意义。
Windows的任务管理器只能显示系统中当前进行的进程,而ProcessExplorer可以树状方式显示出各个进程之间的关系,即某一进程启动了哪些其他的进程,还可以显示某个进程所调用的文件或文件夹,如果某个进程是Windows服务,则可以查看该进程所注册的所有服务。
其实,任务管理器除了终止任务、结束进程、查看性能外,它还可以完成很多更高级的特别任务。
课题的研究方法
本软件使用MicrosoftVisualStudio2010的开发环境,模拟Windows的任务管理器进行设计与开发。
因此,课题设计应首先分析进程管理器软件的相关功能;其次,综合运用以前所学的相关知识,广泛查阅资料(尤其是进程、线程及其相关知识),选择所熟悉的开发工具进行开发;同时,在开发设计与实现中,要保存好相关的设计文挡。
VisualStudio介绍
Dev-C++灵活又小巧,C++Builder开发效率高;TurboC是万人迷,VisualStudio的资格老。
可如今,江湖上只剩下最后一个大佬VisualStudio了,其他几位不是支。
持者渐少,不成气候,就是转投他人怀抱,中道衰落,让人难免生出几分遗憾。
但是反过来,我们又对VisualStudio这位“江湖最后的大佬”增添了几分敬仰之情。
据说这位老大又要出新的版本了,这些江湖八卦者,哪有错过的道理。
要想深入的了解一个人,需要从他的童年开始。
想了解VisualStudio,故事也就要从它的1.0开始。
VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
1992年4月,微软发布了革命性的操作系统Windows3.1,把个人计算机引进了真正的视窗时代。
微软在原有C++开发工具MicrosoftC/C++7.0的基础上,开创性地引进了MFC(MicrosoftFoundationClasses)库,完善了源代码,成为MicrosoftC/C++8.0,也就是VisualC++1.0,并于1992年发布。
VisualC++1.0是真正意义上的WindowsIDE,这也是VisualStudio的最初原型。
虽然以现在的眼光来看,这个界面非常简陋和粗糙,但是它脱离了DOS界面,让用户可以在图形化的界面下进行开发,把软件开发带入了可视化(Visual)开发的时代。
从此,大佬的时代开始了。
1997年,微软发布了VisualStudio97。
包含有面向Windows开发使用的VisualBasic5.0、VisualC++5.0,面向Java开发的VisualJ++和面向数据库开发的VisualFoxPro,还包含有创建DHTML(DynamicHTML)所需要的VisualInterDev。
其中,VisualBasic和VisualFoxPro使用单独的开发环境,其他的开发语言使用统一的开发环境。
1998年,微软公司发布了VisualStudio6.0。
所有开发语言的开发环境版本均升至6.0。
这也是VisualBasic最后一次发布,从下一个版本(7.0)开始,MicrosoftBasic进化成了一种新的面向对象的语言:
MicrosoftBasic.NET。
由于微软公司对于Sun公司Java语言扩充导致与Java虚拟机不兼容而被Sun告上法庭,微软在后续的VisualStudio中不再包括面向Java虚拟机的开发环境。
语言的开发环境版本均升至6.0。
这也是VisualBasic最后一次发布,从下一个版本(7.0)开始,MicrosoftBasic进化成了一种新的面向对象的语言:
MicrosoftBasic.NET2002。
由于微软公司对于Sun公司Java语言扩充导致与Java虚拟机不兼容被Sun告上法庭,微软在后续的VisualStudio中不再包括面向Java虚拟机的开发环境。
2002年,随着.NET口号的提出与WindowsXP/OfficeXP的发布,微软发布了VisualStudio.NET(内部版本号为7.0)。
在这个版本的VisualStudio中,微软剥离了VisualFoxPro作为一个单独的开发环境以VisualFoxPro7.0单独销售,同时取消了VisualInterDev。
与此同时,微软引入了建立在.NET框架上(版本1.0)的托管代码机制以及一门新的语言C#。
C#是一门建立在C++和Java基础上的现代语言,是编写.NET框架的语言。
.NET的通用语言框架机制(CommonLanguageRuntime,CLR),其目的是在同一个项目中支持不同的语言所开发的组件。
所有CLR支持的代码都会被解释成为CLR可执行的机器代码然后运行。
.NET控件是指以输入或操作数据的对象。
.NET控件是.NET平台下对数据和方法的封装。
有自己的属性和方法。
属性是控件数据的简单访问者。
方法则是控件的一些简单而可见的功能。
过去,开发人员将C/C++与Microsoft基础类(MFC)或应用程序快速开发(RAD)环境(如Microsoft®VisualBasic™)一起使用来创建这样的应用程序。
.NETFramework将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。
包含在.NETFramework中的Windows窗体类旨在用于GUI开发。
你可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。
VisualBasic、VisualC++都被扩展为支持托管代码机制的开发环境,且VisualBasic.NET更是从VisualBasic脱胎换骨,彻底支持面向对象的编程机制。
而VisualJ++也变为VisualJ#。
后者仅语法同Java相同,但是面向的不是Java虚拟机,而是.NETFramework。
2003年,微软对VisualStudio2002进行了部分修订,以VisualStudio2003的名义发布(内部版本号为7.1)。
Visio作为使用统一建模语言(UML)架构应用程序框架的程序被引入,同时被引入的还包括移动设备支持和企业模版。
.NET框架也升级到了1.1。
2005年,微软发布了VisualStudio2005。
.NET字眼从各种语言的名字中被抹去,但是这个版本的VisualStudio仍然还是面向.NET框架的(版本2.0)。
它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。
总体来说是一个非常庞大的软件,甚至包含代码测试功能。
这个版本的VisualStudio包含有众多版本,分别面向不同的开发角色。
同时还永久提供免费的VisualStudioExpress版本。
使用VisualStudio2005,专业开发人员能够:
创建满足关键性要求的多层次的智能客户端、Web、移动或基于MicrosoftOffice的应用程序。
使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境。
在统一的开发环境中,开发并调试多层次的服务器应用程序。
使用集成的可视化数据库设计和报告工具,创建SQLServer2005解决方案。
使用VisualStudioSDK创建可以扩展VisualStudioIDE的工具
Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,VisualStudio2005ProfessionalEdition和用于MicrosoftOffice系统的VisualStudio2005工具。
每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQLServer2005开发的工具,以及完整的、没有限制的开发环境。
每种产品都可以单独购买或打包定购。
专业开发人员喜欢自由的使用.NETFramework2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展VisualStudio集成开发环境的工具。
这个版本的VisualStudio包含有众多版本,分别面向不同的开发角色。
同时还永久提供免费的VisualStudioExpress版本。
2007年11月,微软发布了VisualStudio2008。
2010年4月12,微软发布了VisualStudio2010以及.NETFramework4.0。
2012年9月12日,微软在西雅图发布VisualStudio2012。
2013年11月13日,微软发布VisualStudio2013。
2014年11月,微软发布VisualStudio2015。
目前有五个版本:
专业版、高级版、旗舰版、学习版和测试版。
创新
VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。
VisualStudio2010同时带来了NETramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。
除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。
9个新功能VS2010它将会是个相当经典的版本,相当于当年的6.0版。
而且它可以自定义开始页;新功能还包括:
(1)C#4.0中的动态类型和动态编程;
(2)多显示器支持;
(3)使用VisualStudio2010的特性支持TDD;
(4)支持Office;
(5)QuickSearch特性;
(6)C++0x新特性;
(7)IDE增强;
(8)使用VisualC++2010创建Ribbon界面;
(9)新增基于.NET平台的语言F#;
根据微软发布的一份官方文档宣称,VisualStudioFramework4.0将在下面五个方面有所创新:
1.顺应新的技术潮流
每年,业界内的新技术和新趋势层出不穷。
通过VisualStudio2010,微软将为开发者提供合适的工具和框架,以支持软件开发中最新的架构,开发和部署。
2.让开发商惊喜
从VisualStudio的第一个版本开始,微软就将提高开发人员的工作效率和灵活性作为自己的目标。
VisualStudio2010将继续关注并且显著地改进开发者最核心的开发体验。
3.下一代平台浪潮的弄潮儿
微软将继续投资于市场领先的操作系统,工具软件和服务器平台,为客户创造更高的价值。
使用VisualStudio2010,将可以在新一代的应用平台上,为你的客户创造令人惊奇的解决方案。
4.跨部门应用
客户将在不同规模的组织内创建应用,跨度从单个部门到整个企业。
VisualStudio2010将确保在这么宽泛的范围内的应用开发都得到支持。
5.高效开发环境
MicrosoftVisualStudio2010采用拖曳式便能完成软件的开发。
简简单单的操作便可以实现一个界面的生成。
但拖曳的界面,也应当有相应的代码来实现功能。
MicrosoftVisualStudio2010支持C#、C++、VB。
可以快速实现以下相应的功能。
(1)可视增强功能
IDE已经过重新设计,提高了可读性。
为了减少代码杂乱,不必要的行和渐变都已被删除。
(2)支持多个监视器窗口
“代码编辑器”和“设计”视图窗口等文档窗口现在都可以放置在IDE窗口的外部。
例如,你可以将“代码编辑器”拖出IDE,以便可以将它与“设计”视图窗口并排查看。
(3)代码编辑器
新的代码编辑器使代码更容易阅读。
你可以通过在按住Ctrl的同时滚动鼠标滚轮来进行缩放。
此外,当你在VisualC#或VisualBasic中单击某个符号时,该符号的所有实例都将自动突出显示。
(4)键入时即开始搜索
新的“定位到”功能对文件、类型和成员提供“键入时即开始搜索”支持。
“定位到”使你能够利用Camel大小写格式和下划线来缩写搜索文本。
例如,可以使用“AOH”来搜索“AddOrderHeader”。
(5)调用层次结构
在VisualC#和VisualC++中,调用层次结构使你能够从一个成员定位到它的调用方成员以及它的被调用方成员。
在浏览面向对象的代码时,这十分有用。
(6)新的调试
重新设计的“线程”窗口提供筛选、调用堆栈搜索与展开以及分组功能。
此外,你现在可以组织和搜索断点并将它们与其他开发人员共享。
新的“并行堆栈”和“并行任务”窗口可帮助你直观显示并调试用C++、C#或VisualBasic编写的并行代码。
有关更多信息,请参见使用“并行堆栈”窗口和使用“并行任务”窗口。
(7)项目功能对应
IDE中的功能(如“添加引用”和“工具箱”)现在与项目的目标.NETFramework或Silverlight版本相对应。
因此,以早期.NETFramework版本为目标的程序集中的类型、成员和控件不会出现在IntelliSense中并产生后台编译错误。
例如,如果你的项目以.NETFramework2.0为目标,并且你使用.NETFramework2.0不支持的语言功能(如匿名类型),则IDE会将该代码标为错误。
(8)测试先行支持
在VisualBasic或VisualC#中,IDE现在可以在定义新的类型和成员之前,使用它们来生成代码存根。
因此,你可以先编写测试,然后再生成编译测试所需的代码。
此外,IntelliSense现在提供一种“建议模式”,能够避免IntelliSense自动完成尚未定义的类型或成员。
ApplicationLifecycleManagementVisualStudio的所有版本(学习版除外)现在均提供了ApplicationLifecycleManagement客户端应用程序。
ApplicationLifecycleManagement包括版本控制、工作项跟踪、生成自动化、团队门户网站、报告和业务智能、敏捷计划工作簿及测试用例管理,涵盖了对软件开发项目进行协作所需的所有方面。
ApplicationLifecycleManagement通过一个客户端访问许可证(CAL)包含在VisualStudio2010中。
可以根据需要购买额外的客户端访问许可证。
(9)代码生成
在VisualStudio的任何版本中都可以创建和使用文本模板,无需任何其他组件。
在引入了预处理文本模板的VisualStudio2010中,从应用程序生成任何类型的文本文件已变得更加容易。
还通过与生成系统的更好集成,改进了对代码集成的支持,从而使生成的源代码始终会在对源模型进行任何更改后保持更新。
(10)焕然一新的起始页
VisualStudio2010起始页具有新外观和新功能。
选项卡式内容区域可链接到各种选定和分类学习资源。
这包括MSDN资源、社区资源和可自定义的新闻源。
通过改进的“最近的项目”列表,只需单击鼠标便可在该列表中添加或移除项目。
还可以从扩展管理器安装自定义起始页。
扩展管理器。
通过在“工具”菜单上单击“扩展管理器”,可以从IDE查找和安装VisualStudio扩展。
扩展管理器可从VisualStudioGallery(VisualStudio库)网站下载和安装社区发布的扩展,无需你打开浏览器。
使用该管理器还可以卸载、禁用或重新启用已安装的扩展。
对话框。
VisualStudio2010中的“新建项目”对话框包含与扩展管理器相同的搜索和安装功能,只不过该对话框只搜索项目模板和项模板。
(11)新帮助查看器
针对VisualStudio2010完全重新设计了帮助查看器。
你可以使用首选的Web浏览器联机或脱机查看文档、根据需要下载最新文档、使用简化的目录导航文档、使用改进的全文搜索算法搜索特定内容,以及使用更加简化的F1系统查找特定于要处理的任务的内容。
特点
1.支持WindowsAzure,微软云计算架构迈入重要里程碑。
2.助力移动与嵌入式装置开发,三屏一云商机无限。
3.实践当前最热门的Agile/Scrum开发方法,强化团队竞争力。
4.升级的软件测试功能及工具,为软件质量严格把关。
5.搭配Windows7,Silverlight4与Office,发挥多核并行运算威力,
6.创建美感与效能并重的新一代软件。
7.支持最新C++标准,增强IDE,切实提高程序员开发效率。
进程与线程简介
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:
一个是操作系统用来管理进程的内核对象。
内核对象也是系统用来存放关于进程的统计信息的地方。
另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。
它还包含动态内存分配的空间。
如线程堆栈和堆分配空间。
进程是一个动态的执行过程,它动态地被创建,并被调度执行后消亡。
进程是资源分配的基本单位,也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。
系统中需要有描述进程存在和能够反应其变化的物理实体,即进程的静态描述。
进程的静态描述由三部份组成:
进程控件块PCB,有关程序段和该程序段对其进行操作的数据结构集。
进程控制块包含了有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反应。
系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以及达到控制进程活动的目的。
由于进程的PCB是系统感知进程的唯一实体,因此,在几乎所有的多道操作系统中,一个进程的PCB结构都是全部或部分常驻内存的。
进程的程序部分描述进程所要完成的功能。
而数据结构集是程序在执行时必不可少的工作区和操作对象。
这两部分是进程完成所需功能的物质基础。
由于进程的这两部分内容与控制进程的执行及完成进程功能直接有关,因而,在大部分多道操作系统中,这两部分内容存放在外存中,直到该进程执行时再调入内存。
一个进程的生命周期可以划分为一组状态,这些状态描述了整个进程。
系统根据PCB结构中的状态值控制进程。
在进程的整个生命周期内,一个进程至少具有三种基本状态,它们是:
执行状态、等待状态和就绪状态。
这三种状态之间可以相互换,处于就绪状态的进程已经得到除CPU之外的其它资源,只要由调度得到处理机,便可立即投入执行。
处于执行状态的进程因时间片到而放弃处理机进入就绪状态,因等待某个事件发生而放弃处理机进入等待状态。
处于等待状态的进程因等待的事件发生而被唤醒进入就绪状态,如图1-1。
图1-1进程状态转换
1.6.2线程简介
线程是一个进程内的基本调度单位,它既可以由操作系统内核控制,也可由用户程序控制。
线程是由两个部分组成的:
一个是线程的内核对象,操作系统用它来对线程实施管理。
内核对象也是系统用来存放线程统计信息的地方。
另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量。
线程只
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 任务 管理器 设计 实现 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)