实验二Linux进程调度及用户管理

..

实验二

1 实验名称:Linux进程调度及用户管理

2 实验目标

2.1 掌握手工启动前后台作业的方法。

2.2 掌握进程与作业管理的相关Shell命令。

2.3 掌握at调度和cron调度的设置方法。

2.4了解系统性能监视的基本方法。

2.5 掌握用户管理基本方法和命令。

2.6 具有批量新建用户能力。

2.7掌握非实时的通信方式。

3 实验环境和准备

3.1Windows XP下基于“VMware Workstation”虚拟机环境的Red Hat Enterprise Linux Server 5系统。

3.2将主机改为具有个人学号后3位特征的名称。

4 实验要求、步骤及结果

4.1复习vi的基本操作;实现用户间非实时通信;进行作业和进程的基本管理。

【操作要求1】root用户在个人用户主目录下,利用vi新建student.txt文件;存盘退出。内容参见下表左列。

【操作步骤1-新建】

【操作步骤2-存盘】

【操作要求2】利用vi新建password.txt文件;内容参见上表右列。【操作步骤】

【操作要求3】将vi password.txt作业挂起;显示当前所有进程的详细信息。

【操作步骤1-挂起】

【操作步骤2-显示】

【操作要求4】将挂起的vi作业切换到前台;继续向password.txt文件输入以下内容,输入完成后存盘退出。password.txt文件的后段内容:

S06:12345678

S07:12345678

S08:12345678

S09:12345678

S10:12345678

S11:12345678

【操作步骤1-作业切换】

【操作步骤2-vi操作】

【操作要求5】返回虚拟终端1(root用户);将helen用户的进程优先数改为-3。【操作步骤】

【操作要求6】返回虚拟终端2(helen用户);后台再次启动ftp进程;显示进程的详细信息。

【操作步骤1-启动进程】

【操作步骤2-显示进程】

4.2基本用户管理和组群管理

【操作要求1】创建student用户;启动虚拟终端3,用student用户登录;修改自己的登录口令。

【操作步骤-创建】

【操作步骤-修改口令】

【操作要求2】将普通用户student切换为超级用户并使用相应环境,比较超级用户和普通用户工作环境。【操作步骤】

【工作环境比较】

【操作要求3】新建名为“class15”的组群,GID=800。

【操作步骤及结果】

注:可直接跳到4.3批量新建多个用户帐号

【操作要求4】利用vi命令,修改/etc/hosts文件的最后一列的内容与现主机名相同。学习并利用“mail”命令向student用户发送一封邮件,内容为“Please hand in the experimental report.”,主题“Urge the experimental report.”,并抄送给helen用户。

【操作步骤1-vi】

【操作步骤2-学习】

【操作步骤3-发邮件】

【操作要求5】启动虚拟终端2;helen用户登录,接收、阅读邮件,并回复“I know”;后台启动ftp进程;显示进程的优先级。

【操作步骤1-收邮件并回复】

【操作步骤2-启动进程】

【操作步骤3-显示优先级】

【操作要求6】删除student用户同时删除其个人用户主目录。

【操作步骤-删除用户】

4.3批量新建多个用户帐号

【操作要求1】为某学习小组的10位同学批量创建用户账号。用户账号为“S”+ 2位顺序号,即

注:用户信息保存在student.txt文件中,口令保存在password.txt中。(参见本文件4.1)【截取/etc/group相关内容】

【操作步骤1】

【截取/etc/passwd相关内容】

提示:cat命令,截取UID>=500内容【截取/etc/shadow相关内容】

【操作步骤2】

【截取/etc/passwd相关内容】

【截取/etc/shadow相关内容】

【操作步骤3】

【截取/etc/passwd相关内容】

【截取/etc/shadow相关内容】

【操作步骤4】

【截取/etc/passwd相关内容】

【截取/etc/shadow相关内容】

【抄写student.txt文件第一行和最后一行内容】

St001:x:800:800::/home/st001:/bin/bash

……

St010:x:800:800::/home/st010:/bin/bash

【抄写password.txt文件第一行和最后一行内容】

St001:12345678

……

St010:12345678

【操作要求2】启动虚拟终端3,S10登陆。

【截取登陆界面】

4.4 at进程调度

【操作要求1】设置一个10分钟后执行的at调度。要求:统计系统中登录用户数,并将结果保存到who.txt 文件中;向所有登录用户发送“The Computer Will Shutdown in 5 Minutes!”的消息;并在5分钟后重新启动系统。

【操作步骤-设置at调度】

【操作步骤-at命令】

【操作要求2】显示进程详细状态;显示等待中的at调度。

【操作步骤1-显示进程】

【操作步骤2-显示at调度】

【操作要求3】删除等待中的at调度。

【操作步骤】

4.5 cron进程调度

【操作要求1】查看系统时间。设置crontab调度,(时间节点依照上课时间而变,主要还是要看到执行结果)①每天晚上8:50查看系统中进程的状态;②每周一~五的9:00统计登入用户数并保存在who.txt文件中。③每月13,18,20日16:55向各位登录用户发送“Pleas submit financial statement.”信息。【操作步骤1-查看系统时间】

【操作步骤2-设置cron调度】

【操作要求2】显示crontab调度的内容。

【操作步骤及结果】

【操作要求3】查看crontab调度的执行结果。

【操作步骤及结果截图①】

【操作步骤及结果截图②】

【操作步骤及结果截图③】

5 评价

5.1实验评价

实验涉及到了上课的所有内容,设计十分全面和周到。不仅让我们回忆了自己学习过的知识,巩固了相关知识,同时又有关于进程的阅读要求,扩展了视野。

5.2自我评价

整个实验重点在于了解Linux操作系统的桌面环境和掌握基本shell命令的使用。知识点在课堂上上机操作的时候老师教过,但还有一部分的题需要我们自己学习老师发的辅导资料完成实验,这其中就考验了我们的自觉性。我们遇到不懂的问题可以问同学或者上网查但绝对不可以直接不动脑子的放弃或抄。比如:最后一个题目中编辑用户信息文件和用户口令文件的格式不太懂,我经过网上搜查资料,彻底搞懂之后完成题目。

6 思考题

6.1简述线程与进程的主要区别。

线程是指进程内的一个执行单元,也是进程内的可调度实体。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。

6.2 Linux操作系统可以描述进程的哪几种状态。

运行状态(正在使用CPU)、就绪状态(等待分配CPU)、堵塞状态(等待输入/输出等)

6.3简述从“程序”到“作业”再到“进程”的动态演变过程。

“程序”正准备进入到内存,被称之为“作业”。然而当这个作业进入到内存后,称之为“进程”。程序被加载到内存,首地址送入程序计数器。作业从外存的后备队列进入内存的就绪队列等待运行,依照某种算法将外存上处于后备队列中的若干个作业调入内存,PCB记录进程当前时刻的状态及与其它进程、资源的关系,系统中所有PCB构成控制并发程序执行,维护系统环境的依据。

相关文档
最新文档