习题4

4-1  解释名词:程序的顺序执行;程序的并发执行?
4-2  什么是与时间有关的错误?试举一例说明之?
4-3  什么是进程?进程与程序的主要区别是什么?
4-4  ?.2标明程序段执行的先后次序。其中:I表示输入操作,C表示计算操作,P表示打印操作,下角标说明是对啊个作业进行上述操作。请指明?
?)哪些操作必须有先后次序?其原因又是什么?
?)哪些操作可以并发执行?其原因又是什么?
4-5  ?4.7所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f??,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)?
4-6  进程有哪几种基本状态?试画出进程状态变迁图,并标明发生变迁的可能原因?
4-7  什么是进程控制块?它有什么作用?
4-8  n个并发进程共用一个公共变量Q,写出用信号灯的p、v操作实现n个进程互斥时的程序描述,并说明信号灯值的取值范围?
4-9  我们用进程流图来描述一组合作进程执行的先后次序。试用信号灯的p、v操作来实现如?.22(a)?b)中所示进程之间的同步,并写出程序描述?
  ?.22                                        ?.23

4-10  如图4.23所示的进程流图中,有五个进程合作完成某一任务,试说明这五个进程之间的同步关系,并用p、v操作实现之,并要求写出程序描?
4-11  如图4.24所示,get、copy、put三进程共用两上缓冲区s、t(其大小为每次存放一个记录)。Get进程负责不断地把输入记录送入缓冲区s中,copy进程负责从缓冲区s中取出记录复制到缓冲t中,而put进程负责把记录从缓站区t中取出打印。试用p、v操作实现这三个进程之间的同步,并写出程序描述?
  ?.24

4-12  什么是进程的互斥与同步?同步和互斥这两个概念有什么联系与区别?
4-13  在一个实时系统中,有两个进程p和q,它们是循环运行的。循环进程p每隔1秒由脉冲寄存器(REG)获得输入,并把它累计到一个整型变量(w)中,同时清除脉冲寄存器。循环进程q则每?小时输出这个整型变量的内容并将它复位。系统提供标准的I/O过程input和output,并提供系统调用命令delay(seconds)。试拟定出这两个进程并发活动的程序描述?
4-14  在生产者一消费者问题中,我们设置三个信号灯,一个用于互斥的信号灯mutex,其初值为1;另外两个信号灯是:full(初值为0,用以指示缓冲区内是否有物品)和ermpty(初值为n,表示可利用的缓冲区数目)。试写出此时的生产者一消费者问题的描述?
4-15  判断正是列同步算法是否有错,请指出错误原因并改正?
?)三个进程并发活动的进程流图4.5所示,其同步算法描述如下:

?)设a、b两进程共用一缓冲区t,a向t写入信息,b则从t读出信息,算法框图如?.26?
?)设a、b为两个并发进程,它们共享一临介资源。其执行临界区的算法框图如图4.27所示?
  注:信号灯s的值为0                       注:信号灯s1、s2的值均?
?.26                                   ?.27

4-16  试说明进程创建的主要功能是什么?
4-17  用于进程控制的原语主要有哪几个?
4-18  什么是线程?线程与进程有什么区别?

 
 Copyright © 2007 华中师范大学计算机科学系  All Rights Reserved