上海大学操作系统实验分析报告四.docx
《上海大学操作系统实验分析报告四.docx》由会员分享,可在线阅读,更多相关《上海大学操作系统实验分析报告四.docx(17页珍藏版)》请在冰点文库上搜索。
上海大学操作系统实验分析报告四
上海大学操作系统实验报告四
————————————————————————————————作者:
————————————————————————————————日期:
SHANGHAIUNIVERSITY
《操作系统
(一)》实验报告
学院
计算机工程与科学学院
姓名
吴学辉
报告序号
四
实验题目
LINUX进程调度与系统监视
日期
2016.11.1
《操作系统
(一)》实验报告
一、实验目的与要求
1、熟练掌握进程与作业管理的相关Shell命令。
2、熟练掌握手工启动前后台作业的方法。
3、掌握at调度和cron调度的设置方法。
4、了解进行系统性能监视的基本方法。
二、实验环境
LinuxUbuntu系统
三、实验内容
1.作业和进程的基本管理
2.at进程调度
3.cron进程调度
4.系统性能监视
操作过程:
实验1:
【操作要求1】先在前台启动vi编辑器并打开f4文件,然后挂起,最后在后台启动一个查找inittab文件的find作业,find的查找结果保存到f5。
【操作步骤1】
(1)以超级用户(root)身份登录到RHELServer5字符界面。
(2)输入命令“vif4”,在前台启动vi文本编辑器并打开f4文件。
(3)按下Ctrl+Z组合键,暂时挂起“vif4”作业,屏幕显示该作业的作业号。
[1]+stoppedvimf4
(4)输入命令“find/-nameinittab>f5&”,启动一个后台作业,如下所示。
在显
示作业号的同时还显示进程号。
[root@localhost~]#find/-nameinittab>f5&
[2]2619
结果:
【操作要求2】查看当前作业、进程和用户信息,并对作业进行前后台切换。
【操作步骤2】
(1)输入命令“jobs”,查看当前系统中的所有作业。
[root@localhost~]#jobs
[1]+Stoppedvi4
[2]-Runningfind/-nameinittab>f5
由此可知“vif4”作业的作业号为1,已经停止。
“find/-nameinittab>f5&”作业的作业号为2,正在运行。
(2)输入命令“fg2”,将“find/-nameinittab>f5&”作业切换到前台。
屏幕显示出“find/-nameinittab>f5”命令,并执行此命令。
稍等片刻,作业完成后屏幕再次出现命令提示符。
(3)输入命令“catf5”,查看“find/-nameinittab>f5”命令的执行结果。
(4)再次输入命令“jobs”,可发现当前系统中的只有一个已停止的作业“vif4”。
(5)输入命令“kill-9%1”,终止“vif4”作业。
[root@localhost~]#jobs
[1]+Stoppedvif4
[root@localhost~]#kill-9%1
使用kill命令时“-9”选项可强制性中止进程或作业。
(6)稍等片刻,输入命令“jobs”,查看到当前没有任何作业。
[root@localhost~]#jobs
[root@localhost~]#
(7)输入命令“ps–l”,查看进程的相关信息,显示出的信息类似如下信息。
[root@localhost~]#ps-l
主要输出项的含义为:
S(State)进程状态,其中R表示运行状态;S表示休眠状T表示暂停或终止状态;Z表示僵死状态。
UID(UserID)进程启动者的用户ID。
PID(ProcessID)进程号。
PPID(Parents父进程的进程号。
ProcessID)
NI(Nice)进程的优先级值。
SZ(Size)进程占用内存空间的大小,为KB为单位。
TTY(Terminal)进程所在终端的终端号,其中桌面环境的终端窗口表示为pts/0,字符界面的终端号为tty1~tyy6。
TIME进程已运行的时间。
CMD(Command)启动该进程的Shell命令。
(8)输入命令“who–H”,查看用户信息。
[root@localhost~]#who-H
NAMELINETIMECOMMENT
roottty12007-05-2508:
25
lucytty22007-05-2508:
36
主要输出项的含义为:
NAME:
用户名
LINE:
用户登录的终端号
TIME:
用户登录的时间。
结果:
实验2:
【操作要求1】设置一个调度,要求在2008年1月1日0时,向所有用户发送新年快乐的问候。
【操作步骤1】
(1)超级用户输入命令“at00:
0001012013”,设置2013年1月1日0时执行的at调度的内容。
at调度的时间表示方法如下所示:
(1)HH:
MM:
即小时:
分钟,如09:
17,采用24小时计时制。
(2)数字AM/PM:
采用12小时计时制,如3am。
(3)MMDDYY或MM/DD/YY或DD.MM.YY:
指定具体的日期,必须写在具体时间之后。
(4)now+时间间隔:
指定距离现在的时间,时间单位为minutes(分钟),hours(小时),day(天),week(星期)。
(5)具体时间:
today(今天)、tomorrow(明天)、midnight(深夜)、noon(中午)teatime(下午4点),Tuesday(周二),July11(7月11日)。
(2)屏幕出现at调度的命令提示符“at>”,输入“wallHappyNewYear!
”,向所有用户发送消息。
(3)光标移动到“at>”提示符的第三行,按下Ctrl+D组合键结束输入。
根据调度设置的时间,最后显示出作业号和将要运行的时间。
[root@localhost~]#at00:
0001012013
at>wallHappyNewYear!
at>
job1at2013-01-0100:
00
结果:
【操作要求2】设置一个调度,要求5分钟后向所有用户发送系统即将重启的消息,并在2分钟后重新启动计算机。
【操作步骤2】
(1)超级用户输入命令“atnow+5minutes”,设置5分钟后执行的at调度的内容。
(2)屏幕出现at调度的命令提示符“at>”,输入“wallpleaselogout;thecomputerwillrestart.”,向所有用户发送消息。
(3)在“at>”提示符的第二行输入“shutdown–r+2”,系统2分钟后将重新启动。
“shutdown–r+2”命令与“reboot+2”命令效果相同,都是在2分钟后重新启动。
(4)光标移动到“at>”提示符的第三行,按下Ctrl+D组合键结束输入。
最后显示作业号和运行时间。
[root@localhost~]#atnow+5minutes
at>wallpleaselogout,thecomputerwillrestart
at>shutdown–r+2
at>
job2at2007-10-1312:
07
结果:
【操作要求3】查看所有的at调度,并删除08年1月1日执行的调度任务。
【操作步骤3】
(1)输入“atq”命令,查看所有的at调度,显示出作业号、将在何时运行以及at调度的设定者。
[root@localhost~]#atq
1at2008-01-0100:
00aroot
2at2007-10-1312:
07aroot
(2)输入“atrm1”命令删除作业号为1的at调度,并再次输入“atq”命令查看剩余的所有at调度内容。
[root@localhost~]#atrm1
[root@localhost~]#atq
2at2007-10-1312:
07aroot
(3)5分钟后系统将自动运行作业号为2的at调度内容。
先向所有用户发送消息,然后再等2分钟重新启动。
结果:
实验3:
【操作要求1】helen用户设置crontab调度,要求每天上午8点30份查看系统的进程状态,并将查看结果保存于ps.log文件。
【操作步骤1】
(1)以普通用户helen登录,并输入命令“crontab–e”,新建一个crontab配置文件。
(2)屏幕出现vi编辑器,按下“i”,进入输入模式,输入“308***ps>ps.log”。
(3)按下Esc键退出vi的文本输入模式,并按下“:
”键切换到最后行模式,输入“wq”,保存并退出编辑器,显示“crontab:
installingnewcrontab”信息。
(4)输入命令“crontab-l”,查看helen用户的cron调度内容。
[helen@localhost~]$crontab–l
308***ps>ps.log
(5)为立即查看到crontab调度的结果,切换为超级用户,并适当修改系统时间,如修改为8点29分。
最后退回到helen用户。
[helen@localhost~]$su–
Password:
[root@localhost~]#date11200829
TueNov2008:
29:
00CST2007
[root@localhost~]#exit
[helen@localhost~]$
(6)等待1分钟后,查看ps.log文件的内容,如果显示出正确的内容,那么说明crontab调度设置成功。
结果:
【操作要求2】helen用户添加设置crontab调度,要求每三个月的1号零时查看正在使用的用户列表。
【操作步骤2】
(1)再次输入命令“crontab–e”,出现vi编辑器,按下“i”,屏幕进入文本输入模式。
(2)在原有内容之后,另起一行,输入“00**/3*who>who.log”。
(3)最后保存并退出vi编辑器。
(4)为立即查看到crontab调度的结果,切换为超级用户,并适当修改系统时间,如修改为3月31日23点59分。
最后退回到helen用户。
[helen@localhost~]$su–
Password:
[root@localhost~]#date03312359
SatNov2023:
59:
00CST2007
[root@localhost~]#exit
[helen@localhost~]$
(5)等待1分钟后,查看who.log文件的内容,如果显示出正确的内容,那么说明新增加的crontab调度设置成功。
结果:
【操作要求3】查看cron调度内容,最后删除此调度。
【操作步骤3】
(1)输入命令“crontab-l”,查看cron调度内容。
[helen@localhost~]$crontab-l
308***ps>ps.log
00**/3*who>who.log
(2)输入命令“crontab-r”,删除cron调度内容。
(3)再次输入命令“crontab-l”,此时无cron调度内容。
[helen@localhost~]$crontab–r
[helen@localhost~]$crontab-l
nocrontabforHelen
结果:
实验4:
【操作要求1】利用Shell命令监视系统性能。
【操作步骤1】
(1)输入命令“top”,屏幕动态显示CPU利用率、内存利用率和进程状态等相关信息。
(2)按下M键,所有进程按照内存使用率排列。
(3)按下T键,所有进程按照执行时间排列。
(4)最后按下P键,恢复按照CPU使用率排列所有进程。
(5)按下CTRL+C组合键结束top命令。
【操作要求2】利用「系统监视器」工具监视CPU使用情况。
【操作步骤2】
(1)启动GNOME桌面环境,依次单击「系统」菜单=>「管理」=>「系统监视器」,打开「系统监视器」窗口。
(2)自动显示「资源」选项卡,查看当前CPU、内存和交换分区、网络历史的使用情况。
结果:
【操作要求3】利用「系统监视器」查看当前所有的进程,要求显示出启动进程的用户。
【操作步骤3】
(1)在「系统监视器」窗口单击「进程列表」选项卡,默认显示当前用户启动的所有进程。
单击「查看」菜单,选中「所有的进程」单选按钮,并选中「依赖关系」复选框,则显示系统中所有的进程。
设置查看所有进程
(2)单击「编辑」菜单中的「首选项」,弹出「系统监视器首选项」对话框。
在「进程」选项卡,选中「进程域」栏的「用户」复选框,要求显示出启动进程的用户。
单击「关闭」按钮,显示进程的各种信息。
设置进程显示首选项
【操作要求4】利用「系统监视器」查看所有的文件系统。
【操作步骤4】
(1)在「系统监视器」窗口单击「文件系统」选项卡,显示当前RHELServer5系统中主要的文件系统。
(2)单击「编辑」菜单中的「首选项」,弹出「系统监视器首选项」对话框。
在「文件系统」选项卡,选中「显示全部文件系统」复选框,要求显示出全部的文件系统。
最后单击「关闭」按钮。
设置显示全部文件系统
(3)「文件系统」选项卡显示全部的文件系统的信息。
显示文件系统信息
【操作要求5】利用「系统日志」工具查看系统日志。
【操作步骤5】
超级用户依次单击「系统」菜单=>「管理」=>「系统日志」,打开「系统日志」窗口。
可分别查看各类系统日志。
查看系统日志
四、收获与体会
通过这次实验我了解了LINUX进程调度与系统监视的原理,熟悉了进行系统性能监视的基本方法与进程调控的shell命令,对linux系统有了更深的了解。
实践操作加强了我的动手能力和思维能力。
2016.11.1