操作系统实验二6页

上传人:文库****9 文档编号:170686122 上传时间:2021-03-03 格式:DOC 页数:6 大小:98.50KB
返回 下载 相关 举报
操作系统实验二6页_第1页
第1页 / 共6页
操作系统实验二6页_第2页
第2页 / 共6页
操作系统实验二6页_第3页
第3页 / 共6页
操作系统实验二6页_第4页
第4页 / 共6页
操作系统实验二6页_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《操作系统实验二6页》由会员分享,可在线阅读,更多相关《操作系统实验二6页(6页珍藏版)》请在金锄头文库上搜索。

1、贵州大学实验报告学院:计算机学院 专业:信息安全 班级:121姓名饶永明学号1208060066实验组实验时间10.17指导教师王道书成绩实验项目名称实验二 进程的创建实验目的1、掌握进程的概念,明确进程的含义2、认识并了解并发执行的实质实验要求课堂集中授课参考程序和学生编程实现、并回答相关疑问;实验内容1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示a,子进程分别显示字符b和字符c。试观察记录屏幕上的显示结果,并分析原因。2、修改上述程序,每一个进程循环显示一句话。子进程显示daug

2、hter 及son ,父进程显示 parent ,观察结果,分析原因实验数据试验程序一:#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); 试验程序二:#include main( )int p1,p2,i;while(p1=fork( )= = -1); /*创建子进程p1*/if (p1= =0) for(i=0

3、;i10;i+)printf(daughter %dn,i);else while(p2=fork( )= = -1); /*创建子进程p2*/if(p2= =0) for(i=0;i10;i+) printf(son %dn,i);else for(i=0;i0:在父进程中,pid变量保存的fork( )返回值为子进程的id值(进程唯一标识符)。-1:创建失败。如果fork( )调用成功,它向父进程返回子进程的PID,并向子进程返回0,即fork( )被调用了一次,但返回了两次。此时OS在内存中建立一个新进程,所建的新进程是调用fork( )父进程(parent process)的副本,称为子进程(child process)。子进程继承了父进程的许多特性,并具有与父进程完全相同的用户级上下文。父进程与子进程并发执行。2、当首次调用新创建进程时,其入口在哪里?答:fork系统调用创建的子进程继承了原进程的context,也就是说fork调用成功后,子进程与父进程并发执行相同的代码。但由于子进程也继承了父进程的程序指针,所以子进程是从fork()后的语句开始执行(也就是新进程调用的入口)。另外fork在子进程和父进程中的返回值是不同的。在父进程中返回子进程的PID,而在子进程中返回0。所以可以在程序中检查PID的值,使父进程和子进程执行不同的分支指导教师意见签名: 年 月 日

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号