【操作系统】【完整实验报告】实验一:熟悉Linux操作系统(进程观测)

实验一:熟悉Linux操作系统(进程观测)

实验目的:
(1)了解在Linux操作系统中进程的特点和表现形式
【特点:并发性,结构性,动态性,独立性】
(2)掌握Linux查看进程的方式与方法
【打开其它一个终端窗口,直接输入TOP命令】
(3)在一个进程中创建另一个进程的方法
【fork函数】
(4)掌握父进程和子进程的关系和fork的用法
【复制父进程的数据段和堆栈等用户空间信息,共享父进程的代码段】

实验内容:
(1)编写一个简单的程序,使用ps或top工具观察该进程的的ID号,并使用kill工具终止进程运行。
(2)编写一个程序,使用fork函数生成一个子进程,并使用相关工具观察进程状态。

实验步骤:
(1)gedit创建进程process1.c
(2)使用gcc process1.c -o process编译并./process1运行程序process1.c
#include <stdio.h>
int main()
{
//设计一个循环,使其反复运行,方便观察
while(1)
{
printf(“I am the first process!\n”);
}
return 0;
}
在这里插入图片描述

(3)打开其它一个终端窗口,输入命令top,观察名称为process1的进程,记录各项数据(包括进程号)。
在这里插入图片描述

(4)观察到id为2221,最终使用kill工具终止进程运行。(观察:CPU是操作系统中的一个重要资源)
在这里插入图片描述

(5)编写一个程序,使用fork函数生成一个子进程,并使用相关工具观察进程状态。
(6)同上一个实验一样创建process2.c和process3.c以及process4.c三个实验随后编译并运行最终查看结果,对比并进行观察对比

实验结果:
(1)process1.c: 程序无限次输出 I am the first process!直到输入“kill 进程号”才结束
(2)process2.c: 父进程、子进程各输出1000,且输出次序不一
(3)process3.c(process2.c更改后的版本):父进程执行1000次,子进程不确定,且顺序不确定
(4)process4.c(process3.c更改后的版本)父进程子进程打印顺序不确定,可见父进程和子进程各独立执行。父进程子进程均无限次输出,知道输入“kill -9 进程号”才终止
(5)总结:父子进程打印次序无规律,说明父子进程的进行是无序的随机的。并且父进程和子进程各独立执行。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值