操作系统课程设计报告完成版.docx
- 文档编号:3950115
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:42
- 大小:33.69KB
操作系统课程设计报告完成版.docx
《操作系统课程设计报告完成版.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计报告完成版.docx(42页珍藏版)》请在冰豆网上搜索。
操作系统课程设计报告完成版
XX大学课程设计报告
课程设计题目:
Windows系统资源管理器与任务管理器
学院:
专业班级:
年级:
2008级
姓名:
学号:
完成时间:
2012年7月3日
成绩:
指导教师:
教务处
课程设计指导教师评定成绩表
项目
分值
优秀
(100>x≥90)
良好
(90>x≥80)
中等
(80>x≥70)
及格
(70>x≥60)
不及格(x<60)
评分
参考标准
参考标准
参考标准
参考标准
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
重庆大学本科学生课程设计任务书
课程设计题目
Windows系统资源管理器与任务管理器
学院
计算机
专业
网络工程
年级
09
已知参数和设计要求:
(1)熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理。
(2)掌握操作系统任务与进程概念,熟悉任务与进程管理的方法,通过高级语言编程接口设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
学生应完成的工作:
(1)了解Windows操作系统的发展历史
(2)了解WindowsXP的体系结构
(3)掌握Windows系统API的调用方法
(4)设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理。
(5)设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
目前资料收集情况(含指定参考资料):
(1)在互联网上收集相关资料
(2)WilliamStallings,OperatingSystemsInternalsandDesignPrinciples,6thEdition,电子工业出版社,2010年
课程设计的工作计划:
(1)第1—第3天:
查询、收集资料,学习相关知识;
(2)第4天:
熟悉掌握API函数使用;
(3)第5—第9天:
设计、实现程序;
(4)第10天:
编写课程设计报告;
(5)第11天:
检查程序;
(6)第12天:
修改完善程序与课程设计报告。
任务下达日期2012年6月18日
完成日期2012年7月7日
摘要1
第一章课程设计要求2
第二章设计概要3
2.1功能设计3
2.2程序系统功能模块3
2.2.1Windows任务管理器功能模块3
2.2.2Windows资源管理器功能模块4
2.3功能分析4
2.3.1Windows任务管理器功能流程图4
2.3.2Windows资源管理器功能流程图5
2.3.3Windows任务管理器界面截图6
2.3.4Windows资源管理器界面截图8
2.3.5程序主要功能说明11
第三章调试分析与测试结果34
3.1Windows任务管理器34
3.1.1基本界面34
3.1.2进程状态查看35
3.1.3CPU状态查看36
3.1.4进程管理功能36
3.2Windows资源管理器39
3.2.1基本界面39
3.2.2剪切功能的实现41
3.2.3复制功能的实现42
3.2.4删除功能的实现43
第四章设计总结44
第五章参考文献45
摘要
操作系统是一个介于软件和硬件之间的特殊硬件,一方面分配硬件资源另一方面支持软件在它上面的实现,如何实时地监控和掌握系统软硬件工作的状态、资源分配和使用的情况,对计算机用户而言十分重要,于是就有了任务管理器这样的实时监控窗口;同理,我们也需要掌握计算机硬件设备的工作状态,掌握其如何存储文件、分配硬盘资源等,这也是我们做资源管理器的初衷。
我们的电脑需要我们去了解它的运行状况,掌握和管理它的进程,并对其异常情况给予操作和控制,任务管理器就像是我们了解和控制自己电脑运作的一个窗口,通过这个窗口我们可以了解到电脑所有进程运行状况,并对运行的进程加于管理和控制,正如在本实验中,启动进程管理器后,可以通过”获取进程”功能来获得本计算机启动的进程,以及与该进程相关的信息,其中包括的信息有:
进程映像名称,进程开启的线程数,进程的PID以及进程的优先数,我们可以通过这些信息来了解计算机中每个进程的使用状况。
同时我们可以在进程管理器上选中一个要终止的的进程,点击“终止进程”功能按钮,该进程被终止执行并退出进程列表,其中还包括了自动刷新的功能,此按钮实现的功能正如我们电脑任务管理器的“进程”功能,当电脑执行程序不能通过关闭窗口进行正常的关闭时,可以借助此办法来关闭进程。
我们还可以通过这个进程管理器来启动新的进程,当我们要在进程管理器里启动新的进程时,只要点击“启动新进程”按键,则会弹出“打开进程”对话框,我们可以通过对话框里的“浏览”窗口选择要打开的新进程,这是任务管理器里没有实现的功能,通过这个功能我们在管理计算机时变得更加灵活方便,也使进程管理的功能更加完善。
在退出此进程管理器时候,只要选择“退出”功能按钮则可关闭进程管理器,快速退出管理器的界面。
本管理器设计比较简洁,操作灵活,使用简单,可以为我们管理和控制计算机的进程提供了一个简便的方法,是我们控制本计算机进程和了解计算机进程情况的良好助手。
关键词:
任务管理器资源管理器操作系统
第一章课程设计要求
题目名称:
Windows系统资源管理器与任务管理器
题目类型:
设计型
课程设计目的:
熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器和任务管理器的全部功能。
已知参数和设计要求:
(3)熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理;
(4)掌握操作系统任务与进程概念,熟悉任务与进程管理的方法,通过高级语言编程接口设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
实验内容:
(6)了解Windows操作系统的发展历史;
(7)了解WindowsXP的体系结构;
(8)掌握Windows系统API的调用方法;
(9)设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理;
(10)设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
第二章设计概要
2.1功能设计
本项目是为了实现模拟Windows系统任务管理器和资源管理器。
项目的分析及功能设计要求如下:
(1)编程模拟实现Windows系统任务管理器和资源管理器两个应用程序;
(2)服务器端可以对文件进行管理,包括上传,下载,删除文件,重命名等;
(3)客服端可以实现文件的上传、下载以及查看服务器下默认目录的文件列表;
(4)在程序中应用多线程来实现多个客户端同时对一个服务器端进行请求操作。
2.2程序系统功能模块
关机
查看
选项
文件
功能设计
当前用户状态
内存使用状态
CPU状态
进程、应用程序状态
进程数
实时状态监控
Windows任务管理器
新建、切换进程、关闭进程
关于
关机、注销
立即刷新、小图标、详细列表
总在最前
新建任务、退出管理器
进程
帮助
2.2.1Windows任务管理器功能模块
图2.1
文件
功能设计
文件类型
文件大小
目录树
资源状态显示
Windows资源管理器
2.2.2Windows资源管理器功能模块
文件名
修改时间
新建、打开、保存、另存为、最近的文件、退出
关于
帮助
视图
撤销、剪切、粘贴、复制
编辑
工具栏和停靠窗口
应用程序外观
状态栏
图2.2
2.3功能分析
2.3.1Windows任务管理器功能流程图
图2.3
2.3.2Windows资源管理器功能流程图
显示数据
控件消息
鼠标事件
消息
资源数据
资源文件
用户操作鼠标
显示操作效果
资源管理器控制系统
鼠标事件处理
图2.4
2.3.3Windows任务管理器界面截图
整体界面
不同状态显示的截图
2.3.4Windows资源管理器界面截图
1、整体界面:
2、功能界面展示:
“文件”功能展示
“编辑”功能展示
“视图”功能展示
“帮助”功能展示
2.3.5程序主要功能说明
一、Windows任务管理器主要功能代码实现:
'获得进程代码实现
PublicSubListProcess()
OnErrorResumeNext
DimiAsLong,jAsLong,nAsLong
DimprocAsPROCESSENTRY32
DimsnapAsLong
DimexenameAsString'应用程序名
DimitemAsListItem
DimlngHwndProcessAsLong
DimlngModules(1To200)AsLong
DimlngCBSize2AsLong
DimlngReturnAsLong
DimstrModuleNameAsString
DimpmcAsPROCESS_MEMORY_COUNTERS
DimWKSizeAsLong
DimstrProcessNameAsString
DimstrCommentAsString'装载进程注释的字符串
DimProClassAsString'程序的类名
'开始进程循环
snap=CreateToolhelpSnapshot(TH32CS_SNAPall,0)
proc.dwSize=Len(proc)
theloop=ProcessFirst(snap,proc)
i=0
n=0
Whiletheloop<>0
i=i+1
'打开指定的进程序,并得到进程的句柄
lngHwndProcess=OpenProcess(PROCESS_QUERY_INFORMATIONOrPROCESS_VM_READ,0,proc.th32ProcessID)
IflngHwndProcess<>0Then
'枚举系统中正在运行的进程模板
lngReturn=EnumProcessModules(lngHwndProcess,lngModules
(1),200,lngCBSize2)
IflngReturn<>0Then
'返回特定数目空格的
strModuleName=Space(MAX_PATH)
'获取一个已装载模板的完整路径名称
lngReturn=GetModuleFileNameExA(lngHwndProcess,lngModules
(1),strModuleName,500)
strProcessName=Left(strModuleName,lngReturn)
strProcessName=CheckPath(Trim$(strProcessName))
IfstrProcessName<>""Then
'判断ITEM是否已经存在
j=HaveItem(proc.th32ProcessID)
Ifj=0Then'如果没有该进程
'获取短文件名
exename=Dir(strProcessName,vbNormalOrvbHiddenOrvbReadOnlyOrvbSystem)
Ifexename="hh.exe"Then
'MsgBoxSetProClass(proc.th32ProcessID,IDLE_PRIORITY_CLASS)
EndIf
'添加进程item
'进程ID
item.SubItems
(1)=proc.th32ProcessID
'内存使用
pmc.cb=LenB(pmc)
'获得进程的内存信息,在这里就是计算该进程占用内存多少
lret=GetProcessMemoryInfo(lngHwndProcess,pmc,pmc.cb)
n=n+pmc.WorkingSetSize
WKSize=pmc.WorkingSetSize/1024
item.SubItems(3)=WKSize&"K"
'进程序IP号
item.SubItems
(2)=GetProClass(proc.th32ProcessID)
'进程图标将获取的图标加到IMAGE控件中
Else'如果已经有该进程
pmc.cb=LenB(pmc)
'获得进程的内存信息,在这里就是计算该进程占用内存多少
lret=GetProcessMemoryInfo(lngHwndProcess,pmc,pmc.cb)
n=n+pmc.WorkingSetSize
WKSize=pmc.WorkingSetSize/1024'计算占用内存
'获得进程的类名
ProClass=GetProClass(proc.th32ProcessID)
EndIf
EndIf
EndIf
EndIf
theloop=ProcessNext(snap,proc)
Wend
CloseHandlesnap
'显示总进程数Label3
Ifi<>ProCountThen
Label3.Caption="进程数:
"&i
ProCount=i
EndIf
Ifn<>RamUseThen'这里的"130"是后来加上去的.是为了和系统自带的数值一样
Label5.Caption=Val(FormatLng(n))+130&"MB"
RamUse=n
Fori=950ToVal(FormatLng(n))+400Step-90
rampic.Line(0,i)-Step(1200,20),&HFF00&,BF
Nexti
EndIf
EndSub
'调用系统的"关于"窗
PrivateSubabout_Click()
OnErrorResumeNext
ShellAboutMe.hwnd,App.Title,"谭建&文程&张源",ByVal0&
EndSub
'退出本程序员
PrivateSubclose_Click()
tmrRefresh.Enabled=False
UnloadMe
EndSub
PrivateSubCloseSystem_Click()
tmrRefresh.Enabled=False
UnloadMe
EndSub
'应用程序切换程序
PrivateSubcmdSwitch_Click()
DimhwndAsLong
DimXAsLong
DimlngWWAsLong
IfLstApp.ListIndex<0ThenBeep:
ExitSub
hwnd=LstApp.ItemData(LstApp.ListIndex)
'取得窗口的结构信息
lngWW=GetWindowLong(hwnd,GWL_STYLE)
IflngWWAndWS_MINIMIZEThen
'控制窗口的可见性
X=ShowWindow(hwnd,SW_RESTORE)
EndIf
'指定一个窗口新的位置'第2个参数:
将窗口置于Z序列的顶部.
X=SetWindowPos(hwnd,HWND_TOP,0,0,0,0,_
SWP_NOMOVEOrSWP_NOSIZEOrSWP_SHOWWINDOW)
EndSub'保持当前位置或保持当前大小或显示窗口
'弹出"新建任务"窗
PrivateSubCommand1_Click()
frmnew.ShowvbModal
EndSub
'结束应用程序
'还有就是在如果列表中没有活动程序,点击"结束程序"会退出本身
PrivateSubCommand3_Click()
OnErrorResumeNext
'IfLstApp.ListCount=0Then
'应用程序的类名,和程序的标题
DimlpclassnameAsString,lpcaptionAsString
'程序的句柄号
DimHandleAsLong
DimRetvalAsLong
'先是打开要关闭的程序,其它就是将该程序显示成当前程序
ShellLstApp.Text,1
lpclassname=LstApp.Text
lpcaption=LstApp.Text
'获得程序的句柄号
Handle=FindWindow(vbNullString,lpcaption)
'用函数关闭应用程序
PostMessageHandle,WM_Close,0&,0&
'所了和列表控件一至,在这里删除列表中的该进程名
LstApp.RemoveItemLstApp.ListIndex
LstApp.refresh
'刷新
FindAllApps
EndSub
'结束指定进程功能代码实现
PrivateSubCommand4_Click()
OnErrorResumeNext
DimiAsLong,handAsLong,idAsLong
IfMsgBox("确定要结束进程吗?
",vbExclamation+vbOKCancel)=vbCancelThenExitSub
Ifid<>0Then
EndProid
EndIf
ListProcess
EndSub
PrivateSubCommand5_Click()
DimAboutRetAsLong
AboutRet=ExitWindowsEx(EWX_LOGOFF,0)
EndSub
'注销用户功能实现
PrivateSubCommand6_Click()
DimAboutRetAsLong
AboutRet=ExitWindowsEx(EWX_LOGOFF,0)
EndSub
'切换至功能实现
PrivateSubcutoverto_Click()
cmdSwitch_Click
Me.WindowState=1
EndSub
'改变进程显示方式
PrivateSubDetailed_Click()
List1.View=lvwReport
EndSub
'结束应用程序功能实现
PrivateSubendprograme_Click()
Command3_Click
EndSub
'关机功能实现
PrivateSubExit_Click()
frmclose.ShowvbModal
EndSub
'CPU效率监视
CpuPicture(0).ScaleMode=vbPixels
CpuPicture
(1).ScaleMode=vbPixels
SetQueryObject=NewCCpuwatch
'对象初始化
QueryObject.Initialize
'打开时间控件
tmrRefresh.Enabled=True
'调用刷新过程
tmrRefresh_Timer
'*****************************************
'获得所有系统进程
ListProcess
'窗体总在前
SetTopMe,front.Checked
'***************************************************
'获得系统的当前用户
cnt&=199
s$=String$(200,0)
dl&=GetUserName(s$,cnt)
item.SubItems
(2)="正在运行..."
item.SubItems
(1)=WorkstationID
'设置系统托盘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 报告 完成
