操作系统课程设计报告Windows系统资源管理器与任务管理器.doc_第1页
操作系统课程设计报告Windows系统资源管理器与任务管理器.doc_第2页
操作系统课程设计报告Windows系统资源管理器与任务管理器.doc_第3页
操作系统课程设计报告Windows系统资源管理器与任务管理器.doc_第4页
操作系统课程设计报告Windows系统资源管理器与任务管理器.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆大学课程设计报告课程设计题目: windows系统 资源管理器与设备管理器 学 院: 计算机 专业班级: 信息安全 年 级: 09级 姓 名: 学 号: 完成时间: 2012 年 7 月 5 日成 绩: 指导教师: 重庆大学教务处制 重庆大学本科学生课程设计任务书课程设计题目windows系统资源管理器与任务管理器学院计算机专业信息安全年级09已知参数和设计要求:(1) 熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现windows操作系统资源管理器的全部功能(包括:菜单、图标、右键菜单),实现软件资源和数据资源的管理。(2) 掌握操作系统任务与进程概念,熟悉任务与进程管理的方法,通过高级语言编程接口设计并实现windows操作系统任务管理器的全部功能(包括:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。学生应完成的工作:(1) 了解windows操作系统的发展历史(2) 了解windows xp的体系结构(3) 掌握windows系统api的调用方法(4) 设计并实现windows操作系统资源管理器的全部功能(包括:菜单、图标、右键菜单),实现软件资源和数据资源的管理。(5) 设计并实现windows操作系统任务管理器的全部功能(包括:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。目前资料收集情况(含指定参考资料):(1) 在互联网上收集相关资料(2) william stallings,operating systems internals and design principles,6th edition,电子工业出版社,2010年课程设计的工作计划:(1) 第1第3天:查询、收集资料,学习相关知识;(2) 第4天:熟悉掌握api函数使用;(3) 第5第9天:设计、实现程序;(4) 第10天:编写课程设计报告;(5) 第11天:检查程序;(6) 第12天:修改完善程序与课程设计报告。任务下达日期 2012 年 6 月 18 日完成日期 2012 年 7 月 7 日 目录 1.1资源管理器6 1.1.1资源管理器简介6 1.1.2程序设计思想及过程6 1.1.3系统结构设计7 1.1.4运行结果101.2任务管理器13 1.2.1任务管理器简介13 1.2.2 程序设计思想及过程14 1.2.3 程序流程图16 1.2.4运行结果222.1课程设计总结242.1.1 心得体会242.1.2 小组分工252.1.3参考文献251.1资源管理器1.1.1资源管理器简介 资源管理器是windows 系统提供的资源管理工具,我们可以用它查看本台电脑的所有资源,特别是它提供的树形的文件系统结构,使我们能更清楚、更直观地认识电脑的文件和文件夹,这是“我的电脑”所没有的。在实际的使用功能上“资源管理器”和“我的电脑”没有什么不一样的,两者都是用来管理系统资源的,也可以说都是用来管理文件的。另外,在“资源管理器”中还可以对文件进行各种操作,如:打开、查看文件内容等。 1.1.2程序设计思想及过程 本次课程设计主要使用visual studio 常规开发设置mfc完成实现创建一个与 windows 资源管理器类似的应用程序,创建一个包含两个窗格的窗口。左窗格将包含显示了您在分层视图桌面的一 cmfcshelltreectrl 对象,显示文件在左窗格中选择的右窗格将包含 cmfcshelllistctrl 。 通过使用 mfc 应用程序向导,创建新 mfc 应用程序。创建单文档视图结构,调试自动生成资源管理的初始框架。窗口包括菜单栏,工具栏,日历以及文件夹,树形结构的相关项目部分。相应的消息如文件的打开,日历的显示都是自动生成。本次资源管理设计主要是将左窗口的树形项目与右窗口的列表相关联。 资源管理器主要是树形结构引起的嵌套结构,可以通过树形结构更简单查看各种文件夹和文件以及相关信息,可以更方便的查看文件夹和文件之间的关系,还有各种大图标和小图标,以不同的视图方法查看文件,如列表、平铺等方法,而右键菜单中可以实现对文件的打开、复制、粘贴、查看属性等功能的实现。 首先添加 cmfcshelllistctrl 实例添加到向导创建的视图。 mainfrm.h 头文件中创建 cmfcshelltreectrl 对象的访问器。然后在视图类中用 oncreate ()方法我们创建 cmfcshelllistctrl 对象。onsize ()方法视图重绘,任意更改应用程序窗口的大小。最后连接 cmfcshelltreectrl 和 cmfcshelllistctrl 对象使用 cmfcshelltreectrl:setrelatedlist 方法。 程序最终调试运行成功。1.1.3系统结构设计 这次设计主要实现资源管理器的各种结构,左窗口采用树型目录的结构,双击一个项目,可以展开多个子项目,再次双击又合拢。同时右窗口显示相应的内容。主要的结构是资源管理器可以建立多个文件夹,多个文件,文件夹里可以包含文件,也可以不包含文件。用户可建立的文件类型可以有多种。单击右键,出现菜单,实现对文件的各种管理,用户对文件的管理主要是打开文件,复制文件,粘贴文件,删除文件,查看文件的属性。如下为系统结构图:跳到上一次路径所在文件夹跳转到对话框中的路径所在文件夹打开资源管理器资源管理器界面跳到返回左键点击左窗口任一项目右窗口显示磁盘内容子项目展开、合拢在空白处单击右键选择文件(夹)单击右键剪切复制打开粘贴新建排序 属性重命名删除 以下为程序流程图:1 创建用户和文件夹2 创建文件3 删除文件夹和文件4 复制,剪切,对文件和目录的移动(因为后面三个操作都只涉及到简单的指针修改,故只画右边一个图。)1.1.4运行结果初始运行后:文件列表右键菜单项功能:菜单栏部分: 1.2任务管理器1.2.1任务管理器简介 windows任务管理器提供了有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息;如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的。它的用户界面提供了文件、选项、查看、窗口、关机、帮助等六大菜单项,其下还有应用程序、进程、性能、联网、用户等五个标签页,窗口底部则是状态栏,从这里可以查看到当前系统的进程数、cpu使用比率、更改的内存容量等数据,默认设置下系统每隔两秒钟对数据进行1次自动更新,也可以点击“查看更新速度”菜单重新设置。下面具体从几个方面讲下功能: 1.应用程序: 这里显示了所有当前正在运行的应用程序,不过它只会显示当前已打开窗口的应用程序,而qq、msn messenger等最小化至系统托盘区的应用程序则并不会显示出来。可以在这里点击“结束任务”按钮直接关闭某个应用程序;点击“新任务”按钮,可以直接打开相应的程序、文件夹、文档或internet资源,如果不知道程序的名称,可以点击“浏览”按钮进行搜索。 2.进程: 这里显示了所有当前正在运行的进程,包括应用程序、后台服务等,那些隐藏在系统底层深处运行的病毒程序或木马程序都可以在这里找到,当然前提是你要知道它的名称。找到需要结束的进程名,然后执行右键菜单中的“结束进程”命令,就可以强行终止,不过这种方式将丢失未保存的数据,而且如果结束的是系统服务,则系统的某些功能可能无法正常使用。只能显示系统中当前进行的进程,而process explorer可以树状方式显示出各个进程之间的关系,即某一进程启动了哪些其他的进程,还可以显示某个进程所调用的文件或文件夹。 3.性能: 从任务管理器中我们可以看到计算机性能的动态概念。例如cpu使用情况:表明处理器工作时间百分比的图表,该计数器是处理器活动的主要指示器,查看该图表可以知道当前使用的处理时间是多少。cpu使用记录:显示处理器的使用程序随时间的变化情况的图表,图表中显示的采样情况取决于“查看”菜单中所选择的“更新速度”设置值,“高”表示每秒2次,“正常示每两秒1次,“低”表示每四秒1次,“暂停”表示不自动更新。 cpu使用记录:显示处理器的使用程序随时间的变化情况的图表,图表中显示的采样情况取决于“查看”菜单中所选择的“更新速度”设置值,“高”表示每秒2次,“正常”表示每两秒1次,“低”表示每四秒1次,“暂停”表示不自动更新。 此外还有如pf使用情况,页面使用记录等。 4.联网: 这里显示了本地计算机所连接的网络通信量的指示,使用多个网络连接时,我们可以在这里比较每个连接的通信量。 5.用户: 这里显示了当前已登录和连接到本机的用户数、标识(标识该计算机上的会话的数字id)、活动状态(正在运行、已断开)、客户端名,可以点击“注销”按钮重新登录,或者通过“断开”按钮连接与本机的连接,如果是局域网用户,还可以向其他用户发送消息呢。 1.2.2 程序设计思想及过程 我们设计的设备管理器所具有的功能如图: 我们采用的是c+语言,但由于c+没有提供gui的内置支持,所以我们用mfc创建窗体。下面具体介绍一下主要功能的实现:1. 窗体设计: 使用mfc封装技术。分别创建cframewnd,cview,cdocument的派生类,加载菜单资源:cmenu menu;menu.loadmenu(菜单id);,构造cframewnd派生类对象。调用cframewnd派生类对象的create函数等。 2.进程/线程/模块信息:openprocesstoken(getcurrentprocess(),token_query token_adjust_privileges,&htoken); /打开进程的令牌,提升权限;adjusttokenprivileges(htoken,false,&tokenprivileges,sizeof(token_privileges),null,null);/将进程的权限提升到支持调试(debug);createtoolhelp32snapshot(th32cs_snapprocess,0);/创建进程的快照process32first(hprocesssnap,&processentry32)process32first(hprocesssnap,&processentry32);/枚举所有进程;openprocess(process_query_information,false,processentry32.th32processid);/打开特定进程,以查询进程相关信息;getprocesstimes(hprocess,&createtime,&exittime,&kerneltime,&usertime)/获取进程的时间信息;getprocessmemoryinfo(hprocess,&pmcounter,sizeof(pmcounter);/获取进程的存储区信息;getpriorityclass(hprocess);/获取进程的优先权;getprocessiocounters(hprocess,&iocounters);/获取进程的io使用情况;createtoolhelp32snapshot(th32cs_snapmodule, dwprocessid);/创建模块快照module32first(hmodulesnap, &moduleentry32);module32next(hmodulesnap, &moduleentry32);/枚举进程模块信息;createtoolhelp32snapshot(th32cs_snapthread, 0);/创建线程快照thread32first(hthreadsnap, &threadentry32);thread32next(hthreadsnap,&threadentry32);/枚举线程信息;openthread(thread_all_access,false,threadentry32.th32threadid);/打开线程,须自己获得此函数地址;terminateprocess(hprocess,0);/终止进程;suspendthread(hthread);/悬挂线程;resumethread(hthread);/激活线程;3系统性能获取系统的存储器使用情况getperformanceinfo(&perfinfo,sizeof(performace_information)/获取系统性能信息;3. 用户信息netuserenum(null,dwlevel,filter_normal_account,(lpbyte*)&pbuf,dwprefmaxlen,&dwentriesread,&dwtotalentries,&dwresumehandle);/枚举系统用户信息;netuserdel(null,lpusernamew);/删除指定用户;4. 计算进程cpu占用率:在一个特定时间段内计算特定进程的总时间和所有进程的总时间,它们的比值就是那个特定进程的确cpu占有率。5. 关机adjusttokenprivileges(htoken,false,&tokenprivileges,sizeof(token_privileges),null,null);/调整进程令牌,使其支持关机;exitwindowsex(ewx_logoff,0);/注销系统;lockworkstation();/锁定系统;initiatesystemshutdown(null,szmessage,dwtimeout,false,bsig);/支持到记时和消息显示的关机/重启;setsystempowerstate(bsig,false);/系统休眠/冬眠;1.2.3 程序流程图1.系统结构:2.进程流程图 windows任务管理器进程获取流程图 启动新进程流程图开 始有进程吗?指定进程已终止刷新y选择要终止的进程名系统允许终止该进程yn结束 终止进程流程图 1.2.4运行结果 2.1课程设计总结2.1.1 心得体会 这次课程设计我们选择的是 windows系统资源管理器与任务管理器。利用c+语言和mfc封装技术,编写程序,完成管理器的基本功能。 由于要实现的功能较多较复杂,而且对于mfc不太熟悉,刚开始的时候我们并没有很好的设计思路,但是上学期有过windows编程学习的经历,所以上手也比较快,搜集了有关mfc编程的一些基本的框架,特别是窗体的设计和信息传递。一开始把程序设计复杂化了,感觉无从下手。后来通过查找资料和请教别人,了解了基本的实现框架,我们理清了设计思路。此次设计重要的是获取进程,文件等信息,主要是内存映射以及使用mfc怎么实现。然而mfc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论