操作系统课程设计报告完成版.docx
- 文档编号:10429231
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:30
- 大小:87.04KB
操作系统课程设计报告完成版.docx
《操作系统课程设计报告完成版.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计报告完成版.docx(30页珍藏版)》请在冰豆网上搜索。
操作系统课程设计报告完成版
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日
摘要
操作系统是一个介于软件和硬件之间的特殊硬件,一方面分配硬件资源另一方面支持软件在它上面的实现,如何实时地监控和掌握系统软硬件工作的状态、资源分配和使用的情况,对计算机用户而言十分重要,于是就有了任务管理器这样的实时监控窗口;同理,我们也需要掌握计算机硬件设备的工作状态,掌握其如何存储文件、分配硬盘资源等,这也是我们做资源管理器的初衷。
我们的电脑需要我们去了解它的运行状况,掌握和管理它的进程,并对其异常情况给予操作和控制,任务管理器就像是我们了解和控制自己电脑运作的一个窗口,通过这个窗口我们可以了解到电脑所有进程运行状况,并对运行的进程加于管理和控制,正如在本实验中,启动进程管理器后,可以通过”获取进程”功能来获得本计算机启动的进程,以及与该进程相关的信息,其中包括的信息有:
进程映像名称,进程开启的线程数,进程的PID以及进程的优先数,我们可以通过这些信息来了解计算机中每个进程的使用状况。
同时我们可以在进程管理器上选中一个要终止的的进程,点击“终止进程”功能按钮,该进程被终止执行并退出进程列表,其中还包括了自动刷新的功能,此按钮实现的功能正如我们电脑任务管理器的“进程”功能,当电脑执行程序不能通过关闭窗口进行正常的关闭时,可以借助此办法来关闭进程。
我们还可以通过这个进程管理器来启动新的进程,当我们要在进程管理器里启动新的进程时,只要点击“启动新进程”按键,则会弹出“打开进程”对话框,我们可以通过对话框里的“浏览”窗口选择要打开的新进程,这是任务管理器里没有实现的功能,通过这个功能我们在管理计算机时变得更加灵活方便,也使进程管理的功能更加完善。
在退出此进程管理器时候,只要选择“退出”功能按钮则可关闭进程管理器,快速退出管理器的界面。
本管理器设计比较简洁,操作灵活,使用简单,可以为我们管理和控制计算机的进程提供了一个简便的方法,是我们控制本计算机进程和了解计算机进程情况的良好助手。
关键词:
任务管理器资源管理器操作系统
第一章课程设计要求
题目名称:
Windows系统资源管理器与任务管理器
题目类型:
设计型
课程设计目的:
熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器和任务管理器的全部功能。
已知参数和设计要求:
(3)熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理;
(4)掌握操作系统任务与进程概念,熟悉任务与进程管理的方法,通过高级语言编程接口设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
实验内容:
(6)了解Windows操作系统的发展历史;
(7)了解WindowsXP的体系结构;
(8)掌握Windows系统API的调用方法;
(9)设计并实现Windows操作系统资源管理器的全部功能(包括:
菜单、图标、右键菜单),实现软件资源和数据资源的管理;
(10)设计并实现Windows操作系统任务管理器的全部功能(包括:
菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。
第二章设计概要
功能设计
本项目是为了实现模拟Windows系统任务管理器和资源管理器。
项目的分析及功能设计要求如下:
(1)编程模拟实现Windows系统任务管理器和资源管理器两个应用程序;
(2)服务器端可以对文件进行管理,包括上传,下载,删除文件,重命名等;
(3)客服端可以实现文件的上传、下载以及查看服务器下默认目录的文件列表;
(4)在程序中应用多线程来实现多个客户端同时对一个服务器端进行请求操作。
程序系统功能模块
Windows任务管理器功能模块
图
Windows资源管理器功能模块
图
2.3功能分析
Windows任务管理器功能流程图
图
Windows资源管理器功能流程图
图
Windows任务管理器界面截图
整体界面
不同状态显示的截图
Windows资源管理器界面截图
1、整体界面:
2、功能界面展示:
“文件”功能展示
“编辑”功能展示
“视图”功能展示
“帮助”功能展示
程序主要功能说明
一、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)
=Len(proc)
theloop=ProcessFirst(snap,proc)
i=0
n=0
Whiletheloop<>0
i=i+1
'打开指定的进程序,并得到进程的句柄
lngHwndProcess=OpenProcess(PROCESS_QUERY_INFORMATIONOrPROCESS_VM_READ,0,
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
Ifj=0Then'如果没有该进程
'获取短文件名
exename=Dir(strProcessName,vbNormalOrvbHiddenOrvbReadOnlyOrvbSystem)
Ifexename=""Then
'MsgBoxSetProClass,IDLE_PRIORITY_CLASS)
EndIf
'添加进程item
'进程ID
(1)=
'内存使用
=LenB(pmc)
'获得进程的内存信息,在这里就是计算该进程占用内存多少
lret=GetProcessMemoryInfo(lngHwndProcess,pmc,
n=n+
WKSize=/1024
(3)=WKSize&"K"
'进程序IP号
(2)=GetProClass
'进程图标将获取的图标加到IMAGE控件中
Else'如果已经有该进程
=LenB(pmc)
'获得进程的内存信息,在这里就是计算该进程占用内存多少
lret=GetProcessMemoryInfo(lngHwndProcess,pmc,
n=n+
WKSize=/1024'计算占用内存
'获得进程的类名
ProClass=GetProClass
EndIf
EndIf
EndIf
EndIf
theloop=ProcessNext(snap,proc)
Wend
CloseHandlesnap
'显示总进程数Label3
Ifi<>ProCountThen
="进程数:
"&i
ProCount=i
EndIf
Ifn<>RamUseThen'这里的"130"是后来加上去的.是为了和系统自带的数值一样
=Val(FormatLng(n))+130&"MB"
RamUse=n
Fori=950ToVal(FormatLng(n))+400Step-90
(0,i)-Step(1200,20),&HFF00&,BF
Nexti
EndIf
EndSub
'调用系统的"关于"窗
PrivateSubabout_Click()
OnErrorResumeNext
ShellAbout,,"谭建&文程&张源",ByVal0&
EndSub
'退出本程序员
PrivateSubclose_Click()
=False
UnloadMe
EndSub
PrivateSubCloseSystem_Click()
=False
UnloadMe
EndSub
'应用程序切换程序
PrivateSubcmdSwitch_Click()
DimhwndAsLong
DimXAsLong
DimlngWWAsLong
If<0ThenBeep:
ExitSub
hwnd=
'取得窗口的结构信息
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()
vbModal
EndSub
'结束应用程序
'还有就是在如果列表中没有活动程序,点击"结束程序"会退出本身
PrivateSubCommand3_Click()
OnErrorResumeNext
'If=0Then
'应用程序的类名,和程序的标题
DimlpclassnameAsString,lpcaptionAsString
'程序的句柄号
DimHandleAsLong
DimRetvalAsLong
'先是打开要关闭的程序,其它就是将该程序显示成当前程序
Shell,1
lpclassname=
lpcaption=
'获得程序的句柄号
Handle=FindWindow(vbNullString,lpcaption)
'用函数关闭应用程序
PostMessageHandle,WM_Close,0&,0&
'所了和列表控件一至,在这里删除列表中的该进程名
'刷新
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
=1
EndSub
'改变进程显示方式
PrivateSubDetailed_Click()
=lvwReport
EndSub
'结束应用程序功能实现
PrivateSubendprograme_Click()
Command3_Click
EndSub
'关机功能实现
PrivateSubExit_Click()
vbModal
EndSub
'CPU效率监视
CpuPicture(0).ScaleMode=vbPixels
CpuPicture
(1).ScaleMode=vbPixels
SetQueryObject=NewCCpuwatch
'对象初始化
'打开时间控件
=True
'调用刷新过程
tmrRefresh_Timer
'*****************************************
'获得所有系统进程
ListProcess
'窗体总在前
SetTopMe,
'***************************************************
'获得系统的当前用户
cnt&=199
s$=String$(200,0)
dl&=GetUserName(s$,cnt)
(2)="正在运行..."
(1)=WorkstationID
'设置系统托盘
IfWindowState=vbMinimizedThen
LastState=vbNormal
Else
LastState=WindowState
EndIf
AddToTrayMe,Tray
EndSub
PrivateSubForm_Resize()
SelectCaseWindowState
CasevbMinimized
=False
CasevbMaximized
=True
EndSelect
IfWindowState<>vbMinimizedThen
LastState=WindowState
=True
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
RemoveFromTray'关闭托盘
=False
UnloadMe
EndSub
PrivateSubfront_Click()
=Not
SetTopMe,
EndSub
PrivateSubjsjc_Click()
Command4_Click
EndSub
PrivateSubList1_ColumnClick(ByValColumnHeaderAs
OnErrorResumeNext
WithList1
'设置Sorted为True以将列表排序。
If-1)=.SortKeyThen
.SortOrder=(.SortOrder+1)Mod2
.Sorted=True
Else
.Sorted=False
.SortOrder=0
.SortKey=-1
.Sorted=True
EndIf
EndWith
EndSub
'右击菜单;,,并初使化进程的优先级别
PrivateSubList1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,yAsSingle)
OnErrorResumeNext
DimjAsLong,iAsLong
IfButton=2Then
If(X,y)IsNothingThenExitSub
j=(X,y).Index
(j).Selected=True
Fori=0To5
mnuSetProClassSub(i).Checked=False
Next
Case"实时":
mnuSetProClassSub(0).Checked=True
Case"高":
mnuSetProClassSub
(1).Checked=True
Case"较高":
mnuSetProClassSub
(2).Checked=True
Case"标准":
mnuSetProClassSub(3).Checked=True
Case"较低":
mnuSetProClassSub(4).Checked=True
Case"低":
mnuSetProClassSub(5).Checked=True
EndSelect
PopupMenuyou
EndIf
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 报告 完成