云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 操作系统实验实验

操作系统实验实验

  • 62 次阅读
  • 3 次下载
  • 2025/5/28 3:08:19

广州大学学生实验报告

开课学院及实验室:计算机科学与工程实验室2015年11月11日实验课程名称 实验项目名称 陈康民 操作系统 成绩 指导老师 进程管理与进程通信 (***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***) 进程管理

(一) 进程的创建实验

一、实验目的

1、掌握进程的概念,明确进程的含义 2、认识并了解并发执行的实质

二、实验内容

1、编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。

2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及'son ……',父进程显示 'parent ……',观察结果,分析原因。

三、实验步骤

1、编写一段程序,使用系统调用fork()创建两个子进程。 代码:

#include main() {

int p1,p2;

while((p1=fork())== -1); /*创建子进程p1*/ if (p1==0)putchar('b'); else

{

while((p2=fork( ))== -1); /*创建子进程p2*/ if(p2==0)putchar('c'); else putchar('a'); }

}

运行结果:

1 / 23

bca,bac, abc ,……都有可能。

2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及'son ……',父进程显示 'parent ……',观察结果,分析原因。

代码:#include main() {

int p1,p2,i;

while((p1=fork( ))= = -1); /*创建子进程p1*/ if (p1= =0)

for(i=0;i<10;i++)

printf(\ %d\\n\

else

{

while((p2=fork( ))= = -1); /*创建子进程p2*/

if(p2= =0)

for(i=0;i<10;i++)

printf(\ %d\\n\

else

for(i=0;i<10;i++)

printf(\ %d\\n\

}

}

结果:

2 / 23

3 / 23

parent…

son… daughter.. daughter.. 或 parent…

son… parent… daughter…等

四、分析原因

除strace 外,也可用ltrace -f -i -S ./executable-查看以上程序执行过程。

1、从进程并发执行来看,各种情况都有可能。上面的三个进程没有同步措施,所以父进程与子进程的输出内容会叠加在一起。输出次序带有随机性。

2、由于函数printf( )在输出字符串时不会被中断,因此,字符串内部字符顺序输出不变。但由于进程并发执行的调度顺序和父子进程抢占处理机问题,输出字符串的顺序和先后随着执行的不同而发生变化。这与打印单字符的结果相同。

4 / 23

搜索更多关于: 操作系统实验实验 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室2015年11月11日实验课程名称 实验项目名称 陈康民 操作系统 成绩 指导老师 进程管理与进程通信 (***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***) 进程管理 (一) 进程的创建实验 一、实验目的 1、掌握进程的概念,明确进程的含义 2、认识并了解并发执行的实质 二、实验内容 1、编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 2、修改上述程序,每一个进程循环显示一句话。子进程显示'dau

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com