实验三 进程管理与系统监视

合集下载

操作系统实验,实验3, 进程管理 (1)

操作系统实验,实验3, 进程管理 (1)

在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件 “job”; 按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户); 输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容; 稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度 的执行效果;
切换到第一个虚拟终端观察at调度的执行效果(5分钟后系统将执行重 启调度任务)。
[操作要求2] 设置一个调度,要求1分钟后执行文件job中的作业。 文件job的内容为: find /home/jkx/ -name “*.c” > /home/jkx/fdresult wall user jkx, all code files have been searched out! Please check out. [操作步骤]
续表
守 护 进 程 innd Usenet新闻服务器 功 能 说 明
linuxconf
lpd named netfs network
允许使用本地WEB服务器作为用户接口来配置机器
打印服务器 DNS服务器 安装NFS、Samba和NetWare网络文件系统 激活已配置网络接口的脚本程序
nfsd
portmap postgresql routed sendmail
事件(例如xinetd和lpd)
启动守护进程有如下几种方法
在引导系统时启动 人工手动从shell提示符启动
系统启动script的执行期间 被启动(/etc/rc.d) 任何具有相应执行 权限的用户
使用crond守护进程启动
执行at命令启动
守护进程一般由系统在开机时通过脚本或root

操作系统原理实验3-进程管理

操作系统原理实验3-进程管理

《操作系统原理》实验报告
实验序号:3 实验项目名称:进程管理
一、实验目的及要求
1. 加深对进程概念的理解,明确进程和程序的区别。

2. 进一步认识并发执行的实质。

3. 掌握Linux操作系统下的进程的创建与撤销。

二、实验设备(环境)及要求
1.虚拟机VMware Workstation、Ubuntu操作系统和C语言编程。

2.创建多个父进程与子进程,并撤销这些进程。

3.编写一段程序,使用系统调用fork()创建两个子进程。

当此程序运行时,在系统中有一个父进程和两个子进程活动。

让每一个进程在屏幕上显示一个字符:父进程显示字符a;子进程分别显示字符b和字符c。

试观察记录屏幕上的显示结果并分析原因。

三、实验内容与步骤
1.创建多个父进程与子进程
2.撤销这些进程
kill命令
3.编写程序
4.运行
四、实验结果与数据处理
分析:从进程并发执行来看,输出bca或abc的任意排列
原因:fork()创建进程所需要的时间要多于输出一个字符的时间,因此在主进程创建进程2的同时,进程1就输出了”b”,而进程2和主程序的输出次序是有随机性的,所以会出现多种可能结果。

五、分析与讨论
fork函数的原理是:一个现有进程可以调用fork函数创建一个新进程。

由fork 创建的新进程被称为子进程(child process)。

fork 函数被调用一次但返回两次。

两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。

六、教师评语
成绩
签名:
日期:。

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验电大操作系统实验报告 3 进程管理实验一、实验目的进程管理是操作系统的核心功能之一,本次实验的目的是通过实际操作和观察,深入理解进程的概念、状态转换、进程调度以及进程间的通信机制,掌握操作系统中进程管理的基本原理和方法,提高对操作系统的整体认识和实践能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程语言为 C 语言,开发工具为 Visual Studio 2019。

三、实验内容及步骤(一)进程的创建与终止1、编写一个 C 程序,使用系统调用创建一个子进程。

2、在父进程和子进程中分别输出各自的进程 ID 和父进程 ID。

3、子进程执行一段简单的计算任务,父进程等待子进程结束后输出结束信息。

以下是实现上述功能的 C 程序代码:```cinclude <stdioh>include <stdlibh>include <unistdh>int main(){pid_t pid;pid = fork();if (pid < 0) {printf("创建子进程失败\n");return 1;} else if (pid == 0) {printf("子进程:我的进程 ID 是%d,父进程 ID 是%d\n",getpid(), getppid());int result = 2 + 3;printf("子进程计算结果:2 + 3 =%d\n", result);exit(0);} else {printf("父进程:我的进程 ID 是%d,子进程 ID 是%d\n",getpid(), pid);wait(NULL);printf("子进程已结束\n");}return 0;}```编译并运行上述程序,可以观察到父进程和子进程的输出信息,验证了进程的创建和终止过程。

(二)进程的状态转换1、编写一个 C 程序,创建一个子进程,子进程进入睡眠状态一段时间,然后被唤醒并输出状态转换信息。

进程管理与系统监控

进程管理与系统监控

图7-12 top命令的执行结果
7.2系统日志
7.2.1日志文件简介 7.2.2常用的日志文件
7.2.1日志文件简介
日志文件(Log Files)是用于记录系统操 作事件的记录文件或文件集合。
系统日志文件是包含关于系统消息的文件 ,包括内核、服务、在系统上运行的应用 程序等。不同的日志文件记载不同的信息 。
【格式】nice [选项] 命令
【选项】常用的一个选项是“-n”,n值即为NI的值,n 值的范围为-20—19。n值越小优先级越高。即,-20代 表最高的NI优先级,19代表最低的NI优先级。如果不加 该选项,默认NI值为10。
【说明】默认情况下,只有root用户才能提高请求进程 的优先级,普通用户只能降低请求进程的优先级。
2、进程的特征 (1)动态性 (2)并发性 (3)独立性 (4)异步性 (5)结构性
3、进程的基本状态及其转换
3、进程的基本状态及其转换 (1)进程的基本状态 ①就绪状态 ②执行状态 ③阻塞状态 (2)进程状态的转换
时间片用完
执行
I/O请求或等待某事件
进程调度
就绪
I/O完成或事件发生
在系统监视器的【资源】选项卡中,可以 查看【CPU历史】、【内存和交换历史】 和【网络历史】等情况。
图7-20 查看资源状况
在【文件系统】选项卡中,可以查看设备 及其对应的目录、相应文件系统的类型、 和所占磁盘空间的纵览、可用磁盘空间的 大小、已用磁盘空间的大小和空闲磁盘空 间的大小等信息。
图6-8 LibreOffice Calc保存文件选中格式列表界面
alc可以在表格中插入图表演示,图表类型 包括了柱形图、条形图、饼图、面积图、 折线图、XY(散点图)、气泡图、网状图 、股价图和柱—线图等。

进程管理实验报告分析(3篇)

进程管理实验报告分析(3篇)

第1篇一、实验背景进程管理是操作系统中的一个重要组成部分,它负责管理计算机系统中所有进程的创建、调度、同步、通信和终止等操作。

为了加深对进程管理的理解,我们进行了一系列实验,以下是对实验的分析和总结。

二、实验目的1. 加深对进程概念的理解,明确进程和程序的区别。

2. 进一步认识并发执行的实质。

3. 分析进程争用资源的现象,学习解决进程互斥的方法。

4. 了解Linux系统中进程通信的基本原理。

三、实验内容1. 使用系统调用fork()创建两个子进程,父进程和子进程分别显示不同的字符。

2. 修改程序,使每个进程循环显示一句话。

3. 使用signal()捕捉键盘中断信号,并通过kill()向子进程发送信号,实现进程的终止。

4. 分析利用软中断通信实现进程同步的机理。

四、实验结果与分析1. 实验一:父进程和子进程分别显示不同的字符在实验一中,我们使用fork()创建了一个父进程和两个子进程。

在父进程中,我们打印了字符'a',而在两个子进程中,我们分别打印了字符'b'和字符'c'。

实验结果显示,父进程和子进程的打印顺序是不确定的,这是因为进程的并发执行。

2. 实验二:每个进程循环显示一句话在实验二中,我们修改了程序,使每个进程循环显示一句话。

实验结果显示,父进程和子进程的打印顺序仍然是随机的。

这是因为并发执行的进程可能会同时占用CPU,导致打印顺序的不确定性。

3. 实验三:使用signal()捕捉键盘中断信号,并通过kill()向子进程发送信号在实验三中,我们使用signal()捕捉键盘中断信号(按c键),然后通过kill()向两个子进程发送信号,实现进程的终止。

实验结果显示,当按下c键时,两个子进程被终止,而父进程继续执行。

这表明signal()和kill()在进程控制方面具有重要作用。

4. 实验四:分析利用软中断通信实现进程同步的机理在实验四中,我们分析了利用软中断通信实现进程同步的机理。

第7章 进程管理与系统监视

第7章  进程管理与系统监视

• crontab文件格式
cron
59 23 * * * tar czvf lhy.tar.gz /home/lhy
• crontab命令用于安装、删除或者列出用 于驱动cron后台进程的crontab文件 :
crontab [-u <user>] <file> -e|l|r|i
• crontab源文件格式
4、进程的优先级
Linux中所有的进程根据其所处的状态,按照 时间顺序排成不同的队列。操作系统根据不同的 策略调度执行队列中的进程。 用户可以通过修改进程的优先级来改变进程在 队列中的位置,从而改变其执行的顺序。 启动进程的用户及超级用户有权修改进程的优 先级,但普通用户只能降低优先级。 进程的优先级取值为-20~19之间的整数,取 值越低,优先级越高,默认为0。
<minute> <hour> <day-of-month> <month-ofyear> <day-of-week> <commands>
59 23 * * * tar czvf lhy.tar.gz /home/lhy
进程管理命令
• 进程查看命令 ps • ps [选项] • 主要选项的含义如下:
启动进程/手工启动
• 前台启动:一般地,用户键入一个命令, 就已经启动了一个前台的进程。 • 后台启动 :对于非常耗时进程,可以然进 程在后台运行。从后台启动进程其实就 是在命令结尾加上一个“&”号
启动进程/调度启动
• 1)at命令 – 在shell提示符下输入”at 时间”,然后按回 车键。这时在下一行shell会等待用户继续 输入要执行的命令。每一行输入一个命令 ,所有命令都输入完毕后按Ctrl+d键结束 。 – 将各个命令写入shell脚本中,然后使用下 面格式设置在指定时间执行shell脚本中的 命令: at 时间 –f 脚本文件。 • 2)batch命令 • 3)cron命令

操作系统实验三实验报告

操作系统实验三实验报告
三、实验内容
(一)进程创建
编写程序实现创建多个进程,并观察进程的执行情况。通过调用Windows API函数`CreateProcess`来创建新的进程。在创建进程时,设置不同的参数,如进程的优先级、命令行参数等,观察这些参数对进程执行的影响。
(二)进程控制
实现对进程的暂停、恢复和终止操作。使用`SuspendThread`和`ResumeThread`函数来暂停和恢复进程中的线程,使用`TerminateProcess`函数来终止进程。通过控制进程的执行状态,观察系统的资源使用情况和进程的响应。
(一)进程创建实验结果与分析
创建多个进程后,通过任务管理器观察到新创建的进程在系统中运行。不同的进程优先级设置对进程的CPU占用和响应时间产生了明显的影响。高优先级的进程能够更快地获得CPU资源,执行速度相对较快;而低优先级的进程则在CPU资源竞争中处于劣势,可能会出现短暂的卡顿或计一个多进程同步的程序,使用信号量、互斥量等同步机制来协调多个进程的执行。例如,实现一个生产者消费者问题,多个生产者进程和消费者进程通过共享缓冲区进行数据交换,使用同步机制来保证数据的一致性和正确性。
四、实验步骤
(一)进程创建实验步骤
1、打开Visual Studio 2019,创建一个新的C++控制台应用程序项目。
六、实验中遇到的问题及解决方法
(一)进程创建失败
在创建进程时,可能会由于参数设置不正确或系统资源不足等原因导致创建失败。通过仔细检查参数的设置,确保命令行参数、环境变量等的正确性,并释放不必要的系统资源,解决了创建失败的问题。
(二)线程控制异常
在暂停和恢复线程时,可能会出现线程状态不一致或死锁等异常情况。通过合理的线程同步和错误处理机制,避免了这些异常的发生。在代码中添加了对线程状态的判断和异常处理的代码,保证了线程控制的稳定性和可靠性。

进程管理与系统监视

进程管理与系统监视
19
7.1 进程与作业管理(16)
at的另两个命令: • atq 格式:atq 功能:查看当前工作流程 • atrm 格式:atrm 编号 功能:删除流程 2.batch调度
格式:batch 【选项】 【时间】 功能:与at命令几乎相同,唯一的区别是如果不指定运行时 间,进程将在系统较空闲时运行,合适在时间上要求不高, 但运行时占用系统资源较多的工作。 主要选项说明:
描述进程的其他状态:
– 挂起状态:正在运行的进程,因为某个原因失去CPU而暂 时停止运行
– 终止状态:进程已结束 – 休眠状态:进程主动暂时停止运行 – 僵死状态:进程已停止运行,但是相关控制信息仍保留
4
7.1 进程与作业管理(4)
4.进程的优先级
通过调整进程的优先级,可以改变进程在队列中的排列 顺序,优先级的取值越低,优先级越高。取值范围:20~19之间的整数,默认为0。
进程与程序的区别 – 程序是一系列指令的集合,是静态的概念;进程是由程
序产生,是程序的一次运行过程,是动态的概念。 – 程序可以长期保存;进程只能暂时存在,动态地产生、
变化和消亡。
2
7.1 进程与作业管理(2)
2.作业
正在执行的一个或多个相关进程可形成一个作业。 根据作业运行方式的不同,作业可分为两大类: – 前台作业:运行于前台,用户正对其进行交互操作。 – 后台作业:运行于后台,不接收终端的输入,但向终
与at的选项一致
20
7.1 进程与作业管理(17)
3.cron调度
at调度和batch调度中指定的命令只能执行一次,但cron调度可 以重复执行指定的命令。
cron调度与crond进程、crontab命令和crontab配置文件有关。

进程管理与系统监视

进程管理与系统监视
jobs
kill -9 %1
ps -l查看进程的相关信息,现实的信息类似如下:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2705 2703 0 75 0 - 1270 wait pts/0 00:00:00 bash
SZ:进程占用内存空间的大小,以KB为单位;
TTY:进程所在终端的终端号;桌面环境的终端窗口表示为:pts/0,字符界面的终端号:tty1-tty6;
TIME:进程已运行的时间;
CMD:启动该进程的Shell命令。
who -H 查看用户的信息
NAME LINE TIME COMMENT
注意:1、对于偶尔运行的进程采用at或者batch调度。
2、对于特定时间重复运行的进程采用cron调度。
练习:
1、设置一个调度,要求在2011年5月4日0时,向所有用户发送新年快乐的问候。
at 00:00 05042011
at>wall Happy New Year!
如果采用12小时计时,则在后面加上AM或者PM
MMDDYY或者MM/DD/YY或者MM.DD.YY :指定具体的日期,必须在HH:MM之后;
(2)相对计时法
now+时间间隔:时间的单位为minutes(分钟)、hours(小时)、day(天)、week(星期)
(3)直接计时法
today(今天)、tomorrow(明天)、midnight(深夜)、noon(中午)、teatime(下午四点)
字段内容不能为空,如果无字段内容,用“*”表示
1-5表示从1号到5号

操作系统-实验三-进程管理-实验报告

操作系统-实验三-进程管理-实验报告

计算机与信息工程学院实验报告一、实验内容1.练习在shell环境下编译执行程序(注意:①在vi编辑器中编写名为sample.c的c语言源程序②用linux自带的编译器gcc编译程序,例如:gcc –o test sample.c③编译后生成名为test.out的可执行文件;④最后执行分析结果;命令为:./test)注意:linux自带的编译程序gcc的语法是:gcc –o 目标程序名源程序名,例如:gcc –o sample1 sample1.c,然后利用命令:./sample 来执行。

如果仅用“gcc 源程序名”,将会把任何名字的源程序都编译成名为a.out的目标程序,这样新编译的程序会覆盖原来的程序,所以最好给每个源程序都起个新目标程序名。

2.进程的创建仿照例子自己编写一段程序,使用系统调用fork()创建两个子进程。

当此程序运行时,在系统中有一个父进程和两个子进程活动。

让每一个进程在屏幕上显示一个字符:父进程显示“a”,子进程分别显示字符“b”和“c”。

观察记录屏幕上的显示结果,并分析原因。

3.分析程序实验内容要在给出的例子程序基础上,根据要求进行修改,对执行结果进行分析。

二、实验步骤1. 利用fork()创建一个小程序(1)编写程序#include <sys/types.h>main (){int i=5;pid_t pid;pid=fork();for(;i>0;i--){if (pid < 0)printf("error in fork!");else if (pid == 0)printf("i am the child process, my process id is %d and i=%d\n",getpid(),i);elseprintf("i am the parent process, my process id is %d and i=%d\n",getpid(),i);}for(i=5;i>0;i--){if (pid < 0)printf("error in fork!");else if (pid == 0)printf("the child process, my process id is %d and i=%d\n",getpid(),i);elseprintf("the parent process, my process id is %d andi=%d\n",getpid(),i);}}(2)运行程序(3)分析程序在这里,主程序先运行,在屏幕上输出一个a,之后两个子程序分别运行而输出c和b。

Linux-3

Linux-3

实验三、Linux常用的命令与系统管理一、实验要求(1)掌握利用shell命令新建用户与组群的方法,批量新建用户账号的步骤和方法(2)熟练掌握手工启动前后台作业的方法,掌握进程与作业管理的相关shell命令(3)掌握at调度和cron调度的设置方法,掌握系统性能监视的基本方法(4)掌握目录和文件管理的相关方法、文件权限修改的方法和文件归档和压缩的方法(5)掌握常用的shell命令二、实验内容(1)、用户与组群管理(2)、进程管理与系统监视(3)、目录和文件管理(4)、常用的shell命令三、实验指导与步骤1、用户与组群管理(1)新建一名为duser的用户,设置口令为“123456”,主要组群为myusers。

步骤:【1】进入终端,以超级用户身份登录。

输入命令:“groupadd myusers建立组群。

【2】输入命令“useradd – g myusers duser”,建立新用户duser,其主要组群是myusers。

【3】为新用户设置口令,输入命令“passwd duser”,根据屏幕提示输入两次口令,最后屏幕提示口令成功设置信息。

结果截图:【4】输入命令“cat /etc/passwd”,查看/etc/passwd文件的内容,发现文件的末尾增加了duser 用户信息。

结果截图:【5】输入命令“cat /etc/group”,查看cat /etc/group文件的内容,显示结果截图:(2)批量新建多个用户账号要求:为全班同学10位同学创建用户账号,用户名为“s”+学号的组合,其中班级名册中第一位同学的学号为080101。

所有同学都属于class0801组群。

所有同学的初始口令为111111。

步骤:【1】以超级用户身份登录,输入命令“groupadd –g 600 class0801”(假设值为600的GID 未被使用),新建全班同学的组群class0801。

【2】输入命令“vi student”,新建用户信息文件。

操作系统实验报告三

操作系统实验报告三

操作系统实验报告三一、实验目的本次操作系统实验的目的在于深入了解操作系统的进程管理、内存管理和文件系统等核心功能,通过实际操作和观察,增强对操作系统原理的理解和掌握,提高解决实际问题的能力。

二、实验环境本次实验在 Windows 10 操作系统环境下进行,使用了 Visual Studio 2019 作为编程工具,并借助了相关的操作系统模拟软件和调试工具。

三、实验内容与步骤(一)进程管理实验1、创建多个进程使用 C++语言编写程序,通过调用系统函数创建多个进程。

观察每个进程的运行状态和资源占用情况。

2、进程同步与互斥设计一个生产者消费者问题的程序,使用信号量来实现进程之间的同步与互斥。

分析在不同并发情况下程序的执行结果,理解进程同步的重要性。

(二)内存管理实验1、内存分配与回收实现一个简单的内存分配算法,如首次适应算法、最佳适应算法或最坏适应算法。

模拟内存的分配和回收过程,观察内存的使用情况和碎片产生的情况。

2、虚拟内存管理了解 Windows 操作系统的虚拟内存机制,通过查看系统性能监视器观察虚拟内存的使用情况。

编写程序来模拟虚拟内存的页面置换算法,如先进先出(FIFO)算法、最近最少使用(LRU)算法等。

(三)文件系统实验1、文件操作使用 C++语言对文件进行创建、读写、删除等操作。

观察文件在磁盘上的存储方式和文件目录的结构。

2、文件系统性能测试对不同大小和类型的文件进行读写操作,测量文件系统的读写性能。

分析影响文件系统性能的因素,如磁盘碎片、缓存机制等。

四、实验结果与分析(一)进程管理实验结果1、创建多个进程在创建多个进程的实验中,通过任务管理器可以观察到每个进程都有独立的进程 ID、CPU 使用率、内存占用等信息。

多个进程可以并发执行,提高了系统的资源利用率。

2、进程同步与互斥在生产者消费者问题的实验中,当使用正确的信号量机制时,生产者和消费者能够协调工作,不会出现数据不一致或死锁的情况。

实验报告四LINUX进程调度与系统监视

实验报告四LINUX进程调度与系统监视

实验四LINUX进程调度与系统监视实验环境:Linux 环境实验目的:(1)熟练掌握手工启动前后台作业的方法。

(2)熟练掌握进程与作业管理的相关 Shell 命令。

(3)掌握 at 调度和 cron 调度的设置方法。

(4)了解进行系统性能监视的基本方法。

实验内容及操作过程:1.作业和进程的基本管理操作要求1:先在前台启动vi 编辑器并打开f4 文件,然后挂起,最后在后台启动一个查找inittab 文件的find 作业,find 的查找结果保存到f5。

操作过程:(1)以超级用户(root)身份登录到 RHEL Server 5 字符界面。

(2)输入命令“vi f4”,在前台启动 vi 文本编辑器并打开 f4 文件。

(3)按下 Ctrl+Z 组合键,暂时挂起“vi f4”作业,屏幕显示该作业的作业号。

(4)输入命令“find / -name inittab > f5 &”,启动一个后台作业,如下所示。

在显示作业号的同时还显示进程号。

结果:有截图可以看到f4的作业号是1,启动的后台作业f5可以看到作业号为2,并显示进程号为1662.操作要求2:查看当前作业、进程和用户信息,并对作业进行前后台切换。

操作过程:(1)输入命令“jobs”,查看当前系统中的所有作业。

(2)输入命令“fg 2”,将“find / -name inittab > f5 &”作业切换到前台。

屏幕显示出“find / -name inittab > f5”命令,并执行此命令。

稍等片刻,作业完成后屏幕再次出现命令提示符。

(3)输入命令“cat f5”,查看“find / -name inittab > f5”命令的执行结果。

(4)再次输入命令“jobs”,可发现当前系统中的只有一个已停止的作业“vi f4”。

(5)输入命令“kill -9 %1”,终止“vi f4”作业。

(6)稍等片刻,输入命令“jobs”,查看到当前没有任何作业。

操作系统实验,实验3, 进程管理 (1)概述

操作系统实验,实验3, 进程管理 (1)概述

[操作要求1] 设置一个调度,要求5分钟后向用户发送系统即将 重启的消息,并在提示信息出现后的2分钟后重启系统
按组合键[Ctrl+Alt+F1]切换到第一个虚拟终端,以用户名jkx登录;按 组合键[Ctrl+Alt+F2]切换到第二个虚拟终端,以超级用户身份登录字 符界面,以下操作在该终端上完成;
[操作步骤]
在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件 “job”;
按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户); 输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容; 稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度
输入命令“at now+5 minutes”,设置5分钟后执行at调度内容; 在提示符后输入“wall please logout; the computer will restart.”,设
置将要发送的消息; 输入“shutdown +2”或“reboot +2”,设置系统2分钟后重启; [Ctrl+D]结束内容编辑。
[操作步骤]
以普通用户jkx登录,并输入命令“crontab -e”,新建一个 crontab配置文件;
屏幕出现vi编辑器,按[i]键进入输入模式,输入“30 08 * * * ps > ps.log”,然后按[Esc]键退出文本输入模式,并按[:]键切 换到最后行模式,输入“wq”保存退出vi编辑器;
的执行效果;
空闲时执行——batch命令
batch命令用低优先级运行作业
batch [-V] [-q queue] [-f file] [-mv] [time] 该命令与at命令的唯一的区别在于at命令是在指

第11章进程管理与系统监视

第11章进程管理与系统监视
• 指令格式:nice [-n <优先等级>] 命令
• n的取值范围为-20 ~ 19,当指定的优先级超出19 时,系统以优先级19来运行程序。
进程管理命令 renice
• 格式:renice [n][-g <程序群组名称>][-p <PID>][-u <USER>] • 功能:修改运行的进程的优先级,设置指定用户或组群的进程优
• 格式:bg [作业号]
• 功能:将前台作业切换到后台运行。若没有指定作业号, 则切换当前作业。
进程管理命令
fg
• fg命令可用来激活某个被挂起的进程并使它在前 台运行。例如,用Ctrl+Z组合键挂起某个进程之 后,想要将它重新调度到到前台运行,此时便可 以使用fg命令。
• 格式:fg [作业号] • 功能:将后台作业切换到前台运行。若没有指定
先级。 • 参数含义:
-p PID 修改指定进程的优先级 -u USER 修改指定用户所启动进程的默认优先级 -g 组群号 修改指定组群中用户所启动进程的默认优先级
例7:将PID为2658的进程优先级调整为-12 #renice -12 -p 2658
进程管理命令
bg
• 作业是用户向系统提交的一个任务请求,系统根据请求创 建相应的进程完成该任务。用户每输入的一个shell命令其 实都是一个作业,这个作业经解释后对应于一个到多个进 程加以执行。
$free –m
系统资源查询命令
uname
• uname可显示linux主机所用的操作系统的版本、硬件的 名称等基本信息。
• 指令格式:uname [选项] • 常用的选项:
-a或–all 详细输出所有信息,依次为内核名称、,主机名、内核版 本号、内核版本,、硬件名、处理器类型、硬件平台类型、操 作系统名称

操作系统上机实验报告

操作系统上机实验报告
4.输入top敲回车键来监视系统性能。
5.在主菜单里选择系统工具选择系统监视器来监视系统性能。
评语:
日期:年月日
实验五:vi的基本操作
实验目的:
1.熟悉并掌握vi命令模式、文本编辑模式和最后行模式三种工作模式之间的转换方法。
2.掌握利用vi新建和保存文件;熟悉光标的移动,文本的插入与删除等操作。
3.掌握字符串替换;行的复制、移动、撤消和删除等操作。
2.打开f2文件并显示行号。
3.在f2文件的第一行后插入如下一行内容:“With the development of
4.将文本中所有的“eyeballs”用“eye-balls”替换。
5.把第二行移动到文件的最后,删除第一和第二行并恢复删除,并不保存
6.复制第二行,并添加到文件的最后,删除第二行,保存修改后退出vi。
实验内容:
1.利用vi新建文件f2,内容为:
How to Read Faster
When I was a schoolboy I must have read every comic book ever published. But as I got older, my eyeballs must have slowed down or something I mean, comic books started to pile up faster then I could read them!
14.重复上一步操作。
15.查看刚执行过的5个命令。
实验步骤:
1.先安装VMwareWorkstation。安装后,双击图标弹出界面,在界面上单击新建虚拟机,新建一个Linux的虚拟机,按界面提示一步一步完成操作。注意:(安装过程ISO镜像操作的使用)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三进程管理与系统监视实验目的(1)熟练掌握手工启动前后台作业的方法;(2)熟练掌握有关进程与作业管理的Shell命令;(3)掌握at调度和cron调度的设置方法;(4)了解进行系统性能监视的基本方法实验内容1、作业和进程的基本管理[操作要求1]前台启动行编辑器vi并打开文件f4,然后挂起vi,最后在后台启动一个查找inittab文件的find作业,查询结果保存到文件f5[操作步骤](1)进入终端字符界面,切换到超级用户;(2)输入命令“vi f4”,在前台启动行编辑器并打开编辑文件f4;(3)通过[Ctrl+Z]暂时挂起vi文本编辑器,屏幕将显示该作业的作业号1;(4)输入命令“find /etc/ -name inittab > f5&”,启动后台find作业,屏幕将给出该作业的作业号2和进程号。

[操作要求2]查看当前系统中的作业、进程和用户信息,并对作业进行前后切换[操作步骤](1)输入命令“fg 2”,将2号作业切换到前台;稍等片刻作业完成后将出现提示符;(2)输入命令“jobs”,查看当前系统的所有作业,注意作业vi f4和find的相关信息;(3)输入命令“cat f5”,查看find命令的执行结果;(4)通过命令“jobs”,再次查看当前系统作业,现在只有一个挂起作业vi f4;(5)输入命令“kill –9 %1”,强制终止指定作业(作业号为1的vi f4作业);(6)片刻后再次查看当前系统作业的情况(输入命令“jobs”),当前并无任何作业;(7)输入命令“ps -l”,查看进程的相关信息,注意显示信息项的含义;(8)输入命令“who -H”,查看用户的详细信息,注意显示信息项的含义。

ps命令各输出项的含义为:S(state):进程状态,其中R表示运行状态;S表示休眠状态;T表示暂停或终止状态;Z表示僵死状态UID(User ID):进程启动者的用户IDPID(ProcessID):进程号PPID:父进程的进程号NI(Nice):进程的优先级值SZ(Size):进程占用内存空间的大小,以KB为单位TTY:进程所在终端的终端号,其中桌面环境的终端窗口表示为pts/0,字符界面的终端号为tty1~tty6.TIME:进程启动时间CMD:启动进程的shell命令who命令各输出项的含义为:NAME:用户名LINE:用户登录的终端号TIME:用户登录时间2、at进程调度[操作要求1]设置一个调度,要求在2013年1月1日0时,想所有用户发送新年问候[操作步骤](1)按组合键[Ctrl+Alt+F1]切换到第一个虚拟终端,以用户名jkx登录;按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端,以超级用户身份登录字符界面,以下操作在该终端上完成;(2)输入命令“at 00:00 01012013”,设置2013年1月1日0时执行的at调度;(3)屏幕出现at调度的命令提示符“at >”,在提示符后输入“wall Happy New Year!”,向用户发送问候语;(4)在提示符后输入[Ctrl+D]结束at调度内容的输入,屏幕将根据设置显示作业号和将要运行的时间。

可调整系统时间为2012年12月31日23时59分(输入命令“date 123123592012”),稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度的执行效果;之后请切换到超级用户终端恢复系统时间为正确的时间。

[操作要求2]设置一个调度,要求5分钟后向用户发送系统即将重启的消息,并在提示信息出现后的2分钟后重启系统[操作步骤](1)输入命令“at now+5 minutes”,设置5分钟后执行at调度内容;(2)在提示符后输入“wall please logout; the computer will restart.”,设置将要发送的消息;(3)输入“shutdown +2”或“reboot +2”,设置系统2分钟后重启;(4)[Ctrl+D]结束内容编辑。

(5)输入命令“atq ”查看at调度;(注意观察当前调度的任务号)切换到第一个虚拟终端观察at调度的执行效果(5分钟后系统将执行重启调度任务)。

[操作要求3]设置一个调度,要求1分钟后执行文件job中的作业。

文件job的内容为:find /home/jkx/ -name “*.c” > /home/jkx/fdresultwall user jkx, all code files have been searched out! Please check out.[操作步骤](1)在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件“job”;(2)按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户);(3)输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容;(4)稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度的执行效果;3、cron进程调度cron调度的内容共6个字段,从左到右依次为分钟、时、日期、月份、星期和命令,如下表所示:设置cron调度时,所有字段都不能为空,字段之间用空格分隔,如果不指定字段内容,则使用字符“*”。

使用字符“-”表示一段时间。

例如在日期栏中输入“1-5”,则表示每月的前5天都要执行该命令使用字符“,”表示指定时间。

例如在日期栏中输入“5,15,25”,则表示每月的第5、15、25天执行该命令使用字符“/”表示间隔频率。

例如在小时栏中输入“*/2”,则表示每间隔2个小时执行该命令[操作要求1]jkx用户设置crontab调度,要求每天上午8时30分查看系统的进程状态,并将查看结果保存到ps.log文件[操作步骤](1)以普通用户jkx登录,并输入命令“crontab -e”,新建一个crontab配置文件;(2)屏幕出现vi编辑器,按[i]键进入输入模式,输入“30 08 * * * ps > ps.log”,然后按[Esc]键退出文本输入模式,并按[:]键切换到最后行模式,输入“wq”保存退出vi编辑器;(3)为立即看到执行结果,可切换为超级用户,修改系统时间,如8时29分,回到jkx 用户界面;(4)大约等待1分钟后,查看ps.log文件内容以确定crontab调度设置成功。

[操作要求2] jkx用户添加crontab调度,要求每三个月的1日0时查看当前用户的信息[操作步骤](1)以普通用户jkx登录,并输入命令“crontab -e”,屏幕出现vi编辑器,按[i]键进入输入模式;(2)原有内容后输入“0 0 * */3 * who > who.log”,然后保存退出vi编辑器;(3)为立即看到执行结果,可切换为超级用户,修改系统时间,如3月31日23时59分,回到jkx用户界面;(4)大约等待1分钟后,查看who.log文件内容以确定crontab调度设置成功。

[操作要求3]查看cron调度内容,最后删除该调度[操作步骤](1)输入命令“crontab -l”,查看cron调度内容;(2)输入命令“crontab -r”删除cron调度;(3)再次查看cron调度内容,确认删除成功。

[操作要求4]jkx用户设置crontab调度,要求每天上午8时30分查看系统的进程状态,并将查看结果保存到fps.log文件,要求不使用vi编辑器,而是使用图形界面的gedit编辑crontab 文件。

[操作步骤](1)以普通用户jkx登录,利用gedit新建一个crontab配置文件jobcron,文件内容为:30 08 * * * ps > fps.log(2)安装crontab配置文件,使之成为该用户的crontab文件,输入命令“crontab jobcron”;(3)转到/var/spool/cron目录查看,发现多了一个文件jkx,即crontab文件,查看该文件内容,与jobcron相比较。

为立即看到执行结果,可切换为超级用户,修改系统时间,如8时29分,回到jkx用户界面;大约等待1分钟后,查看fps.log文件内容以确定crontab调度设置成功。

4、系统性能监视[操作要求1]利用Shell命令监视系统性能[操作步骤](1)输入命令“top”,屏幕动态显示CUP利用率、内存利用率和进程状态等相关信息;(2)[Ctrl+C]结束top命令。

[操作要求2]在桌面环境下监视CPU使用情况[操作步骤](1)进入桌面环境,依次选择“主菜单”-“系统工具”-“系统监视器”菜单,打开“系统监视器”对话框;(2)在“系统监视器”选卡中查看当前CPU、内存和交换分区、设备的使用情况。

[操作要求3]在桌面环境下查看当前进程,并显示启动进程的用户信息[操作步骤](1)进入“系统监视器”对话框,打开选卡“进程列表”;(2)利用“查看”按钮设置为显示“全部进程”;(3)单击“编辑“菜单中的“首选项”,在“系统监视器首选项”对话框中打开选卡“进程域”,选中/取消“用户”复选框,要求显示启动进程的用户,关闭退出,得到要求的信息。

[操作要求4]利用“系统日志”工具查看系统日志[操作步骤](1)超级用户依次选择“主菜单”-“系统工具”-“系统日志”菜单,打开“系统日志”对话框,可分别查看各类系统日志。

所有系统日志都存放在/var/log目录中,包括主要日志文件boot.log、cron、dmesg、maillog、messages、rpmpkgs、secure和Xorg.log等。

(2)查看cron日志,关注我们之前执行过的cron调度记录。

相关文档
最新文档