操作系统实验及代码全WindowsWord下载.docx
- 文档编号:7561579
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:59
- 大小:34.44KB
操作系统实验及代码全WindowsWord下载.docx
《操作系统实验及代码全WindowsWord下载.docx》由会员分享,可在线阅读,更多相关《操作系统实验及代码全WindowsWord下载.docx(59页珍藏版)》请在冰点文库上搜索。
打开系统组件服务
16.control:
控制面版
17.dcomcnfg:
18.Dccw:
显示颜色校准
19.devmgmt.msc:
设备管理器
20.desk.cpl:
屏幕分辨率
21.dfrgui:
优化驱动器Windows7→dfrg.msc:
磁盘碎片整理程序
22.dialer:
电话拨号程序
23.diskmgmt.msc:
磁盘管理
24.dvdplay:
DVD播放器
25.dxdiag:
检查DirectX信息
26.eudcedit:
造字程序
27.eventvwr:
事件查看器
28.explorer:
打开资源管理器
29.Firewall.cpl:
Windows防火墙
30.FXSCOVER:
传真封面编辑器
31.fsmgmt.msc:
共享文件夹管理器
32.gpedit.msc:
组策略
33.hdwwiz.cpl:
34.inetcpl.cpl:
Internet属性
35.intl.cpl:
区域
36.iexpress:
木马捆绑工具,系统自带
37.joy.cpl:
游戏控制器
38.logoff:
注销命令
39.lusrmgr.msc:
本地用户和组
40.lpksetup:
语言包安装/删除向导,安装向导会提示下载语言包
41.lusrmgr.msc:
本机用户和组
42.main.cpl:
鼠标属性
43.mmsys.cpl:
声音
44.magnify:
放大镜实用程序
45.mem.exe:
显示内存使用情况(如果直接运行无效,可以先管理员身份运行命令提示符,在命令提示符里输入mem.exe>
d:
a.txt即可打开d盘查看a.txt,里面的就是内存使用情况了。
当然什么盘什么文件名可自己决定。
)
46.MdSched:
Windows内存诊断程序
47.mmc:
打开控制台
48.mobsync:
同步命令
49.mplayer2:
简易widnowsmediaplayer
50.Msconfig.exe:
系统配置实用程序
51.msdt:
微软支持诊断工具
52.msinfo32:
系统信息
53.mspaint:
画图
54.Msra:
Windows远程协助
55.mstsc:
远程桌面连接
56.NAPCLCFG.MSC:
客户端配置
57.ncpa.cpl:
网络连接
58.narrator:
屏幕“讲述人”
59.Netplwiz:
高级用户帐户控制面板,设置登陆安全相关的选项
stat:
an(TC)命令检查接口
61.notepad:
打开记事本
62.Nslookup:
IP地址侦测器
63.odbcad32:
ODBC数据源管理器
64.OptionalFeatures:
打开“打开或关闭Windows功能”对话框
65.osk:
打开屏幕键盘
66.perfmon.msc:
计算机性能监测器
67.perfmon:
68.PowerShell:
提供强大远程处理能力
69.printmanagement.msc:
打印管理
70.powercfg.cpl:
电源选项
71.psr:
问题步骤记录器
72.Rasphone:
73.Recdisc:
创建系统修复光盘
74.Resmon:
资源监视器
75.Rstrui:
系统还原
76.regedit.exe:
注册表
77.regedt32:
注册表编辑器
78.rsop.msc:
组策略结果集
79.sdclt:
备份状态与配置,就是查看系统是否已备份
80.secpol.msc:
本地安全策略
81.services.msc:
本地服务设置
82.sfc/scannow:
扫描错误并复原/windows文件保护
83.sfc.exe:
系统文件检查器
84.shrpubw:
创建共享文件夹
85.sigverif:
文件签名验证程序
86.slui:
Windows激活,查看系统激活信息
87.slmgr.vbs-dlv:
显示详细的许可证信息
slmgr.vbs-dli:
显示许可证信息
slmgr.vbs-xpr:
当前许可证截止日期
slmgr.vbs-dti:
显示安装ID以进行脱机激活
slmgr.vbs-ipk:
(ProductKey)安装产品密钥
slmgr.vbs-ato:
激活Windows
slmgr.vbs-cpky:
从注册表中清除产品密钥(防止泄露引起的攻击)
slmgr.vbs-ilc:
(Licensefile)安装许可证
slmgr.vbs-upk:
卸载产品密钥
slmgr.vbs-skms:
(name[ort])批量授权
88.snippingtool:
截图工具,支持无规则截图
89.soundrecorder:
录音机,没有录音时间的限制
90.StikyNot:
便笺
91.sysdm.cpl:
系统属性
92.sysedit:
系统配置编辑器
93.syskey:
系统加密,一旦加密就不能解开,保护系统的双重密码
94.taskmgr:
任务管理器(旧版)
95.TM任务管理器(新版)
96.taskschd.msc:
任务计划程序
97.timedate.cpl:
日期和时间
98.UserAccountControlSettings用户账户控制设置
99.utilman:
辅助工具管理器
100.wf.msc:
高级安全Windows防火墙
101.WFS:
Windows传真和扫描
102.wiaacmgr:
扫描仪和照相机向导
103.winver:
关于Windows
104.wmimgmt.msc:
打开windows管理体系结构(WMI)
105.write:
写字板
106.wscui.cpl:
操作中心
107.wscript:
windows脚本宿主设置
108.wuapp:
Windows更新
题目2:
进程的使用
①掌握Windows进程的创建和销毁API的调用方法;
编程代码,在程序中创建和销毁一个Word进程;
②能够挂起和激活被创建进程的主线程;
③通过Windows进程管理器查看系统进程列表的变化。
实验指导:
①创建进程的API
BOOLCreateProcess(
LPCTSTRlpApplicationName,
LPTSTRlpCommandLine,
LPSECURITY_ATTRIBUTESlpProcessAttributes,
LPSECURITY_ATTRIBUTESlpThreadAttributes,
BOOLbInheritHandles,
DWORDdwCreationFlags,
LPVOIDlpEnvironment,
LPCTSTRlpCurrentDirectory,
LPSTARTUPINFOlpStartupInfo,
LPPROCESS_INFORMATIONlpProcessInformation
);
例程:
voidmain(VOID){
STARTUPINFOsi;
PROCESS_INFORMATIONpi;
ZeroMemory(&
si,sizeof(si));
si.cb=sizeof(si);
pi,sizeof(pi));
//Startthechildprocess.
if(!
CreateProcess(NULL,//Nomodulename(usecommandline).
"
MyChildProcess"
//Commandline.
NULL,
//Processhandlenotinheritable.
//Threadhandlenotinheritable.
FALSE,
//SethandleinheritancetoFALSE.
0,
//Nocreationflags.
//Useparent'
senvironmentblock.
sstartingdirectory.
&
si,
//PointertoSTARTUPINFOstructure.
&
pi)
//PointertoPROCESS_INFORMATIONstructure.
){
ErrorExit("
CreateProcessfailed."
);
}
//Waituntilchildprocessexits.
WaitForSingleObject(pi.hProcess,INFINITE);
//Closeprocessandthreadhandles.
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
②销毁进程API
BOOLTerminateProcess(
HANDLEhProcess,
UINTuExitCode
③挂起进程的主线程API
DWORDSuspendThread(
HANDLEhThread
④激活进程的主线程API
DWORDResumeThread(
⑤进程查看器
#include"
iostream"
windows.h"
usingnamespacestd;
STARTUPINFOsi;
PROCESS_INFORMATIONpi;
TCHARszCommandLine[]=TEXT("
NOTEPAD"
ZeroMemory(&
si.cb=sizeof(si);
if(!
CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,0,NULL,NULL,&
si,&
pi))
{
fprintf(stderr,"
CreateprocessFailed"
intx;
while(true){
cout<
<
请输入要选择的操作:
\n0:
销毁进程\n1:
挂起进程\n2:
激活进程\n3:
退出\n"
;
cin>
>
x;
switch(x){
case0:
if(TerminateProcess(pi.hProcess,0))
cout<
销毁进程成功"
endl;
else
销毁失败"
break;
case1:
if(SuspendThread(pi.hThread))
挂起进程成功"
挂起失败"
case2:
if(ResumeThread(pi.hThread))
激活进程成功"
激活失败"
case3:
exit(0);
default:
选项不正确"
题目3
作业调度
一、实验目的
1、
对作业调度的相关内容作进一步的理解。
2、
明白作业调度的主要任务。
3、
通过编程掌握作业调度的主要算法。
二、实验内容及要求
1、对于给定的一组作业,给出其到达时间和运行时间,例如下表所示:
作业名
A
B
C
D
E
F
到达时间
2
5
12
15
服务时间
6
50
20
10
40
8
2、分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。
3、计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣。
三、实验报告
1、程序中使用的数据结构及符号说明。
2、给出主要算法的流程图。
3、给出程序清单并附上注释。
4、给出测试数据和运行结果。
#include<
iostream>
usingnamespacestd;
#defineMAX10
structtask_struct{
charname[10];
//进程名称
intnumber;
//进程编号
floatcome_time;
//到达时间
floatrun_begin_time;
//开始运行时间
floatrun_time;
//运行时间
floatrun_end_time;
//运行结束时间
intorder;
//运行次序
intrun_flag;
//调度标志
}tasks[MAX];
intcounter;
//实际进程个数
intfcfs();
//先来先服务
intsjf();
//短作业优先
inthrrn();
//响应比高优先
intpinput();
//进程参数输入
intpoutput();
//调度结果输出
voidmain(){
intoption;
pinput();
while(true){
printf("
请选择调度算法(0~4):
\n"
1.先来先服务\n"
2.短作业优先\n"
3.响应比高优先\n"
0.退出\n"
scanf("
%d"
&
option);
switch(option){
case0:
printf("
运行结束。
exit(0);
break;
case1:
对进程按先来先服务调度。
\n\n"
fcfs();
poutput();
case2:
对进程按短作业优先调度。
sjf();
case3:
对进程按响应比高优先调度。
hrrn();
}
intfcfs()//先来先服务
{
floattime_temp=0;
inti;
intnumber_schedul;
time_temp=tasks[0].come_time;
for(i=0;
i<
counter;
i++){
tasks[i].run_begin_time=time_temp;
tasks[i].run_end_time=tasks[i].run_begin_time+tasks[i].run_time;
tasks[i].run_flag=1;
time_temp=tasks[i].run_end_time;
number_schedul=i;
tasks[number_schedul].order=i+1;
}
return0;
intsjf(){//短作业优先
floattemp_time=0;
inti=0,j;
intnumber_schedul,temp_counter;
run_time=tasks[i].run_time;
j=1;
while((j<
counter)&
(tasks[i].come_time==tasks[j].come_time)){
if(tasks[j].run_time<
tasks[i].run_time){
run_time=tasks[j].run_time;
i=j;
j++;
//查找第一个被调度的进程
//对第一个被调度的进程求相应的参数
number_schedul=i;
tasks[number_schedul].run_begin_time=tasks[number_schedul].come_time;
tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time;
tasks[number_schedul].run_flag=1;
temp_time=tasks[number_schedul].run_end_time;
tasks[number_schedul].order=1;
temp_counter=1;
while(temp_counter<
counter){
for(j=0;
j<
j++){
if((tasks[j].come_time<
=temp_time)&
(!
tasks[j].run_flag)){
number_schedul=j;
tasks[j].run_flag))
if(tasks[j].run_time<
run_time){
//查找下一个被调度的进程
//对找到的下一个被调度的进程求相应的参数
tasks[number_schedul].run_begin_time=temp_time;
temp_counter++;
tasks[number_schedul].order=temp_counter;
inthrrn()/*响应比高优先*/
intj,number_schedul,temp_counter;
floattemp_time,respond_rate,max_respond_rate;
//第一个进程被调度
tasks[0].run_begin_time=tasks[0].come_time;
tasks[0].run_end_time=tasks[0].run_begin_time+tasks[0].run_time;
temp_time=tasks[0].run_end_time;
tasks[0].run_flag=1;
tasks[0].order=1;
temp_counter=1;
//调度其他进程
counter){
max_respond_rate=0;
for(j=1;
j++){
tasks[j].run_flag))
respond_rate=(temp_time-tasks[j].come_time)/tasks[j].run_time;
if(respond_rate>
max_respond_rate){
max_respond_rate=respond_rate;
//找响应比高的进程
tasks[number_schedul].run_begin_time=temp_time;
tasks[number_schedul].run_end_time=tasks[number_schedul].run_begi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 代码 Windows
![提示](https://static.bingdoc.com/images/bang_tan.gif)