操作系统实验指导.docx
《操作系统实验指导.docx》由会员分享,可在线阅读,更多相关《操作系统实验指导.docx(73页珍藏版)》请在冰豆网上搜索。
操作系统实验指导
计算机操作系统
实
验
指
导
书
作者:
宋秋艳
计算机与信息科学系
2008-10
目录
实验一windows命令使用2
实验二进程模拟程序9
实验三进程调度17
实验四银行家算法模拟实现23
实验五作业调度模拟28
实验六请求页式存储管理中常用页面置换算法模拟36
实验七模拟文件管理系统44
实验一windows命令使用
【实验要求】
1、上机前必须认真的做好准备,从网上下载windows的常用命令;
2、上机时测试windows的常用命令,并编写一定的批处理文件;并保护好实验环境,不恶意的修改电脑设置;
3、完成实验报告的撰写,并交给任课教师;
【实验目的】
1、熟悉windows操作系统的常用命令;
2、通过编写与运行批处理程序,进一步理解批处理作业的概念;
【实验内容】
1、在windows自带的提示符下逐个的测试windows的常用命令;
2、编写一个批处理程序;
【提示】
批处理文件的创建方法:
在记事本中输入批处理命令,然后保存为*.bat即可;
批处理文件的编辑:
选中文件,右击选择编辑。
【windows命令集】
C:
boot.ini 打开启动菜单
compact.exe 显示或改变NTFS分区上文件的压缩状态
conime.exe IME控制台
control.exe 控制面板
convert.exe NTFS转换文件系统到NTFS
convlog.exe 转换IIS日志文件格式到NCSA格式
cprofile.exe 转换显示模式
cscript.exe 较本宿主版本
csrss.exe 客户服务器Runtime进程(XP不可用)
csvde.exe 格式转换程序(XP不可用)
dcpromo 活动目录安装(XP不可用)
drwtsn32 系统医生
diskmgmt.msc 磁盘管理器(和PowerQuestPartitionMagic8.0)
dvdplayDVD 播放器
devmgmt.msc 设备管理器(检查电脑硬件,驱动)
dxdiag 检查DirectX信息
dcomcnfg.exe DCOM配置属性(控制台根目录)
dcpromo.exe 安装向导(XP不可用)
ddeshare.exe DDE共享
debug.exe 检查DEBUG
dfrgfat.exe FAT分区磁盘碎片整理程序
dfrgntfs.exe NTFS分区磁盘碎片整理程序(XP不可用)
dfs_cmd_.exe 配置DFS树(XP不可用)
dfsinit.exe 分布式文件系统初始化(XP不可用)
dfssvc.exe 分布式文件系统服务器(XP不可用)
diantz.exe 制作CAB文件
diskperf.exe 磁盘性能计数器
dmremote.exe 磁盘管理服务的一部分(XP不可用)
doskey.exe 命令行创建宏
dosx.exe DOS扩展
edlin.exe 命令行的文本编辑
esentutl.exe MS数据库工具
eudcedit.exe 造字程序
eventvwr.exe 事件查看器
exe2bin.exe 转换EXE文件到二进制
expand.exe 解压缩
extrac32.exe 解CAB工具
fsmgmt.msc 共享文件夹
fastopen.exe 快速访问在内存中的硬盘文件
faxcover.exe 传真封面编辑
faxqueue.exe 显示传真队列
faxsend.exe 发送传真向导
faxsvc.exe 启动传真服务
fc.exe 比较两个文件的不同
find.exe 查找文件中的文本行
findstr.exe 查找文件中的行
finger.exe 一个用户并显示出统计结果
fixmapi.exe 修复MAPI文件
flattemp.exe 允许或者禁用临时文件目录(XP不可用)
fontview.exe 显示字体文件中的字体
forcedos.exe 强制文件在DOS模式下运行
ftp.exe FTP下载
gpedit.msc 组策略
gdi.exe 图形界面驱动
grpconv.exe 转换程序管理员组
hostname.exe 显示机器的Hostname
Internat 输入法图标
iexpress 木马捆绑工具,系统自带
ieshwiz.exe 自定义文件夹向导
iexpress.exe iexpress安装包
iisreset.exe 重启IIS服务(未安装IIS,不可用)
internat.exe 键盘语言指示器(XP不可用)
ipconfig.exe 查看IP配置
ipsecmon.exe IP安全监视器
ipxroute.exe IPX路由和源路由控制程序
irftp.exe 无线连接
ismserv.exe 安装或者删除ServiceControlManager中的服务
jdbgmgr.exe Java4的调试器
jetconv.exe 转换JetEngine数据库(XP不可用)
jetpack.exe 压缩Jet数据库(XP不可用)
jview.exe Java的命令行装载者
label.exe 改变驱动器的卷标
lcwiz.exe 许可证向导(XP不可用)
ldifde.exe LDIF目录交换命令行管理(XP不可用)
licmgr.exe 终端服务许可协议管理(XP不可用)
lights.exe 显示连接状况(XP不可用)
llsmgr.exe Windows2000许可协议管理(XP不可用)
llssrv.exe 启动许可协议服务器(XP不可用)
locator.exe RPCLocator远程定位
lodctr.exe 调用性能计数
logoff.exe 注销当前用户
lpq.exe 显示远端的LPD打印队列的状态,显示被送到基于Unix的服务器的打印任务
lpr.exe 用于Unix客户打印机将打印任务发送给连接了打印设备的NT的打印机服务器。
lsass.exe 运行LSA和Server的DLL
lserver.exe 指定默认Server新的DNS域(XP不可用)
lusrmgr.msc 本地账户管理
mmc 控制台
mplayer2 播放器
macfile.exe 管理MACFILES (XP不可用)
magnify.exe 放大镜
makecab.exe 制作CAB文件
mem.exe 显示内存状态
migpwd.exe 迁移密码
mmc.exe 控制台
mnmsrvc.exe 远程桌面共享
mobsync.exe 同步目录管理器
mountvol.exe 创建、删除或列出卷的装入点。
mplay32.exe MediaPlayer媒体播放器
mpnotify.exe 通知应用程序
mqbkup.exe 信息队列备份和恢复工具
mqmig.exe MSMQMigrationUtility信息队列迁移工具
mrinfo.exe 使用SNMP多点传送路由
mscdexnt.exe 安装MSCD
msdtc.exe 动态事务处理控制台
msg.exe 发送消息到本地或远程客户
mshta.exe HTML应用程序主机
msiexec.exe 开始Windows安装程序
mspaint.exe 打开画图板
mstask.exe 任务计划表程序
mstinit.exe 任务计划表安装
Msconfig.exe 系统配置实用程序(配置启动选项,服务项)
mem.exe 显示内存使用情况
mspaint 画图板
NetStopMessenger 停止信使服务
NetStartMessenger 恢复信使服务
nslookup 网络管理的工具
Nslookup IP地址侦测器
ntbackup 系统备份和还原
nbtstat.exe 使用NBT(TCP/IP上的NetBIOS)显示协议统计和当前TCP/IP连接。
nddeapir.exe NDDEAPI服务器端
netsh.exe 用于配置和监控Windows2000命令行脚本接口(XP不可用)
netstat.exe 显示协议统计和当前的TCP/IP网络连接。
nlsfunc.exe 加载特定国家的信息。
Windows2000和MS-DOS子系统不使用该命令接受该命令只是为了与MS-DOS文件兼容。
notepad.exe 打开记事本
nslookup.exe 该诊断工具显示来自域名系统(DNS)名称服务器的信息。
ntbackup.exe 备份和故障修复工具
ntfrs.exe NT文件复制服务(XP不可用)
ntvdm.exe 模拟16位Windows环境
nw16.exe NetWare转向器
nwscript.exe 运行Netware脚本
odbcad32.exe 32位ODBC数据源管理(驱动程序管理)
odbcconf.exe 命令行配置ODBC驱动和数据源
packager.exe 对象包装程序
pathping.exe 包含Ping和Tracert的程序
pentnt.exe 检查Pentium的浮点错误
perfmon.exe 系统性能监视器
ping.exe 验证与远程计算机的连接
posix.exe 用于兼容Unix
print.exe 打印文本文件或显示打印队列的内容。
progman.exe 程序管理器
psxss.exe Posix子系统应用程序
qappsrv.exe 在网络上显示终端服务器可用的程序
qprocess.exe 在本地或远程显示进程的信息(需终端服务)
query.exe 查询进程和对话(XP不可用)
quser.exe 显示用户登陆的信息(需终端服务)
qwinsta.exe 显示终端服务的信息
rononce-p 15秒关机
rasAdmin 远程访问服务.
regedit.exe 注册表编辑器
rasadmin.exe 启动远程访问服务(XP不可用)
rasautou.exe 建立一个RAS连接
rasdial.exe 宽带,拨号连接
ras.exe 运行RAS连接(XP不可用)
rcp.exe 计算机和运行远程外壳端口监控程序rshd的系统之间复制文件
rdpclip.exe 终端和本地复制和粘贴文件
recover.exe 从坏的或有缺陷的磁盘中恢复可读取的信息。
redir.exe 运行重定向服务
regedt32.exe 32位注册服务
regini.exe 用脚本修改注册许可
regwiz.exe 注册向导
replace.exe 用源目录中的同名文件替换目标目录中的文件。
rexec.exe rexec命令在执行指定命令前,验证远程计算机上的用户名,只有安装了TCP/IP协议后才可以使用该命令。
risetup.exe 运行远程安装向导服务(XP不可用)
route.exe 控制网络路由表
rsh.exe 在运行RSH服务的远程计算机上运行命令
rsnotify.exe 远程存储通知回显
runas.exe 允许用户用其他权限运行指定的工具和程序
rundll32.exe 启动32位DLL程序
rwinsta.exe 重置会话子系统硬件和软件到最初的值
Sndvol32 音量控制程序
sfc.exe或CMD\sfc.exe回车系统文件检查器
services.msc 网络连接服务
syskey 系统加密,(一旦加密就不能解开,保护windowsxp系统的双重密码wupdmgrWIDNOWSUPDATE)
SCANREG/RESTORE 命令恢复最近的注册表
secedit.exe 自动化安全性配置管理
services.exe 控制所有服务
sethc.exe 设置高对比
setver.exe 设置MS-DOS子系统向程序报告的MS-DOS版本号
sfc.exe 系统文件检查
shadow.exe 监控另外一台中端服务器会话
shrpubw.exe 建立和共享文件夹
sigverif.exe 文件签名验证
smlogsvc.exe 性能日志和警报(XP不可用)
sndrec32.exe 录音机
sndvol32.exe 显示声音控制信息
snmp.exe 简单网络管理协议(XP不可用)
snmptrap.exe SNMP工具(XP不可用)
srvmgr.exe 服务器管理器(XP不可用)
subst.exe 将路径与驱动器盘符关联
sysedit.exe 系统配置编辑器
syskey.exe NT账号数据库加密工具
sysocmgr.exe>Windows安装程序
systray.exe 在低权限运行systray
taskmgr 任务管理器
tasklist/svc(CMD)了解每个SVCHOST进程到底提供了多少系统服务(2000\98不可用)
tlist-S(CMD) 了解每个SVCHOST进程到底提供了多少系统服务(
taskman.exe 任务管理器(XP不可用)
taskmgr.exe 任务管理器
tcmsetup.exe 电话服务客户安装
tcpsvcs.exe TCP服务
termsrv.exe 终端服务
tftp.exe 将文件传输到正在运行TFTP服务的远程计算机或从正在运行TFTP服务的远程计算机传输文件
themes.exe 桌面主题(XP不可用)
tlntadmn.exe AdministratorTelnet服务管理
tlntsess.exe 显示目前的Telnet会话
tlntsvr.exe 开始Telnet服务
tracert.exe 诊断实用程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP)回显数据包发送到目标,以决定到达目标采用的路由
tsadmin.exe Administrator终端服务管理器(XP不可用)
tscon.exe 粘贴用户会话到终端对话
tsdiscon.exe 断开终端服务的用户
tskill.exe 杀掉终端服务
tsprof.exe 用终端服务得出查询结果
tsshutdn.exe 关闭系统
unlodctr.exe 性能监视器的一部分
upg351db.exe 升级Jet数据库(XP不可用)
ups.exe UPSserviceUPS服务
user.exe Windows核心服务
userinit.exe 打开我的文档
usrmgr.exe 域用户管理器
utilman.exe 指定2000启动时自动打开那台机器
vwipxspx.exe 调用IPX/SPXVDM
w32tm.exe 时间服务器
wextract.exe 解压缩Windows文件
winchat.exe 打开Windows聊天工具
winhlp32.exe 运行帮助系统
winmsd.exe 查看系统信息
winver.exe 显示Windows版本
wizmgr.exe Windows管理向导(XP不可用)
wjview.exe Java命令行调用Java
write.exe 打开写字板
wscript.exe 脚本工具
wupdmgr.exe Windowsupdate 运行Windowsupdate升级向导
winver 检查Windows版本
【批处理文件实例】
下面的批处理文件为删除temp、cookies、recent、TemporaryInternetFiles文件夹中的临时文件,通过执行批处理程序,解决手动删除的麻烦。
@echooff
del/f/s/q%systemdrive%\*.tmp
del/f/s/q%systemdrive%\*._mp
del/f/s/q%systemdrive%\*.log
del/f/s/q%systemdrive%\*.gid
del/f/s/q%systemdrive%\*.chk
del/f/s/q%systemdrive%\*.old
del/f/s/q%windir%\*.bak
del/f/q%systemdrive%\recycled*.*
del/f/s/q%windir%\prefetch\*.*
rd/s/q%windir%\temp&md%windir%\temp
rd/s/q%temp%&md%temp%
del/f/q%userprofile%\cookies\*.*
del/f/q%userprofile%\recent\*.*
rd/s/q"%userprofile%\LocalSettings\TemporaryInternetFiles"
cls&echo清除系统垃圾完成!
echo.&pause
实验二进程模拟程序
【实验要求】
1、上机前认真阅读实验内容,并编好程序;
2、上机实验后,请列出实验数据,写出实验结果;
3、完成实验报告后交任课教师。
【实验目的】
1、理解进程的概念以及进程控制块(pcb)的作用;
2、通过模拟实现进程控制,进一步理解进程控制原语;
【实验内容】
1、编写程序,模拟实现创建进程;
2、查看进程的运行情况;
3、换出某个进程;
4、删除某个进程;
【提示】
1、pcb是系统识别进程的唯一标识,所以要先给出进程的pcb的数据结构;
然后,对数据结构进行初始化,即可完成进程的创建;最后将该进程插入到就绪队列;
2、查看运行进程,即是输出当前正在运行的进程的pcb信息即可;
3、可以按照某种策略,将就绪队列中的进程插入到挂起队列,即完成了进程的换出;
4、将某个进程的pcb从就绪队列或挂起队列中删除,即可完成进程的删除;
【参考程序】
#include"conio.h"
#include"stdio.h"
#include"stdlib.h"
structjincheng_type
{
intpid;
intyouxian;
intdaxiao;
};//进程模拟。
structjincheng_typejiuxu[20];//就绪数组。
structjincheng_typeguaqi[20];//挂起数组。
structjincheng_typecpu;//运行进程。
intshumu1=0,shumu2=0,first=0;//shumu1表示就绪的进程数,shumu2表示,first表示第一个创建的进程。
voidcreate()
{
if(shumu1>=20)
{
printf("\n就绪进程已满,请先删除或挂起进程\n");
}
else
{
if(first==0)
{
printf("\n这是你第一次输入进程信息,它将直接调入CPU运行!
");
printf("\n请输入新进程的pid\n");
scanf("%d",&cpu.pid);
printf("请输入新进程的优先级\n");
scanf("%d",&cpu.youxian);
printf("请输入新进程的大小\n");
scanf("%d",&cpu.daxiao);
first++;
}
else
{
printf("\n请输入新进程的pid\n");
scanf("%d",&jiuxu[shumu1].pid);
printf("请输入新进程的优先级\n");
scanf("%d",&jiuxu[shumu1].youxian);
printf("请输入新进程的大小\n");
scanf("%d",&jiuxu[shumu1].daxiao);
shumu1++;
}
}
}
//新建进程。
voidrun()
{
printf("\n现在正在运行的进程的资料如下:
\n");
printf("PID码为:
%d;\n优先级为:
%d;\n大小为:
%d.",cpu.pid,cpu.youxian,cpu.daxiao);
}
//查看运行进程。
voidhuanchua()//将优先数小的进程换入,并换出当前正在执行的进程
{
inti,p,m,n,t;
p=jiuxu[0].youxian;
for(i=0;i{
if(p>jiuxu[i].youxian)
{
p=jiuxu[i].youxian;
}
}
for(i=0;i<20;i++)//换出当前正在运行的进程
{
if(p==jiuxu[i].youxian)
{
m=cpu.daxiao;
cpu.daxiao=jiuxu[i].daxiao;
n=cpu.pid;
cpu.pid=jiuxu[i].pid;
t=cpu.youxian;
cpu.youxian=jiuxu[i].youxian;
break;
}
elsecontinue;
}
for(i;i{
jiuxu[i].daxiao=jiuxu[i+1].daxiao;
jiuxu[i].pid=jiuxu[i+1].pid;
jiuxu[i