好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机与信息工程学院实验报告

姓名 专业 课程 软件工程 操作系统 学号 年级 主讲教师 2024年10月23日 辅导教师 党兰学 2017级 党兰学 实验时间(年月日时) 实验地点 计算机学院201机房 实验题目 进程管理 实验目的 1. 加深对进程概念的理解,明确进程和程序的区别; 2. 进一步认识并发执行的实质; 3. 了解父进程和子进程之间的关系; 4. 查看进程管理命令。 实验环境(硬件和软件)

硬件:PC机 软件:Oracle VM Virtualbox Linux 一、实验内容

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 main () {

int i=5; pid_t pid; pid=fork(); for(;i>0;i--) {

if (pid < 0)

printf(\ else if (pid == 0)

printf(\am the child process, my process id is %d and i=%d\\n\

else

printf(\am the parent process, my process id is %d and i=%d\\n\

}

for(i=5;i>0;i--) {

if (pid < 0)

printf(\ else if (pid == 0)

printf(\child process, my process id is %d and i=%d\\n\

else

printf(\parent process, my process id is %d and

i=%d\\n\

} }

(2) 运行程序

(3)分析程序

在这里,主程序先运行,在屏幕上输出一个a,之后两个子程序分别运行而输出c和b。 2 子进程对存取空间的复制

(1)编写程序

(2)运行程序

(3) 分析程序

通过scanf(“%d”,&i);语句读取一个整数存在i,之后创建两个子程序,输入10后,子程序运行,之后经过一些读取赋值操作,输出i的值。

3 父子进程执行进程分析

(1)编写程序

(2)运行程序

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

计算机与信息工程学院实验报告姓名专业课程软件工程操作系统学号年级主讲教师2024年10月23日辅导教师党兰学2017级党兰学实验时间(年月日时)实验地点计算机学院201机房实验题目进程管理实验目的1.加深对进程概念的理解,明确进程和程序的区别;2.进一步认识并发执行的实质;3.了解父进程和子进程之间的关系;
推荐度:
点击下载文档文档为doc格式
35gaz81fs23h0qq02ukg7f1wl0k4bu014zn
领取福利

微信扫码领取福利

微信扫码分享