《操作系统习题解析》PPT课件.ppt_第1页
《操作系统习题解析》PPT课件.ppt_第2页
《操作系统习题解析》PPT课件.ppt_第3页
《操作系统习题解析》PPT课件.ppt_第4页
《操作系统习题解析》PPT课件.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题选讲与解析 一 选择题1 在计算机系统中配置操作系统的主要目的是 A 操作系统的主要功能是管理计算机系统中的 B 其中包括 C D 以及文件和设备 这里的 C 管理主要是对进程进行管理 A 1 增强计算机系统的功能 2 提高系统资源的利用率 3 提高系统的运行速度 4 合理组织系统的工作流程 以提高吞吐量 B 1 程序和数据 2 进程 3 资源 4 作业 5 软件 6 硬件 C D 1 存储器 2 虚拟存储器 3 运算器 4 处理机 5 控制器 2 操作系统有多种类型 允许多个用户以交互方式使用计算机的操作系统称为 A 允许多个用户将若干个作业提交给计算机系统集中处理的操作系统称为 B 在 C 的控制下 计算机系统能及时处理由过程控制反馈的数据 并做出响应 在IBM PC机上的操作系统称为 D A B C D 1 批处理操作系统 2 分时操作系统 3 实时操作系统 4 微机操作系统 5 多处理机操作系统 A 2B 3C 4D 1 A 2B 1C 3D 4 3 在设计分时操作系统时 首先要考虑的是 A 在设计批处理操作系统时 先要考虑的是 B 在设计实时操作系统时 首先要考虑的是 C A B C 1 灵活性和可适应性 2 交互性和响应时间 3 周转时间和系统吞吐量 4 实时性和可靠性 4 分时系统的响应时间 及时性 主要是根据 A 确定的 而试试系统的响应时间则是由 B 确定的 A B 1 时间片大小 2 用户数目 3 计算机运行速度 4 用户所能接受的等待时间 5 控制对象所能接受的时延 6 实时调度 5 采用 A 结构时 将OS分成用于实现OS最基本功能的内核和提供各种服务的服务器两个部分 通常 下列模块中必须包含在操作系统内核中的是 B 模块 A 1 整体式 2 模块化 3 层次式 4 微内核 B 1 内存分配 2 中断处理 3 文件处理 4 命令处理 A 4B 2 A 4B 5 A 2B 3C 4 6 在3 X版本以前的MS DOS是 A 操作系统 Windows95是 B 操作系统 WindowsXP是 C 操作系统 它们都是由 D 开发的 A B C 1 单用户单任务 2 单用户多任务 3 多用户单任务 4 多用户多任务 D 1 IBM公司 2 Microsoft公司 3 Microsoft和IBM联合 4 Bell实验室 7 下面8个系统中 必须是实时操作系统的有 A计算机辅助设计系统 B航空定票系统 C过程控制系统 D机器翻译系统 E办公自动化系统 F计算机激光照排系统 G情报检索系统 H导弹的制导系统二 简答题在操作系统中实现虚拟的关键技术是什么 并加以说明 操作系统中所谓的 虚拟 是指通过某种技术把一个物理实体变为若干个逻辑上的对应物 相应的用于实现虚拟的技术称为虚拟技术 在操作系统中利用了多种虚拟技术分别用来实现虚拟处理机 虚拟内存 虚拟外设和虚拟信道等 虚拟的实现主要是通过分时技术 例如 多道程序系统中 通过分时技术来实现虚拟处理机 将一台物理处理机虚拟为多台逻辑上的处理机 是靠多道程序分时地使用同一台物理处理机来实现的 微观上 该处理机在每一时刻只运行一道程序 它们分时地运行 然而在宏观上 系统中确有几道程序在同时运行 从而给用户的感觉是系统中同时同时有多台处理机在为其中的每一道程序服务 显然用户所感觉到的处理机并不实际存在 A 1B 2C 4D 2 ABCGH 试从交互性 及时性以及可靠性三个方面 比较分时系统与实时系统 P11 已知一个求值公式 A2 3B B 5A 若A B已赋值 试画出该公式求值过程的前趋图 并用信号量解决公式的求解过程 S1 x1 A A S2 x2 3 B S3 x3 5 A S4 x4 x1 x2 S5 x5 B x3 S6 x6 x4 x5 开始 结束 structsemaphorea b c d e 0 0 0 0 0 cobegin S1 V a S2 V b S3 V c P a P b S4 V d P c S5 V e P d P e S6 coend a c b d e 吃水果问题问题描述 桌上有一只盘子 每次只能放一个水果 爸爸专向盘中放苹果 妈妈专向盘中放桔子 儿子专等吃盘里的桔子 女儿专等吃盘里的苹果 只要盘子空 则爸爸或妈妈可向盘中放水果 仅当盘中有自己需要的水果时 儿子或女儿可从中取出 请给出四人之间的同步关系 并用P V操作实现四人正确活动的程序 voidson void while TRUE P so getanorange V s eatanorange voiddaught void while TRUE P sp getanapple V s eatanapple coend structsemaphores sp so 1 0 0 cobeginvoidfather void while TRUE haveanapple P s putanapple V sp voidmother void while TRUE haveanorange P s putanorange V so Plate1爸私applempty盘中无苹果1女私applefull盘中有苹果0妈私orangempty无桔子1儿私orangefull有桔子0 爸 p plate P applempty 放苹果 V applefull V plate 女 p applefull P plate 取苹果 V applempty 儿 p orangefull P plate 取桔子 V plate V orangempty 母 p plate P orangempty 放桔子 V orangefull V plate mutex盘子a表示爸爸是否在盘中放入苹果b女儿是否可吃苹果c表示妈妈是否在盘中放桔子d为儿子是否可吃桔子 p a p mutex 放入苹果 v b p b 取走苹果 v a v mutex p c p mutex 放入桔子 v d p d 取走桔子 v c v mutex 初值 mutex盘子1appfull苹果个数0avail盘中空位个数初值为norgfull桔子的个数0 dadP avail P mutex putanapple V appfull V mutex momP avail P mutex putanorange V orgfull V mutex sonP orgfull P mutex getanapple V avail V mutex dauP appfull P mutex getanapple V avail V mutex 注意初值avail的设置 n不正确 BeginP apple P pan V apple V pan P orange P pan V orange V pan P pan P apple V apple V apple V pan P pan P orange V orange V pan 四人动作未分开 apple和orange变量的含义不明确 empty 1 apple 0 orange 0 S1 parbeginP empty count count 1 V apple dosthelseparend S2 parbeginP empty count count 1 V orange dosthelseparend S3 parbeginP orange count count 1 If count 0 V empty dosthelseparend S4 parbeginP apple count count 1 If count 0 V empty dosthelseparend 父 子 女 母 count 0 structsemphoreplate platempty orange apple 1 1 0 0 cobeginmother void beginP platempty P plate 桔子放入盘中 V orange V plate end son void beginP orange P plate 吃桔子 V platempty V plate end mother void beginP apple P plate 吃苹果 V platempty V plate endcoend father void beginP platempty P plate 放苹果 V apple V plate end 设公共汽车上 司机和售票员的活动分别是 司机 售票员 启动车辆上下乘客正常行车关车门到站停车售票开车门上下乘客在汽车不断到站 停车 行驶过程中 这两个活动的同步关系 structsemaphores1 s2 0 0 cobeginvoiddriver void while TRUE p s2 启动车辆 正常行车 到站停车 V s1 voidconductor void while TRUE 上 下乘客 关车门 V s2 售票 P s1 开车门 上 下乘客 coend S1是否可以开车门S2是否可以发动车辆 structsemaphores1 s2 1 0 cobeginvoiddriver void while TRUE P s2 启动车辆 正常行车 到站停车 V s1 voidconductor void while TRUE P s1 开车门 上 下乘客 关车门 V s2 售票 coend 司机 售票员问题另解 S1是否可以开车门 1S2是否可以发动车辆 0 1 在某系统中 三个进程共享四台设备资源 这些资源一次只能一台地为进程服务和释放 每个进程最多需要二台设备资源 试问在系统中是否会产生死锁 答 不会 若所有的资源都被占用 而占用者又都不满足必须的全部资源 此时就有一个或几个进程无限期地等待更多的资源 系统就会出现死锁 本题中若4台设备资源都被占用 则其中一定有一个进程获得2台设备资源 满足其最大的需求量 这个进程必然会在有限的时间内完成其工作 并释放其所占用的2台资源 这样也就能满足其它二进程对设备资源的要求 继续完成它们各自的工作 某寺庙 有小和尚和老和尚若干 有一个水缸 由小和尚提水入缸供老和尚饮用 水缸可以容纳10桶水 水取自同一口井中 由于水井口窄 每次只能容纳一个水桶取水 水桶总数为3个 每次入水 取水仅为一桶 且不可同时进行 试给出有关取水 入水的算法描述 应首先考虑清楚本题需要几个进程 从井中取水后向缸中倒水此为连续动作 可算同一进程 从缸中取水为另一进程 在考虑信号量 有关互斥的资源有水井 一次仅一个水桶进出 水缸 一次如水取水时均为一桶 分别为之设置信号量mutex1 mutex2控制互斥 另有同步问题存在 三个水桶无论从井中取水还是入出水缸都是一次一个 应为之设信号量count 抢不到水桶的进程只好等待 还有水缸满时 不可入水 设信号量empty 控制入水量 水缸空时不可出水 设信号量full 控制出水量 mutex1 1 mutex2 1 empty 10 full 0 count 3 cobegin小和尚打水 beginL1 P empty P count P mutex1 从井中取水 V mutex1 P mutex2 送入水缸 V mutex2 V count V full GotoL1 end 老和尚取水 beginL2 P full P count P mutex2 从缸中取水 V mutex2 V empty V count GotoL2end coend 在南开大学和天津大学之间有一条弯曲的小路 其中从S到T一段路每次只允许一辆自行车通过 但中间有一个小的 安全岛 M 同时允许两辆自行车停留 可供两辆自行车已从两端进入小路情况下错车使用 如图所示 试设计一个算法来使来往的自行车均可顺利通过 M K S T L 南开大学 天津大学 本题是一个利用P V操作控制一个任务流程的问题 这类问题较常见 分析的时候主要是列出所需控制的对象 以及其控制关系 对于本题来说 所需控制对象 以及其控制关系 对于本题来说 所需控制的对象是由T到L这一段路的使用 由S到K这一段路的使用以及M这个 安全岛 的使用 路段T至L及路段S至K同时只允许一个进程 一辆自行车 使用 对于它们 我们可以分别用3个信号量来管理 最后 由于同时最多只能由一个方向的一辆自行车通过 两个方向共两辆自行车 因此 对每个方向上的自行车还应用一个信号量来控制对临界资源的访问 解答 对于两个方向的自行车 我们用两个进程bikeT2N和bikeN2T来表示 BikeT2N为从天津大学向南开大学行驶的自行车 bikeN2T为从南开大学向天津大学行驶的自行车 其控制流程如下 BEGINIntegerT2N N2T L M K T2N 1 N2T 1 L 1 K 1 M 2 BEGINPROCEDUREbikeT2N P T2N P L gothroughTtoL P M GointoM V L P K gothroughKtoS V M V K V T2N PROCEDUREbikeN2T P N2T P K gothroughStoK P M gointoM V K P L gothroughLtoT V M V L V N2T END 某工厂有两个生产车间 两个生产车间分别生产A B两种零件 装配车间的任务是把A B两种零件组装成产品 两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架F1 F2上 F1存放零件A F2存放零件B F1和F2的容量均为可以存放10个零件 装配工人每次从货架上取一个A零件和一个B零件然后组装成产品 请用PV操作进行正确管理 该题是生产者消费者的变形 可以认为一个消费者 装配工人 同两个生产者 A B车间 互斥试用两个缓冲区 F1 F2 可设mutex1 mutex2 初值为1 控制进程对F1 F2的互斥操作 另设empty1 empty2 初值均为10 full1 full2 初值均为0 过程如下 CobeginA车间 Begin生产一个产品 P empty1 P mutex1 放入F1 V mutex1 V full EndB车间Begin生产一个产品 P empty2 P mutex2 放入F2 V mutex2 V full2 End 装配工人 BeginP full1 P full2 P mutex1 P mutex2 取A和B V mutex1 V mutex2 V empty1 V empty2 End 假定系统中有五个进程 P0 P1 P2 P3 P4 和三种类型的资源 A B C 每一种资源的数量分别为10 5 7 在T0时刻的资源分配情况如图请找出该表中T0时刻以后存在的安全序列 至少2种 资源情况 进程 AllocationABC MaxABC NeedABC AvailableABC P0P1P2P3P4 010 322 902 222 433 200 302 211 002 743 122 600 011 431 332 753 中国科学院计算技术研究所1999年试题 一系统具有150个存储单元 在T0时刻下表所示分配给3个进程 进程MaximumdemandCurrentallocationP17025P26040P36045对下列请求应用银行家算法分别分析判定是否安全 1 第4个进程P4到达 最大需求60个存储单元 当前请求分配25个单元 2 第4个进程P4到达 最大需求50个存储单元 当前请求分配35个单元 如果是安全的 情给出一个可能的安全执行序列 如果是不安全的 请说明原因 该题的两个问题都是问当P4当前的需求是否可以满足 对于P4来说关键不在其最大的需求量是多少 而是其当前需求量是多少 系统在此时剩余资源数是40个 1 P4的最大需求量为60 当前请求分配25个 计算是否安全 应在假设分配之后看是否找到安全序列 结果是至少可以找到一个安全序列 答案不唯一 2 P4得到35个单元后 系统剩余资源数为5 此时4个进程的剩余量需求量均无法满足 为不安全状态 因为找不到安全序列 设系统中有3种类型的资源 A B C 和5个进程 P1 P2 P3 P4 P5 A资源的数量为17 B资源的数量为5 C资源的数量为20 在T0时刻系统状态见下表 进程最大资源数量已分配资源数量剩余资源数量ABCABCABCP1559212233P2536402P34011405P4425204P5424314系统采用银行家算法实施死锁避免策略 1 T0时刻是否为安全状态 若是 请给出安全序列 2 在T0时刻若进程P4请求 0 3 4 是否能实施资源分配 为什么 3 在 2 的基础上 若进程P4请求资源 2 0 1 是否能实施资源分配 为什么 4 在 3 的基础上 若进程P1请求资源 0 2 0 是否能实施分配 为什么 判断是否为安全状态 关键在于能否找到一个安全序列 这与进程剩余需求量有关 列表如下 资源情况 进程 NeedABC workABC Work AllocationABC AllocationABC P4P2P3P5P1 finish 233221204437true 437134402839true 83900640512314true 1231411031415418true 1541834721217520true 进程最大资源数量已分配资源数量还需要资源数量剩余资源数量ABCABCABCABCP1559212347233P2536402134P34011405006P4425204221P5424314110 2 Request4 0 3 4 Available 2 3 3 系统不能给予满足 3 a Request4 2 0 1 Need4 2 2 1 b Request4 2 0 1 Available 2 3 3 c 系统试探将Request4 2 0 1 分配出去并修改数据结构的值 进程最大资源数量已分配资源数量还需要资源数量剩余资源数量ABCABCABCABCP1559212347032P2536402134P34011405006P4425405020P5424314110 此时可以寻找到安全序列 此次请求可以分配 4 a Request1 0 2 0 Available 0 3 2 b Request1 0 2 0 Need 3 4 7 c 试探分配 此时系统中的情况如下表所示 进程最大资源数量已分配资源数量还需要资源数量剩余资源数量ABCABCABCABCP1559232327012P2536402134P34011405006P4425405020P5424314110 d 剩余资源不足 所以不存在安全序列 此次分配不予满足 试化简图中的进程 资源图 并利用死锁定理给出相应的结论 P0 P1 P2 P3 P4 R0 R1 R2 R3 R4 R1 R2 R3 R4 R0 P0 P1 P2 P3 P4 根据死锁定理 资源分配图不能完全化简 系统中潜在死锁 产生死锁的进程是P1 P3 P4 R1 R2 R3 R4 化简如下所示的资源分配图 并判断系统中是否存在死锁 R2 P1 P4 P2 P3 R1 R3 一个四道作业的操作系统中 设在一段时间内先后到达6个作业 它们的提交时间和运行时间见表 作业号提交时间运行时间 JOB1JOB2JOB3JOB4JOB5JOB6 8 008 208 258 308 358 40 60352025510 系统采用短作业优先的调度算法 作业被调度进入运行后不再退出 但当一作业进入运行时 可以调整运行的优先次序 1按照所选择的调度算法 请分别给出上述6个作业的执行时间次序2计算在上述调度算法下作业的平均周转时间 作业号提交时间运行时间开始时刻完成时刻周转时间 JOB1JOB2JOB3JOB4JOB5JOB6 时 分钟 时 时 分钟 8 00608 009 00608 203510 0010 351358 25209 159 35708 30259 3510 00908 3559 009 05308 40109 059 1535 作业号提交时间运行时间 JOB1JOB2JOB3JOB4JOB5JOB6 8 008 208 258 308 358 40 60352025510 一个具有两道作业的批处理系统 作业调度采用短作业优先的调度算法 进程调度采用以优先数为基础的抢占式调度算法 如下表的作业序列 表中所有作业优先数即为进程优先数 数值越小优先级越高 1列出所有作业进入内存时间及结束时间2计算平均周转时间 作业的执行时间 作业名到达时间估计运算时间优先数 A10 0040分5B10 2030分3C10 3050分4D10 5020分6 作业名到达时间估计运算时间优先数 A10 0040分5B10 2030分3C10 3050分4D10 5020分6 各作业进入内存的时间和结束时间见表 作业进入内存的时间和结束时间 作业名进入内存时间结束时间 ABCD 10 0010 2011 1010 50 11 1010 5012 0012 20 2各作业执行时间的周转时间为作业A70分钟作业B30分钟作业C90分钟作业D90分钟作业的平均周转时间为T 70 min 有5个批处理作业 A B C D E 几乎同时到达一个计算中心 估计的运行时间分别为2 4 6 8 10分钟 它们的优先数分别为1 2 3 4 5 1为最低优先级 对下面的每种调度算法 分别计算作业的平均周转时间 1最高优先级先2时间片轮转 时间片为2分钟 3FIFO 作业到达顺序为C D B E A 4短作业优先 1 对最高优先级优先算法 EDCBA 01018242830 t 平均周转时间 110 5 22分钟 2 对时间片轮转算法 ABCDEBCDFCDEDEE 024681012141618202224262830 平均周转时间 90 5 18 3 对FIFO算法 CDBEA 0614182830 4 对短作业优先算法 0614182830 ABCDE 平均周转时间 96 5 19 2 平均周转时间 70 5 14 在一个批处理系统中 有两个作业进程 有一作业序列 其到达时间及估计运行时间如下表 作业到达时间估计运行时间 分钟 10 0035210 1030310 1545410 2020510 3030 系统采用最高响应比优先的作业调度算法 响应比 等待时间 估计运行时间 作业进程的调度采用短作业优先的抢占调度算法 1 列出各作业的执行时间2 计算这批作业的平均周转时间 作业到达时间估计运行时间 分钟 10 0035210 1030310 1545410 2020510 3030 各作业的执行时间序列为 作业 10 00 10 10 11 00 11 25 结束 作业210 10 10 40 结束 作业311 55 12 40 结束 作业410 40 11 00 结束 作业511 25 11 55 结束 各作业执行的周转时间为 作业 分钟 作业 分钟 作业 分钟 作业 分钟 作业 分钟 平均周转时间为 分钟 解2 各作业的执行时间序列为 75分钟 某高校计算机系开设网络课并安排上机实习 假设机房共有2m台机器 有2n名学生选课 m n均大于等于1 规定 1 每两个学生组成一组 各占一台机器 协同完成上机实习 2 只有一组两个学生到齐 并且此时机房有空闲机器时 该组学生才能进入机房 3 上机实习由一名教师检查 检查完毕 一组学生同时离开机房试用P V操纵模拟上机实习过程 解答 上机实习过程如下 BEGINIntegerstudent computer enter finish check Student 0 Computer 2m Enter 0 Finish 0 Check 0 COBEGINStudent BEGINV student 表示有学生到达P computer 获取一台计算机P enter 等待允许进入Doitwithparter V finish 表示实习完成P check 等待教师检查V computer 释放计算机资源END Teacher BEGINL1 P finished 等待学生实习完成P finished 等待另一学生实习完成Checkthework V check 表示检查完成V check 表示检查完成GotoL1 ENDMonitor BEGINL2 P student 等待学生到达P student 等待另一学生到达V enter 允许学生进入V enter 允许学生进入ENDCOEND 3 仅涉及一个进程的死锁有可能存在吗 为什么 不可能 这可直接从死锁的必要条件之一 请求和保持 部分分配 可得 4 设计一个不可能出现饥饿现象和死锁的过河算法 答 利用红绿灯和一个计数器 当有人开始过河时 计数器增值 当过河后该计数器减值 但任何一个方向都有时间限制 如 分钟 仅当计数器值为0时 才开绿灯既允许另一方向的人过河 5 设系统中仅有一类独占资源 进程一次只能申请一个资源 系统中多个进程竞争该类资源 试判断下述那些情况会发生死锁 为什么 1 资源数为4 进程数为3 每个进程最多需要2个资源2 资源数为6 进程数为2 每个进程最多需要4个资源3 资源数为8 进程数为3 每个进程最多需要3个资源4 资源数为20 进程数为8 每个进程最多需要2 1 什么是虚拟存储器 它有哪些基本特征 答 在具有层次结构存储器的计算机系统中 采用自动实现部分装入和部分对换功能 能从逻辑上对内存容量加以扩充的一种存储器系统 实际上虚拟存储器是为扩大主存而采用的一种设计技巧 虚拟存储器的容量于主存大小没有直接关系 而受限于计算机的地址结构及可用的辅助存储器的容量 虚拟存储器有以下特征 1 多次性 2 对换性 3 虚拟性 2 考虑下面的存储访问序列 该程序大小为460个字 10 11 104 170 73 309 185 245 246 434 458 364设页面大小是100字 请给出该访问序列的页面走向 又设该程序基本可用内存是200字 采用FIFO置换算法 求出其缺页率 如果采用LRU置换算法 缺页率是多少 答 页面走向是0 0 1 1 0 3 1 2 2 4 4 3 FIFO算法 001103122443 1111122223 000003333444 缺缺缺缺缺缺 LRU算法 001103122443 1103122443 000010311224 缺缺缺缺缺缺缺 6 12 50 7 12 58 3 3 考虑下述页面走向 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 当内存块数量分别为3和5时 试问LRU FIFO OPT三种置换算法的缺页次数各是多少 初始所有内存块都是空的 三页 FIFO16次LRU15次OPT11次五页 FIFO10次LRU8次OPT7次 段表始址段表长度 控制寄存器 0430 段号位移量W 649 段号基址段长 物理地址 0 1 2 3 4 219 2300 90 1327 1952 600 14 100 580 96 段号 基址 长度 0 1 2 3 4 219 2300 90 1327 1952 600 14 100 580 96 已知段表如下所示 下述逻辑地址的物理地址是什么 并画出基本分段的地址变换过程 0 430 1 10 1 11 2 500 3 400 4 112 0 430 的物理地址是649 1 10 的物理地址是2310 1 11 的物理地址是2311 2 500 地址非法 产生越界中断 3 400 的物理地址是1727 4 112 地址非法 产生越界中断 5 进程资源的使用情况和可用情况如下表所示 请画出资源分配图 并判断该状态是否会产生死锁 进程当前分配数待分配的请求可用资源R1R2R3R1R2R3R1R2R3P1200110000P2310000P3130001P4011010 P1 P2 P3 P4 R1 R2 R3 P1 P2 P3 P4 R1 R2 R3 P1 P2 P3 P4 R1 R2 R3 P1 P2 P3 P4 R1 R2 R3 P1 P2 P3 P4 R1 R2 R3 根据死锁定理 资源分配图可完全化简系统中不存在死锁 6 吸烟者问题 三个吸烟者在一个房间内 还有一个香烟供应者 为了制造并抽掉香烟 每个吸烟者需要三样东西 烟草 纸和火柴 供应者有丰富货物提供 三个吸烟者中 第一个有自己的烟草 第二个有自己的纸和第三个有自己的火柴 供应者随机地将两样东西放在桌子上 允许一个吸烟者进行对健康不利的吸烟 当吸烟者完成吸烟后唤醒供应者 供应者再把另外两样东西放在桌子上 唤醒另一个吸烟者 试采用信号量和P V操作编写他们同步工作的程序 烟草 1 2 3 烟草 纸 火柴 香烟提供者 abc a b c a代表烟草 b代表纸 c代表火柴 我们设初始状态为老板先出售b c 即a的初值为0 b c初值为1 设mutex1 mutex2 mutex3 初值均为1 作为互斥信号量 用来控制对三组变量 b c a c a b 的访问 再设信号量buy1 buy2 buy3 sale用来吸烟者同老板之间的同步控制 其中buy1初值为1 其它初值为0 因此我们设置的初始状态为老板可向第一个对列出售他们需要的两种物品 structsemaphoremutex1 mutex2 mutex3 buy1 buy2 buy3 sale 1 1 1 1 0 0 0 inta b c 0 1 1 P1 BeginP buy1 P mutex1 b b 1 c c 1 V mutex1 吸烟 V sale End P2 BeginP buy2 P mutex2 a a 1 c c 1 V mutex2 吸烟 V sale End P3 BeginP buy3 P mutex3 a a 1 b b 1 V mutex3 吸烟 V sale End P4 CobeginbeginP sale P mutex1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论