下载此文档

操作系统进程实验报告.docx


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
1
武汉工程大学实验报告
专业班级:
姓名:
学号:
课程名称:操作系统
实验成绩: 指导教师:
实验名称:进程控制与进程间通信
一、实验目的:
1、掌握进程的概念,明确进程和程序的区别。
2、认识和了解并发执行的实质。
3、了解什么是信号。
4、熟悉LINUX系统中进程之间软中断通信的基本原理。
二、实验内容:
1、进程的创建
编写一段程序,使用系统调用fork()创建两个子进程,在系统中有一个父进程和两个子 进程活动。让每个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b” 和“c”。试观察记录屏幕上的显示结果,并分析原因。
<参考程序)
include<stdio. h>
mainO
{ int pl, p2;
while((pl=fork 0)= = -1);
if(pl= =0)
putchar( 'b');
else
{ while ((p2=fork0) = =T);
if(p2=二0)
putchar( 'c');
else
putchar( 'a');
)
}
2、修改已编写的程序,将每个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上 出现的现象,并分析其原因。
〈参考程序)
include<stdio. h>
mainO
2
{ int pl, p2, i;
while((pl=fork 0)= = -1);
if (pl二二0) for(i=0;i<500;i++) printf ( 4"child%d\nn , i); else
{ while((p2=fork0)= =-l); If(p2== 0)
for(i=0;i<500;i++) printf ( uson%d\nM , i); else for(i=0;i<500;i++) printf( udaughter%d\nM , i); ) ) 3、编写一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal。让父进 程 捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill() 向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止: Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出以下信息后终止: Parent process is killed! <参考程序》 #include<stdio. h> #include<signal. h> #include<unistd. h> #include<sys/types. h> #include<sys/wait. h> int wait_mark; void waitingO, stop0 ; void mainO {int pl, p2; signal(SIGINT, stop); while((pl=fork0) =-l); if(pl>0) /*在父进程中*/
{① while((p2=fork0) =-l); If(p2>0) /*在父进程中*/
{② wait_mark=l; waiting

操作系统进程实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小23 KB
  • 时间2021-10-23