




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2014年11月10日学院计算机科学与教育软件学院年级/专业/班姓名学号实验课程名称操作系统实验成绩实验项目名称进程管理与进程通信指导老师张艳玲一、实验目的1、掌握进程的概念,明确进程的含义2、认识并了解并发执行的实质3、了解什么是管道4、熟悉unix/linux支持的管道通信方式二、实验器材1、计算机一台。2、linux三、实验内容1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符
2、39;b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter '及'son ',父进程显示 'parent ',观察结果,分析原因。 3、编写程序实现进程的管道通信。用系统调用pipe( )建立一管道,二个子进程p1和p2分别向管道各写一句话: child 1 is sending a message! child 2 is sending a message!父进程从管道中读出二个来自子进程的信息并显示(要求先接收p1,后p2)。四、实验步骤、记
3、录和结果实验二 进程管理实验(1) 进程的创建实验1.使用vi输入下面代码编译运行结果:从执行情况来看,可能输出bac,bca.2.使用vi输入下面代码编译运行结果:分析原因:1、从进程并发执行来看,各种情况都有可能。上面的三个进程没有同步措施,所以父进程与子进程的输出内容会叠加在一起。输出次序带有随机性。2、由于函数printf( )在输出字符串时不会被中断,因此,字符串内部字符顺序输出不变。但由于进程并发执行的调度顺序和父子进程抢占处理机问题,输出字符串的顺序和先后随着执行的不同而发生变化。这与打印单字符的结果相同。实验总结:通过这次实验,即时在多进程中printf()在输出字符串时不会被
4、中断。调用fork()会使运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。调用一次却返回2次这点也是非常特殊的。思考题:(1) 系统是怎样创建进程的?操作系统通过进程创建原语来创建一个进程。创建原语通过下述步骤创建一个进程:1. 申请空白pcb2. 为新进程分配资源3. 初始化进程控制块4. 讲新建进程插入就绪态队列(2) 当首次调用新创建进程时,其入口在哪里?fork之后。系统调用穿件的子进程继承了原进程的context,但由于子进程也继承了父进程的程序指针,所以子进程是从
5、fork()之后的语句开始执行,也就是新进程的入口。实验三 进程通信实验(二)进程的管道通信实验使用vi输入下面代码:编译运行结果结果分析首先在向管道写入“child 1.”之前,下面的第一句作用就是给其上锁,使得其他进程不得使用该管道,等到写完之后,倒数第二句将其解锁,然后调用exit(0)正常退出,清楚进程占用资源。在主进程读取管道数据输出这段使用得很有考究,使用了2个wait(0), 它的作用是等待子进程完成对管道的写入执行完毕后,等待唤醒后才开始读取管道数据,避免因为主进程过早结束,而子进程未结束而产生僵尸进程。思考题1、 程序中的sleep(5)起什么作用?暂停子进程5秒,让其它进程有机会运行。2、子进程1和2为什么也能对管道进行操作?父进程通过调用pipe()创建无名管道,而子进程1和2同属一个父进程,都知道该管道文件描述符,所以可以直接访问该管道进行数据传输。心得体会通过这次实验对lockf(),wait(),sleep()等函数有更深的理解。从实现方式可以看出,使用管道进行进程通信是很原始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出纳实务网课试题及答案
- 初级财务考试题库及答案
- 动态广告设计的创作试题及答案
- 全面掌握国际商业美术设计师考试试题及答案原则
- 餐饮hr面试题目及答案
- 2024年纺织品检验员考试挑战试题及答案
- 2024年助理广告师考试细节注意试题及答案
- 2024广告设计师考试常见误区分析试题及答案
- 安全监理考核试题及答案
- 商业美术设计师创意资源利用试题及答案
- 译林版三年级上册英语书单词表
- 康复科并发症二次残疾
- (新版)拖拉机驾驶证科目一知识考试题库500题(含答案)
- 2025年中考物理一轮复习:物理学与社会发展 专项练习
- DL∕T 526-2013 备用电源自动投入装置技术条件
- 2024年北京大兴区九年级初三一模英语试题和答案
- JT-T-848-2013公路用复合隔离栅立柱
- 食品生物化学 知到智慧树网课答案
- 2024年江苏国信新丰海上风力发电有限公司招聘笔试冲刺题(带答案解析)
- 学术交流英语(学术写作)智慧树知到期末考试答案2024年
- 国家卫生部《综合医院分级管理标准》
评论
0/150
提交评论