操作系统作业2 进程和进程通信

合集下载

操作系统作业二

操作系统作业二

1 填空题1.设单CPU环境下,有三道作业,它们的提交时间及运行时间如下表:若采用短作业优先调度策略,作业单道串行运行时的调度次序为J1,J3,J2,平均周转时间=8。

2.进程间通信的类型有:基于内存通信、基于文件通信、基于网络通信和基于报文传递通信。

3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长得到优先调度。

4.有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1<T2<T3。

系统按单道方式运行且采用短作业优先算法,则平均周转时间是1/3*(3t1*2t2*t1)。

5.如果信号量的当前值为3,表示可用的资源数目为3,如果信号量的当前值为-3,则表示系统中有三个资源在等待。

6. 现代操作系统的特征是互斥、异步、虚拟和共享。

7.产生死锁的四个必要条件是互斥和请求和保持,不可剥夺和循环等待条件。

2选择题1.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( D )个进程参于竞争,而不会发生死锁。

A、5B、2C、3D、42.产生系统死锁的原因可能是由于( C )。

A、进程释放资源B、一个进程进入死循环C、多个进程竞争,资源出现了循环等待D、多个进程竞争共享型设备3.( C)不是分时系统的基本特征:A、同时性B、独立性C、实时性D、交互性4.进程所请求的一次打印输出结束后,将使进程状态从(B D)A、运行态变为就绪态B、运行态变为等待态C、就绪态变为运行态D、等待态变为就绪态5.一作业进入内存后,则所属该作业的进程初始时处于( B C)状态。

A、运行B、等待C、就绪D、收容6.运行时间最短的作业被优先调度,这种企业调度算法是(C )A.优先级调度B.响应比高者优先C.短作业优先D.先来先服务7.产生死锁的主要原因是进程运行推进的顺序不合适(C )A.系统资源不足和系统中的进程太多B.资源的独占性和系统中的进程太多C.进程调度不当和资源的独占性D.资源分配不当和系统资源不足8.B是指从作业进入系统到作业完成所经过的时间间隔;D是从作业进入后备队列起,到被调度程序选中时的时间间隔。

进程同步与通信作业习题与答案

进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。

,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。

(完整版)第三章进程同步与通信作业习题与答案

(完整版)第三章进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。

A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

操作系统第二章练习 答案

操作系统第二章练习 答案

1.P、V 操作是 A 。

A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是 A 。

A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。

B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。

C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。

D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。

A. 0个B. 1个C. 2个D. 3个4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。

A.等待B.就绪C.运行D.完成5.用 P、V 操作可以解决 A 互斥问题。

A.一切B.某些C.正确D.错误6.多道程序环境下,操作系统分配资源以 C 为基本单位。

A.程序B.指令C.进程D.作业7.从下面对临界区的论述中,选出一条正确的论述。

(1)临界区是指进程中用于实现进程互斥的那段代码。

(2)临界区是指进程中用于实现进程同步的那段代码。

(3)临界区是指进程中用于实现进程通信的那段代码。

(4)临界区是指进程中用于访问共享资源的那段代码。

(5)临界区是指进程中访问临界资源的那段代码。

8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。

A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。

B:(1)同步;(2)通信;(3)调度;(4)互斥。

C:(1)同步;(2)通信;(3)调度;(4)互斥。

9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。

在执行 signal 操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。

操作系统第6章3.6 本单元作业二参考答案

操作系统第6章3.6 本单元作业二参考答案

单元六课后作业答案一、填空1.信号量的物理意义是当信号量值大于零时表示可分配资源的个数;当信号量值小于零时,其绝对值为等待使用该资源的进程的个数。

2.所谓临界区是指进程程序中需要互斥执行的程序段。

3.用P、V操作管理临界区时,一个进程在进入临界区前应对信号量执行P 操作,退出临界区时应对信号量执行V 操作。

4.有m个进程共享一个临界资源。

若使用信号量机制实现对临界资源的互斥访问,则该信号量取值最大为1 ,最小为−(m−1)。

注意,无论有多少个进程,只要它们需要互斥访问同一个临界资源,那么管理该临界资源的信号量初值就是1。

当有一个进程进入临界区时,信号量的值就变为0。

随后再想进入的进程只能等待。

最多的情况是让一个进程进入后,其余(m−1)个进程都在等待进入。

于是这时信号量取到最小值:−(m−1)。

5.对信号量S的P操作原语中,使进程进入相应信号量队列等待的条件是V s<0 。

6.死锁是指系统中多个进程无休止地等待永远不会发生的事件出现。

7.产生死锁的4个必要条件是互斥、非剥夺、部分分配和循环等待。

8.在银行家算法中,如果一个进程对资源提出的请求将会导致系统从安全的状态进入到不安全的状态时,就暂时拒绝这一请求。

9.信箱在逻辑上被分为信箱头和信箱体两部分。

10.在操作系统中进程间的通信可以分为低级通信与高级通信两种。

二、选择1.P、V操作是A 。

A.两条低级进程通信原语B.两条高级进程通信原语C.两条系统调用命令D.两条特权指令2.进程的并发执行是指若干个进程B 。

A.共享系统资源B.在执行的时间上是重叠的C.顺序执行D.相互制约3.若信号量S初值为2,当前值为−1,则表示有B 个进程在与S相关的队列上等待。

A.0 B.1 C.2 D.34.用P、V操作管理相关进程的临界区时,信号量的初值应定义为C 。

A.−1 B.0 C.1 D.随意5.用V操作唤醒一个等待进程时,被唤醒进程的状态变为B 。

A.等待B.就绪C.运行D.完成6.若两个并发进程相关临界区的互斥信号量MUTEX现在取值为0,则正确的描述应该是B 。

进程同步与通信作业习题与答案

进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。

,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。

计算机操作系统作业2(含答案)资料

计算机操作系统作业2(含答案)资料
11.何为死锁?产生死锁的原因和必要条件是什么?比较三种解决死锁的方法?
12.试比较说明进程和程序的区别有哪些?
三、应用题
1.有一个理发师,一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,则理发师便在理发椅子上睡觉;当一个顾客到来时,必须唤醒理发师,进行理发;如果理发师正在理发时,又有顾客来到,则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就离开。为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。
9.银行家算法在解决死锁问题中是用于______的。
A.预防死锁B.避免死锁C.检测死锁D.解除死锁
10.______不是进程调度算法。
A.时间片轮转法B.先来先服务方法
C.响应比高者优先法D.均衡调度算法
11.下面关于线程的叙述中正确的是______。
A.线程包含CPU现场,可以独立执行程序B.每个线程有自己独立的地址空间
28.进程控制块PCB不包括的内容是______。
A.CPU现场B.进程优先级C.进程运行状态D.文件缓冲区
29.PCB是描述进程状态和特性的数据结构,一个进程______。
A.可以有多个PCBB.可以和其他进程共用一个PCB
C.可以没有PCBD.只能有唯一的PCB
30.资源顺序分配法破坏了死锁发生的______必要条件。
A.互斥关系B.同步关系C.互斥和同步D.无制约关系
7.在优先级调度中,______类进程可能被“饿死”,即长时间得不到调度。
A.短进程B.长进程C.低优先级进程D.大内存进程
8.进程从运行状态到阻塞状态可能是由于______。
A.进程调度程序的调度B.现运行进程的时间片耗尽
C.现运行进程执行了wait操作D.现运行进程执行了signal操作

《操作系统》作业

《操作系统》作业

《操作系统》作业一、作业概述本次作业主要涉及操作系统的概念、原理和应用,旨在加深学生对操作系统理论知识的理解,提高实际操作能力。

作业内容包括:理论题目、实践题目和思考题目。

二、作业要求1.请务必认真阅读教材和参考资料,确保对操作系统的基本概念、原理和应用有充分理解。

2.请在规定时间内完成作业,并按时提交。

3.作业完成后,请认真检查,确保内容完整、准确,无遗漏。

三、作业内容1. 理论题目请回答以下问题:1.简述操作系统的主要功能。

2.进程和线程的区别是什么?3.请简要介绍内存管理的基本原理。

4.为什么说操作系统是计算机系统的核心软件?5.文件系统的目的是什么?2. 实践题目请完成以下任务:1.使用Linux命令行工具,查看当前系统的进程状态。

2.在Windows系统中,设置虚拟内存。

3.使用命令行工具,对一个文件进行权限设置。

3. 思考题目请针对以下问题展开思考:1.操作系统在计算机系统中的作用是什么?2.操作系统如何实现进程管理?3.请谈谈你对操作系统的未来发展前景的看法。

四、提交说明1.作业提交截止时间为XX月XX日XX时XX分。

2.请将作业以Markdown格式编写,并通过邮件提交至:*************。

3.作业命名格式为:学号_姓名_操作系统作业。

五、评分标准1.理论题目:每题10分,共计50分。

2.实践题目:每题15分,共计45分。

3.思考题目:每题20分,共计60分。

总分:155分。

希望同学们在完成作业的过程中,能够巩固所学知识,提高自己的实际操作能力。

祝大家学习进步!六、作业答疑1. 理论题目解答1.1 简述操作系统的主要功能。

操作系统的主要功能包括:•进程管理:创建、调度和管理进程,确保进程公平、有效地使用CPU资源。

•内存管理:分配和管理内存资源,实现虚拟内存技术,提高内存利用率。

•文件系统管理:负责文件的存储、检索、更新和删除,实现对文件的保护和共享。

•设备管理:控制和管理各类外部设备,实现设备与CPU的交互。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二进程和进程通信实验报告(一)实验目的⏹通过使用进程和进程通信方面的系统调用的,加深理解有关进程方面的基本概念。

通过实验对进程有进一步的感性认识,掌握系统V的IPC机制。

(二)实验题目⏹1.设计一个程序,创建一个子进程,使父子进程合作,协调地完成某一功能。

要求在该程序中还要使用进程的睡眠、进程图象改换、父进程等待子进程终止、信号的设置与传送(包括信号处理程序)、子进程的终止等有关进程的系统调用。

⏹2.利用UNIX的消息通信机制、共享内存机制(要用信号灯实施进程间的同步和互斥)实现两个进程间的数据通信。

具体的通信数据可从一个文件读出,接收方进程可将收到的数据写入一个新文件,以便能判断数据传送的正确性(对文件操不熟悉的同学可不必通过读写文件,只要键盘输入和输出至屏幕进行比较即可)。

(蓝字部分对一般同学不作要求)(三)实验报告要求⏹要求在实验室当场调试完成,经老师检查通过,登记,实验报告可免做。

⏹对于因特殊情况,不能到实验室上机的同学,可在自己的Linux机器上机,但要求写实验报告,包括题目、数据结构的说明,画出程序框图,在源程序中加入注释,说明程序的测试方法和测试结果,以及实验总结或体会。

⏹在实验报告中要有一幅Linux系统运行的截图,截图中要注释实验者的姓名或学号。

实验报告不要做压缩文件。

⏹为了截图,可以建立以学号为用户名的帐号,或在命令行中输入姓名或学号(会显示出错,没有关系),或在程序加入注释,再对其截图。

⏹至少要完成一道实验题。

一、运行程序(一)、数据结构说明和程序框图1、数据结构说明main()函数:子进程的创建都是在main()函数里面;signalfun(),是信号SIGUSR1对应的处理函数;writetofile函数,是对一个文件写如一定的内容的函数;readfromfile,是从一个文件里面读取内容的函数。

2、程序框图如下:(二)、源程序1、父子进程程序#include <sys/types.h>#include <signal.h>main(){int pid,status = 1;void func();signal(SIGUSR1,func); /* 预置信号处理程序,将SIGUSR1设置为func函数的功能*/while ((pid=fork( ))==-1);if (pid) { /* 父进程*/printf("It is the parent process.\n");printf("Parent: will send signal.\n");kill(pid,SIGUSR1); /* 发送信号,即发送执行func函数的信息*/ pid = wait(&status); /* 父进程等待子进程终止*/printf("Child process %d,status=%d \n",pid,status);}else { /* 子进程*/sleep (2); /* 等待接受信号*/printf("It is the child process.\n");printf("Child:signal is received.\n");execvp ("pwd",(char*)0); /* 映像改换,显示当前工作区,exevcp不用给出具体路径,(char*)0指向pwd命令*/printf("execl error.\n"); /* 映像改换失败*/exit(2);}printf ("Parent process finish. \n");}void func (){system("date");}2、消息通信机制/* msgcom.h */#include <errno.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define MSGKEY 5678struct msgtype{long mtype;int text;};#include "msgcom.h"main(){ /* 请求进程*/struct msgtype buf;int qid,pid;qid=msgget(MSGKEY,IPC_CREAT|0666); /* MSGKEY为约定的消息队列关键字,访问控制权限为0666 */buf.mtype=1; /* 请求进程发送消息标识为1 */buf.text=pid=getpid(); /* 请求进程发送消息内容为进程标识*/msgsnd(qid,&buf,sizeof(buf.text), IPC_NOWAIT|04000); /* 发送消息正文长度为buf的大小*/msgrcv(qid,&buf,512,pid,MSG_NOERROR); /* 指定接收mtype=pid的信息,即请求进程发送给服务器处理后的信息*/printf("Request received a massags from server, type is: %d\n",buf.mtype);}#include "msgcom.h"main(){ /* 服务器进程*/struct msgtype buf;int qid;if((qid=msgget(MSGKEY,IPC_CREAT|0666))== -1)return(-1); /* 出错处理*/while(1){msgrcv(qid,&buf,512,1,MSG_NOERROR); /* 接收所有请求进程发送的消息*/printf("Server receive a request from process %d\n",buf.text);buf.mtype=buf.text; /* 将请求进程的标识数作为mtype的值,以便于请求进程识别*/msgsnd(qid,&buf,sizeof(int),IPC_NOW AIT|04000); /* 将消息发送给请求进程*/ }}3、共享内存机制#include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>#include <sys/shm.h>#include <stdio.h>#define SHMKEY 18001 /* 共享内存关键字*/#define SHMKEY2 18002#define SIZE 1024 /* 共享内存长度*/#define SEMKEY1 19001 /* 信号灯组1关键字*/#define SEMKEY2 19002 /* 信号灯组2关键字*/#define SEMKEY3 19003 /* 信号灯组3关键字*/static void semcall(sid,op)int sid,op;{struct sembuf sb;sb.sem_num = 0; /* 信号灯编号0 */sb.sem_op = op; /* 信号灯操作数加1或减1 */sb.sem_flg = 0; /* 操作标志*/if(semop(sid,&sb,1) == -1)perror("semop"); /* 出错处理*/};int creatsem(key) /* 信号灯组创建及初始化程序*/key_t key;{int sid;union semun { /* 如sem.h中已定义,则省略*/int val;struct semid_ds *buf;ushort *array;} arg;if((sid=semget(key,1,0666|IPC_CREAT))==-1) /* 创建1个关键字为1的信号灯组,访问控制权限为0666 */perror("semget"); /* 出错处理*/arg.val=1; /* 初值为1 */if(semctl(sid,0,SETV AL,arg)==-1) /* 将信号灯组的第一个信号灯的初值置1 */perror("semctl"); /* 出错处理*/return(sid);}void P(sid)int sid;{semcall(sid,-1); /*对关键字为sid信号灯组值减1,相当于wait */}void V(sid)int sid;{semcall(sid,1); /*对关键字为sid信号灯组值加1,相当于signal */}main(){char *segaddr,*segaddr2;int segid,segid2,sid1,sid2,sid3;if((segid=shmget(SHMKEY,SIZE,IPC_CREAT|0666))==-1) /* 创建共享内存段*/ perror("shmget"); /* 出错处理*/if((segid2=shmget(SHMKEY2,SIZE,IPC_CREA T|0666))==-1) /* 创建共享内存段2 */ perror("shmget"); /* 出错处理*/segaddr=shmat(segid,0,0); /* 将共享内存映射到进程数据空间*/segaddr2=shmat(segid2,0,0); /* 将共享内存2映射到进程数据空间*/sid1=creatsem(SEMKEY1); /* 创建三个信号灯,初值为1 */sid2=creatsem(SEMKEY2);sid3=creatsem(SEMKEY3);P(sid2); /* 置信号灯2值为0,表示缓冲区1空*/P(sid3); /* 置信号灯3值为0,表示缓冲区2空*/if(!fork()){if(!fork()){while(1){ /* 子进程的子进程,接收和输出*/P(sid3);printf("Received from Parent: %s\n",segaddr2);printf("Received from Grandparent: %s\n",segaddr);V(sid1);}}while(1){ /* 子进程,输入和存储*/P(sid2);scanf("%s",segaddr2);V(sid3);}}while(1) { /* 父进程,输入和存储*/P(sid1);scanf("%s",segaddr);V(sid2);}}(三) 测试方法:黑箱测试法二、测试结果1、父子进程通信2、消息通信1)请求进程2)服务器进程3、共享内存三、实验总结或体会进程间的通信的方法有很多种,可以通过管道、消息、信号、共享内存等等一些方法,来实现进程的协作,从而实现计算机间的协作,进而完成复杂的任务。

相关文档
最新文档