黄河科技学院操作系统实验指导书.docx
- 文档编号:16965604
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:63
- 大小:44.86KB
黄河科技学院操作系统实验指导书.docx
《黄河科技学院操作系统实验指导书.docx》由会员分享,可在线阅读,更多相关《黄河科技学院操作系统实验指导书.docx(63页珍藏版)》请在冰点文库上搜索。
黄河科技学院操作系统实验指导书
计算机操作系统实验指导书
学院:
信息工程学院
适用专业:
计算机各专业
制定人:
杨志武
教研室:
软件工程教研室
信息工程学院
2009年9月
前言
操作系统是计算机的核心和灵魂。
操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生和研究生开设的一门计算机专业课程。
操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。
本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:
理解操作系统的设计和实现思路,掌握典型算法。
基本要求是:
理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
实验要求
为了顺利完成操作系统课程实验,学生应做到:
(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。
(2)实验结束一周后提交实验报告。
实验报告内容应包括:
实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。
(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(4)实验的验收将分为两个部分:
第一部分是上机操作,随机抽查程序运行和即时提问;
第二部分是提交书面的实验报告。
此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。
目录
前言I
实验要求II
目录III
实验一LINUX及其使用环境
(一)1
实验一LINUX及其使用环境
(二)5
实验一LINUX及其使用环境(三)8
实验一LINUX及其使用环境(四)13
实验二LINUX环境的文本编辑17
实验三Linux系统的shell编程22
实验四LINUX环境下C语言的编译及调试24
实验五LINUX环境下进程管理27
实验六Linux存储管理32
实验七LINUX中的设备加载与卸载35
实验八(LINUX环境下)OS经典算法模拟
(一)36
实验九使用Windows2000/xp注册表屏蔽桌面上的“回收站”41
实验十Linux文件管理42
实验十一(LINUX环境下)OS经典算法模拟
(二)45
实验一LINUX及其使用环境
(一)
LINUX常用命令简介——目录操作、系统询问与权限口令
实验目的
1.了解Linux的命令及使用格式。
2.熟悉Linux的常用基本命令——目录操作、系统询问与权限口令。
实验内容
1.熟悉Linux的目录操作命令。
2.熟悉Linux的系统询问命令。
3.熟悉Linux的权限口令。
实验预备
预习附录一《LINUX简介》。
实验指导
1.Linux的登录与退出
(1)Linux的登录
在Windows2000/XP环境下,点击开始→运行,载运新对话框里输入:
telnet主机的IP地址
即可使PC作为终端(terminal)登录到Linux服务器(LinuxServer).
执行格式:
telnethostname(主机名)
或telnet主机的IP地址
例:
telnet
telnet192.168.0.100
步骤:
login :
(//输入username。
例stu)
password :
(//输入密码。
例1234567)
(2)Linux的退出
在Linux$提示符下,输入logout、exit或shutdown.
例:
$logout
2.Linux命令格式
命令[选项][处理对象]
例:
ls-lamydir
注意:
(1)命令一般采用小写格式(Linux区分大小写)。
(2)选项通常以减号(-)连接一个或数个字符表示,用来选择一个命令的不同操作。
(3)同一行可有数个命令,命令间应以分号隔开。
(4)命令后加上&可使该命令在后台(background)执行。
3.目录操作命令
和DOS相似,Linux采用树形目录管理结构,由根目录(/)开始一层一层地将子目录建构下去,各子目录以/个隔开。
用户登陆(login)后,工作目录的位置称为“homedirectory”,由系统管理员设定。
‘~’符号代表自己的“homedirectory”,例如:
“~/myfile”是指自己home目录下myfile这个文件。
Linux的通配符有三种:
‘*’和‘?
’用法与DOS相同,‘-’代表区间内的任一字符,如:
test[0-5]即代表test0、test1、……、test5的集合。
(1)显示目录文件
命令格式:
ls[-atFlgR][name](name可为文件或目录名称)
例:
ls显示出当前目录下的文件
ls-a显示出的所有文件(包含隐藏文件)
ls-t按照文件最后修改时间显示文件
ls-F显示出当前目录下的文件及其类型
ls-l显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称
ls-lg同上
ls-R显示出该目录及其子目录下的文件
注:
ls与其它命令搭配使用可以生出很多技巧(最简单的如“ls–l|more”),更多用法请ls–help查看,其它命令的更多用法请输入:
命令名—help查看。
(2)建新目录
命令格式:
mkdirdirectoryName
例:
mkdirdir1//创建一个名为dir1的目录
(3)删除目录
命令格式:
rmdirdirectoryName或rmdirectoryName
例:
rmdirdir1//删除目录dir1,系统禁止删除非空目录。
rm–rdir1//删除目录dir1及其下所有文件及子目录。
rm-rfdir1//强制删除,不管是否空目录,且不给出提示。
(4)改变工作目录位置
命令格式:
cd[name]
例:
cd//改变目录位置至用户login时的workingdirectory
cddir1//改变目录位置至dir1目录
cd~user//改变目录位置至用户的workingdirectory
cd..//改变目录位置至当前目录的父目录
cd../user//改变目录位置至上父目录下的user目录
cd/dirName1/dirName2//改变目录位置至绝对路径(fullpath)
cd-//回到进入当前目录前的父目录
(5)显示当前所在目录
命令格式:
pwd
(6)查看目录大小
命令格式:
du[-s]directory
例:
dudir1//显示目录dir1及其子目录容量(以kb为单位)
du–sdir1//显示目录dir1的总容量
(7)显示环境变量
命令格式:
echo
例:
echo$home//显示家目录
Echo$PATH//显示可执行文件搜索路径
Env//显示所有环境变量(可能很多,最好用“env|more”,或“envgrepPATH”等)
(8)修改环境变量,在bash下用export,
如:
exportPATH=$PATH:
/usr/local/bin
关于export的具体用法,可以用shell的help命令:
helpexport。
4.系统询问与权限口令
(1)查看系统中的使用者
命令格式:
who
(2)查看用户名
命令格式:
whoamI//查看自己的username
(3)改变自己的username的账号与口令
命令格式:
suusername
例:
suusername//输入账号
password//输入密码
实验一LINUX及其使用环境
(二)
LINUX常用命令简介——文件操作
实验目的
1.了解Linux的文件命令及使用格式。
2.熟悉Linux的常用基本命令——文件操作。
实验内容
熟悉Linux的文件操作命令。
实验预备
预习附录一《LINUX简介》。
实验指导
1.查看文件(可以是二进制文件)的内容
命令格式1:
catfilename
命令格式2:
morefilename
命令格式3:
catfilename|more
例:
catfile1//以连续显示方式,查看文件file1的内容
morefile1//以分页方式查看文件的内容
catfile1|more//同上
2.删除文件
命令格式:
rmfilename
例:
rmfile?
rmf*
3.复制文件
命令格式:
cp[-r]sourcedestination
例:
cpfile1fiel2//将文件file1复制到文件file2
cpfile1dir1//将文件fiel1复制到目录dir1
cp/tmp/file1//将文件file1复制到当前目录
cp/tmp/file1file2//将文件file1复制到当前目录下的文件file2
cp–rdir1dir2//(recursivecopy)复制整个目录
4.移动或更改文件、目录名称
命令格式:
mvsourcedestination
例:
mvfile1file2//将文件fiel1更名为file2
mvfile1dir1//将文件file1移到目录dir1下
mvdir1dir2//将dir1目录更名为dir2
5.比较文件(可以是二进制)或目录的内容
命令格式:
diff[-r]name1name2
例:
difffile1fiel2//比较fiel1和file2的不同处
diff–rdir1dir2//比较dir1和dir2的不同处
6.文件中字符串的查找
命令格式:
grepstringfile
例:
grepabcfile1//查找并列出串abc所在的整行文字
7.文件或命令的路径寻找
命令格式1:
whereiscommand//显示命令的路径
命令格式2:
whichcommand//显示路径及使用者所定义的别名
命令格式3:
whatiscommand//显示命令的功能摘要
命令格式4:
findsearch–path–namefilename–print
//搜寻指定路径下某文件的路径
命令格式5:
locatefilename
根据系统预先生成的文件/目录数据库(/var/lib/slocate/slocate.db)查找匹配的文件/目录,查找速度很快,如果有刚进行的文件改变而系统未到执行时更新数据库的时间,可以打入updatedb命令,手动更新。
8.建立文件或目录的链接
命令格式:
ln
例:
lnsourcetarget1//建立source文件(已存在)的硬链接,命名为target1。
ln–ssourcetarget2//建立source文件的符号链接,命名为target2。
9.文件属性的设置
改变文件或目录的读、写、执行的权限。
命令格式:
chmod[-R]modename
其中:
[-R]为递归处理,将指定目录下所有文件及子目录一并予以处理,mode为3-8为数字,是文件/目录读、写、执行权的缩写(r:
read,数字代号为“4”,w:
write,数字代号为“2”,x:
execute,数字代号为“1”)
mode:
rwxrwxrwx
usergroupother
缩写:
(u)(g)(o)
例:
chmod755dir1//将目录dir1设定为任何人皆由读取及执行的权利,但//只有拥有者可做写修改。
其中7=4+2+1,5=4+1.
chmod700file1//将file1设为拥有者可以读、写和执行
chmodo+xfile2//为file2增加拥有者可执行的权利
chmodg+xfile3//为file3增加组使用者可执行的权利
chmodo-rfile4//为file4除去其他使用者可读取的权利
10.改变文件或目录所有权
命令格式:
chown[-R]usernamename
例:
chownuserfile1//将文件file1改为user所有
chown–Ruserdir1//将目录dir1及其下所有文件和子目录改为user所有
11.检查用户所在组的名称
命令格式:
groups
12.改变文件或目录的组拥有权
命令格式:
chgrp[-R]groupnamename
例:
chgrpvlsifile1//将文件file1改为vlsi组所有
chgrp–Rimagedir1//将目录dir1及其下所有文件和子目录改为image群组
13.改变文件或目录的最后修改时间
命令格式:
touchname
实验一LINUX及其使用环境(三)
LINUX常用命令简介——进程操作
实验目的
1.了解Linux的文件命令及使用格式。
2.熟悉Linux的常用基本命令——进程操作。
实验内容
熟悉Linux的进程操作命令。
实验预备
预习附录一《LINUX简介》。
实验指导
1.查看系统当前的进程
命令格式:
ps[-aux]
例:
ps或ps–x//查看系统中属于自己的进程
ps–au//查看系统中所有使用者的进程
ps–aux//查看系统中包含系统内部及所有使用者的进程
ps–aux|grepapache//找出系统中运行的所有名称中带有“apache”串的进程
2.查看正在后台(background)中运行的进程
命令格式:
jobs
3.结束或终止进程
命令格式:
kill[-9]PID//PID为利用ps命令所查处的进程的ID
例:
kill456或kill-9456//终止进程ID为456的进程
3.在后台(background)执行processcommand的命令
命令格式:
command&//在命令后加上&,
例:
gccfile1&//在后台编译file1.c
注意:
按下∧Z,暂停正在执行的进程。
键入“bg”,将所暂停的进程置入background继续执行。
例:
gccfile1&
∧Z
stopped
bg
5.结束或终止在background中的进程
命令格式:
kill%n
例:
kill%1//终止在background中的第一个job
Kill%2//终止在background中的第二个job
6.显示系统中程序的执行状态
例:
top–q//不断更新、显示系统程序的执行状态
第一行显示的项目依次为:
当前时间、系统启动时间、当前系统登录用户数目、平均负载。
第二行显示进程的情况,依次为:
进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。
第三行为CPU状态,依次为:
用户占用、系统占用、有限进程占用、闲置进程占用。
第四行为内存状态,依次为:
平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。
第五行为交换状态,依次为:
平均可用交换容量、已用容量、闲置容量、高速缓存容量。
PID每个进程的ID。
PPID每个进程的父进程ID
UID每个进程所有者的用户ID
USER每个进程所有者的用户名
PRI每个进程的优先级别
NI该进程的优先级值
SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB.
TSIZE该进程的代码大小,对于内核进程这是一个很奇怪的值。
DSIZE数据和堆栈的大小。
TRS文本驻留大小。
D被标记为“不干净”的页项目。
LIB使用的库页大小,对于ELF进程没有作用。
RSS该进程占用的物理内存总数量,单位为KB
SHARE该进程使用共享内存的数量。
STAT该进程自启动以来所占用的总CPU时间,如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间,且标题会变成CTIME。
%CPU该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
%MEM该进程占用的物理内存占总内存的百分比。
COMMAND该进程的命令名称,如果一行显示不下,则会进行截取,内存中的进程会有一个完整的命令行。
按“∧C”停止查看。
7.以树状图显示执行的程序
命令格式:
pstree
例:
pstree–h//列出进程树并高亮标出当前执行的程序。
8.监视虚拟内存
命令格式:
vmstat
vmstat对系统的虚拟内存、进程、CPU活动进行监视,同时它也对磁盘和forks和vforks操作的个数进行汇总。
不足的是:
vmstat不能对某个进程进行深入分析,它仅对系统的整体情况进行分析。
例如:
[angel@home/angel]#vmstat
procsmemoryswapiosystemcpu
rbwswpdfreebuffcachesisobiboincsussyid
00071801852560924840000652480018
其中:
Procs
r:
等待运行的进程数,b:
处于非中断睡眠状态的进程数,w:
被交换出去的可运行进程数。
Memory
swpd:
虚拟内存使用情况,单位为KB,free:
空闲的内存,单位为KB,buff:
被用做缓存的内存数,单位为KB。
Swap
si:
从磁盘交换到内存的交换页数量,单位为KB/秒,
so:
从内存交换到磁盘的交换页数量,单位为KB/秒,
IO
bi:
发送到块设备的块数,单位为块/秒,
bo:
从块设备接收到的块数,单位为块/秒。
System
in:
美妙的中断数,包括时钟中断;cs:
每秒的环境(上下文)切换次数
CPU(按CPU的总使用百分比显示)
us:
CPU使用时间;sy:
CPU系统使用时间;id:
闲置时间。
9.分析共享内存、信号量和消息队列
命令格式:
ipcs
相关命令:
ipcrm//用于给有权限的用户清除这些量,注意不要乱清除,除非该量确实失效了。
例:
[angel@home/angel]#ipcs
―――――――――――SharedMemorySegments―――――――――――
keyshmidownerpermsbytesnattchstatus
0x002802670root64410485761
0x61715f011root6663200033
0x000000002nobody6009216411dest
―――――――――――――SamephoreArrays―――――――――――――
keysemidownerpermsnsemsstatus
0x002802690root66614
0x61715f02257root7771
――――――――――――――MessageQueues―――――――――――――
keymsqidownerpermsused-bytesmessages
10.监视用户空间程序发出的全部系统调用
strace还能显示调用的参数,以及用符号方式表示的返回值。
strace从内核中接受信息,所以一个程序无论是否按调试方式编译(gcc-g)或是否被去掉了调试信息,都可以被跟踪。
命令格式:
strace[-tTeo]executable-program-name
-t//用来显示调用发生的时间
-T//显示调用花费的时间
-e//限定被跟踪的调用类型
-o//将输出重定向到一个文件中
类似命令:
ltrace[-fiS]executable-program-name
实验一LINUX及其使用环境(四)
LINUX常用命令简介——通信、I/O及其它操作
实验目的
1.了解Linux的文件命令及使用格式。
2.熟悉Linux的常用基本命令——通信类操作。
3.熟悉Linux的常用基本命令——I/O操作。
4.熟悉Linux的常用基本命令——其它操作
实验内容
熟悉Linux的通信类、I/O及其它操作命令。
实验预备
预习附录一《LINUX简介》。
实验指导
1.本地工作站语LINUX服务期间的文件传输
命令格式:
ftp主机名
或:
ftp主机的IP地址
后续执行步骤:
name:
//输入账号
password//输入密码
ftp>help//显示ftp可使用的所有命令
ftp>lcddir1//改变本地机当前目录为dir1
ftp>getfile1//将Linux服务器文件file1拷贝到本地机
ftp>putfile2//将本地文件file2拷贝到Linux服务器
ftp>!
ls//显示本地机当前目录下的所有文件
ftp>!
pwd//显示本地机当前所在目录下的所有文件
ftp>ls//显示LINUX服务器当前目录下所有文件
ftp>dir//显示服务器当前目录下所有文件(略同于LINUX的ls//-l命令)
ftp>pwd//显示LINUX服务器当前所有目录位置
ftp>cddir1//更改LINUX服务器的目录至dir1
ftp>mget*.c//将服务器中.c文件拷贝到本地机中
ftp>mput*.txt//将所有.txt文件拷贝到服务器
ftp>quit//结束ftp工作
ftp>bye//结束ftp工作
2.检查与LINUX服务器连接是否正常
命令格式:
pinghostname
或:
pingIP-Address
例:
ping127.1.1.1
3.将文件当做Email的内容送出
命令格式:
mail–s“Subject-string”username@address<filename
例:
mail–s“program”user<file.c
功能:
将file.c当做mail的内容,送至user,subjectname为program
4.传送Email给本地LINUX服务器上的用户
命令格式:
mailusername
5.读取信件
命令格式:
6.列出套接字使用情况
命令格式:
socklist
7.查看网络连接
命令格式:
netstat
8.管道(pipe-line)的使用
命令格式:
commang1|commang2
功能:
将command1的执行结果送到command2作为输出。
例:
ls–R1|more//已分页方式列出当前目录文件及子目录名称
catfile|more//以分页方式列出file1的内容
9.标准输入控制
命令格式:
command-line<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黄河 科技学院 操作系统 实验 指导书