Windows进程管理工具设计与实现.docx
- 文档编号:374433
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:25
- 大小:322.14KB
Windows进程管理工具设计与实现.docx
《Windows进程管理工具设计与实现.docx》由会员分享,可在线阅读,更多相关《Windows进程管理工具设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。
Windows进程管理工具设计与实现
Windows进程管理工具设计与实现
摘要
Windows自带的任务管理器存在功能上的缺陷,如不能查看进程的模块及线程信息。
该课题设计就是模拟Windows任务管理器,开发一个功能更完善的Windows进程管理软件。
主要设计的是一个基于对话框的VC++程序,在主对话框上面放置了一个标签控件,并创建了任务、进程和系统信息三个页面,标签控件用于选择并显示页面。
三个页面分别用于显示当前运行的窗口程序、进程及进程模块、系统资源使用情况。
程序还实现了结束任务、切换任务、终止进程等对进程管理的基本功能。
在程序的设计过程中,通过调用WindowsAPI函数而获得任务、进程、线程模块,以及系统资源使用情况等信息。
最后在WindowsXP系统上进行测试,实现了进程管理的基本功能,为用户了解当前进程及系统资源使用情况提供了很好的参考。
关键词:
任务管理器;线程;进程;API
Thedesignandimplementationofthemanagementtool
forWindows
Abstract
ThereissomedefectsinfunctionintheTaskManagerbuilt-inWindows,Forexample,itdoesn'tshowustheinformationofprocessmodulesandthreads.TheworkofmydesignmentistofollowtheWindowsTaskManageranddevelopasoftwareformanagingprocesswhichhasimprovedfunction.ThissoftwareisdesignedtobeaprogramebasedonadialogwriteintheVC++.Thereisalabelcontrolinthemaindialogbox,Andtherearethreepagesfortask,processandsysteminformation.Thelabelcontrolisusedtoselectthepageanddispalyit.Thethreepagesareusedrespectivelytodisplaytheinformationfortaskrunsforthecurrent,processandprocessmodules,theutilizationofsystemresources.Thesoftwarealsorealizedsomebasicfunctionformanagingprocess,suchasendingthetask,switchingthetask,terminatingtheprocessandsoon.Duringtheprocessofmyprograme,Igettheinformationfortasks,process,threadmodulesandtheutilizationofsystemresourcebycallingtheWindowsAPIfunctions.FinallyItestitontheWindowsxpsystem.Anditachievesthebasicfunctionformanagingprocess.Itprovidesagoodreferenceforuserstoviewtheprocesscurrentandtheutilizationofsystemresources.
Keywords:
TaskManager;Threads;Process;API
目录
论文总页数:
21页
1引言1
1.1课题背景1
1.2国内外研究现状1
1.3本课题研究的意义1
1.4本课题的研究方法1
1.5进程与线程简介1
1.5.1进程简介1
1.5.2线程简介3
1.5.3进程与线程的关系3
1.5.4Windows自带的任务管理器分析4
2主要功能及设计思路5
2.1主要功能5
2.2设计思路5
3详细设计5
3.1主框架的实现6
3.1.1子对话框的显示6
3.1.2实现菜单7
3.1.3提升本程序权限8
3.2任务列表页面设计8
3.2.1显示任务信息8
3.2.2结束任务10
3.2.3切换任务11
3.3进程列表页面设计11
3.3.1显示进程信息12
3.3.2显示模块及线程信息14
3.3.3结束进程15
3.3.4删除文件16
3.3.5保存进程信息到文件16
3.4系统性能页面设计17
3.4.1绘制CPU使用率图17
3.4.2绘制内存使用率图17
3.4.3其他性能显示17
3.4.4系统信息显示17
4测试结果18
结论19
参考文献19
致谢20
声明21
1引言
1.1课题背景
随着计算机的广泛应用,很多的软件被安装在计算机上,使计算机运行的程序进程越来越多;很多的程序在运行时常出现异常(如不能正常结束、占用大量资源、发现异常的进程等)。
这些现象给我们的计算机使用及管理带来很多的不便。
为了给计算机上运行的程序进行很好的管理,现在出现了许多的进程管理工具软件。
本次课题设计的目的主要是为了检查综合运用以前所学知识(包括以前所学的一些关于计算机操作系统、进程、计算机安全、编程等知识)的能力,模拟Windows任务管理器,开发一个功能更完善的Windows进程管理软件,对任务、进程进行查看、结束等操作。
1.2国内外研究现状
从现状看来,Windows进程管理工具及其理论的研究,无论是国外还是国内,技术都相当成熟。
微软Windows操作系统系列(98和ME除外)都自带有进程管理器,但功能不是很完善,不能查看进程模块及线程信息,而许多其他版本的Windows进程管理软件都具有完善的功能。
1.3本课题研究的意义
随着计算机技术的迅猛发展,计算机的运用给人们带来了很多便利,无论是学习,办公,还是商务。
一款好的系统管理软件能大大地提高计算机的使用和管理效率,进程管理器就能很好地对系统上运行的进程进行管理。
很多人都使用过进程管理器之类的软件,或者是Windows自带的任务管理器,它们都能够对进程进行管理。
本毕业设计选择开发一个进程管理器软件,能够使自己综合运用以前所学知识(包括操作系统、编程、系统安全等知识)的能力,同时也使自己了解当今软件编程的一些新技术;既锻炼了自己的实际动手能力,又引导自己进行了一次模拟实际产品的开发,对于自己以后工作能力的培养具有重要的意义。
1.4本课题的研究方法
本系统使用VC++6.0的开发环境,模拟Windows的任务管理器进行设计与开发。
因此,本次毕业设计应首先分析进程管理器软件的相关功能;其次,综合运用以前所学的相关知识,广泛查阅资料(尤其是进程、线程及其相关知识),选择所熟悉的开发工具进行本毕业设计的开发;同时,在开发设计与实现中,要保存好相关的设计文挡。
1.5进程与线程简介
1.5.1进程简介
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:
一个是操作系统用来管理进程的内核对象。
内核对象也是系统用来存放关于进程的统计信息的地方。
另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。
它还包含动态内存分配的空间。
如线程堆栈和堆分配空间。
进程是一个动态的执行过程,它动态地被创建,并被调度执行后消亡。
进程是资源分配的基本单位,也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。
系统中需要有描述进程存在和能够反应其变化的物理实体,即进程的静态描述。
进程的静态描述由三部份组成:
进程控件块PCB,有关程序段和该程序段对其进行操作的数据结构集。
进程控制块包含了有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反应。
系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以及达到控制进程活动的目的。
由于进程的PCB是系统感知进程的唯一实体,因此,在几乎所有的多道操作系统中,一个进程的PCB结构都是全部或部分常驻内存的。
进程的程序部分描述进程所要完成的功能。
而数据结构集是程序在执行时必不可少的工作区和操作对象。
这两部分是进程完成所需功能的物质基础。
由于进程的这两部分内容与控制进程的执行及完成进程功能直接有关,因而,在大部分多道操作系统中,这两部分内容存放在外存中,直到该进程执行时再调入内存。
一个进程的生命周期可以划分为一组状态,这些状态描述了整个进程。
系统根据PCB结构中的状态值控制进程。
在进程的整个生命周期内,一个进程至少具有三种基本状态,它们是:
执行状态、等待状态和就绪状态。
这三种状态之间可以相互换,处于就绪状态的进程已经得到除CPU之外的其它资源,只要由调度得到处理机,便可立即投入执行。
处于执行状态的进程因时间片到而放弃处理机进入就绪状态,因等待某个事件发生而放弃处理机进入等待状态。
处于等待状态的进程因等待的事件发生而被唤醒进入就绪状态,如图1。
图1进程状态转换
1.5.2线程简介
线程是一个进程内的基本调度单位,它既可以由操作系统内核控制,也可由用户程序控制。
线程是由两个部分组成的:
一个是线程的内核对象,操作系统用它来对线程实施管理。
内核对象也是系统用来存放线程统计信息的地方。
另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量
线程只由相关的堆栈(系统栈或用户栈)、寄存器和线程控制表TCB组成。
寄存器可被用来存储线程内的局部变量,但不能存储其它线程的相关变量。
线程也有三个基本状态:
执行状态、就绪状态和阻塞状态。
针对线程的三种基本状态,存在五种基本操作来转换线程的状态。
这五种基本操作是:
1、派生:
线程在进程内派生出来,它既可由进程派生,也可由线程派生。
2、阻塞:
如果一个线程在执行过程中需要等待某个事件发生,则被阻塞。
3、激活:
如果阻塞线程的事件发生,则该线程被激活并进入就绪队列。
4、调度:
选择一个就绪线程进入执行状态。
5、结束:
如果一个线程执行结束,它的寄存器上下文以及堆栈内容等将被释放。
1.5.3进程与线程的关系
进程是不活泼的。
若要使进程完成某项操作,它必须拥有一个在它的环境中运行的线程,该线程负责执行包含在进程的地址空间中的代码。
实际上,单个进程可能包含若干个线程,所有这些线程都“同时”执行进程地址空间中的代码。
线程与资源分配无关,它属于某一个进程,并与进程内的其它线程一起共享进程的资源。
当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
为此,每个线程都有它自己的一组CPU寄存器和它自己的堆栈。
每个进程至少拥有一个线程,来执行进程的地址空间中的代码。
如果没有线程来执行进程的地址空间中的代码,那么进程就没有存在的理由了,系统就将自动撤消该进程和它的地址空间。
若要使所有这些线程都能运行,操作系统就要为每个线程安排一定的CPU时间。
它通过以一种循环方式为线程提供时间片(称为量程),造成一种假象,仿佛所有线程都是同时运行的一样。
图3显示了在单个CPU的计算机上是如何实现这种运行方式的。
如果计算机拥有多个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 进程 管理工具 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)