




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 赵盈盈 2011210593 第四章作业上 1 解释名词 程序的顺序执行 程序的并发执行 答 程序的顺序执行 一个具有独立功能的程序独占 cpu 直到得到最终结果的进程 程序的并发执行 两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结 束的状态 2 什么是进程 进程与程序的主要区别是什么 答 进程 进程是具有独立功能的程序关于某个数据集合的一次运行活动 进程是系统进 行资源分配和调度的独立单元 进程和程序的区别 程序是静态的 进程是动态的 进程有程序和数据两部分组成 进程具有生命周期 有诞生和消亡 是短暂的 而程序是相对长久的 进程能更真实的描述并发 而程序不行 一个进程可以对应多个程序 一个程序可以对应多个进程 进程可以创建其他进程 程序不能 3 图 1 所示 设一誊抄程序 将 f 中记录序列正确誊抄到 g 中 这一程序由 get copy put 三个程序段组成 它们分别负责获得记录 复制记录 输出记录 请指出 这三个程序段对 f 中的 m 个记录进行处理时各种操作的先后次序 并画出誊抄此记录序列 的先后次序图 假设 f 中有 1 2 m 个记录 s t 为设置在主存中的软件缓冲区 每 次只能装一个记录 图 1 改进后的誊抄过程 答 f s copy t put g get 2 GC G P C P G CP 4 进程有哪几种基本状态 试画出进程状态变迁图 并标明发生变迁的可能原因 答 进程基本状态 运行 就绪 等待 状态转换图 就绪到运行 调度程序选择一个新的进程运行 运行到就绪 运行进程用完了时间片 或运行进程被中断 因为一个高优先级的进程处于就绪状态 运行到等待 OS 尚未完成服务 或对一资源的访问尚不能进行 或初始化 I O 且必须等待结果 或等待某一进程提供输入 IPC 等待到就绪 当所有的事件发生时 5 什么是进程控制块 它有什么作用 答 PCB 为了便于系统控制和描述进程的活动过程 在操作系统核心中为进程定义的一个 专门的数据结构 作用 系统用 PCB 来控制和管理进程的调用 PCB 也是系统感知进程存在的唯一标志 运行 就绪等待 3 6 n 个并发进程共用一个公共变量 Q 写出用信号灯的 p v 操作实现 n 个进程互斥时的程 序描述 并说明信号灯值的取值范围 答 main pi int mutex 1 p mutex cobegin 执行进程 Pi for i 1 1 n i pi v mutex coend 对于 N 并发进程 互斥子信号灯取值范围为 n 1 1 Mutex 1 表示没有进程进入缓冲区 Mutex 0 表示有一个进程进入缓冲区 没有进程等待 Mutex 1 表示有一个进程进入缓冲区 一个进程等待 Mutex n 1 表示有一个进程进入缓冲区 n 1 个进程等待 7 我们用进程流图来描述一组合作进程执行的先后次序 试用信号灯的 p v 操作实现如 图 2 a b 中所示进程之间的同步 并写出程序描述 图 2 图 3 答 PV 操作实现 a 及程序实现 main int S2 0 S3 0 S4 0 P1 P2 P3 P4 S f P1 P2 S2 P3 S3 P4 S4 P5 S5 P6 S6 P7 S57 S67 S f S f P1 S1 P2 S2 P3 S3 P5 S35 S45 P4 S4 4 Cobegin P1 P2 P3 P4 执行 P1 P S2 P S3 P S4 Coend V S2 执行 P2 执行 P3 执行 P4 V S3 V S4 PV 操作实现 b 及程序实现 main int S5 0 S6 0 P5 P6 P7 int S57 0 S67 0 Cobegin P S5 P S6 P S57 P5 P6 P7 执行 P5 执行 P6 P S67 Coend V S57 V S67 执行 P7 8 如图 3 所示的进程流图中 有五个进程合作完成某一任务 试说明这五个进程之间的同 步关系 并用 p v 操作实现之 并要求写出程序描述 答 PV 操作实现及程序实现 Main P1 P2 int S1 0 S2 0 S3 0 S4 0 S35 0 S45 0 执行 P1 P S2 Cobegin V S2 执行 S2 P1 P2 P3 P4 P5 V S3 Coend V S4 P3 P4 P5 P S3 P S4 P 35 执行 P3 执行 P4 P 45 V 35 V 45 执行 P5 5 9 如图 4 所示 get copy put 三进程共用两个缓冲区 s t 其大小为每次存放一个记 录 get 进程负责不断地把输入记录送入缓冲区 s 中 copy 进程负责从缓冲区 s 中取出记 录复制到缓冲 t 中 而 put 进程负责把记录从缓冲区 t 中取出打印 试用 p v 操作实现这 三个进程之间的同步 并写出程序描述 图 4 答 PV 操作实现及程序实现 Main int S1 1 S2 0 S1 表示空缓冲区 s 个数 S2 表示缓冲区是否有内容可以被 copy int T1 1 T2 0 T1 表示空缓冲区 t 个数 T2 表示缓冲区是否有内容可以被 put Cobegin Get Copy Put Coend Get Copy while 1 while 1 P S1 检查 S 是否为空 P S2 检查 S 是否为满 put data to buffer S 补数据放入 S copy data from buffer S copy 数 据 V S2 S 已满 V S1 清空 S while P T1 检查 T 是否为空 Get put data to buffer T V T2 T 已满 Put while 1 P T2 检测 T 是否为满 缓冲区 s缓冲区 t getcopyput 6 Output data from buffer T 输出 T 中数据 V T1 清空缓冲区 T 10 什么是进程的互斥与同步 同步和互斥这两个概念有什么联系与区别 答 进程同步 是指进程之间一种直接的协同关系 是一些进程相互合作 共同完成一项 任务 进程剪得直接相互作用构成进程的同步 进程互斥 在系统中 许多进程需要共享资源 而这些资源往往要求排他性的使用 即一次只能为一个进程服务 因此 个进程间互斥使用这些资源 进程间的这种 关系叫做进程互斥 联系 进程互斥与同步是指在进程推进时的相互制约关系 在多道程序系统中 由于资源 共享与进程合作 这种进程间的制约成为可能 区别 进程同步主要源于进城合作 是进程间共同完成一项任务时直接发生相互作用 为 进城提供直接制约关系 在多道环境下 这种进程在执行次序上的协调是必不可 少的 而进程互斥 主要源于资源共享 是进程间的间接制约关系 在多道系统中 每 次只允许一个进程访问的资源成为临界资源 进程互斥就是保证每次只有一个进 程使用临界资源 11 在生产者一消费者问题中 我们设置三个信号灯 一个用于互斥的信号灯 mutex 其 初值为 1 另外两个信号灯是 full 初值为 0 用以指示缓冲区内是否有物品 和 empty 初值为 n 表示可利用的缓冲区数目 试写出此时的生产者一消费者问题的描述 答 该问题描述的是一个多个生产者 一个消费者 12 判断正是列同步算法是否有错 请指出错误原因并改正 1 三个进程并发活动的进程流图 5 所示 其同步算法描述如下 main 解 1 答 改正如下 int s 1 int S13 0 S23 0 cobegin p1 P1P2 P3 S f 7 p2 p3 coend p1 P1 v s V S13 p2 P2 p s V S23 p3 P3 P S13 p s P S23 2 设 a b 两进程共用一缓冲区 t a 向 t 写入信息 b 则从 t 读出信息 算法框图 如图 6 所示 3 设 a b 为两个并发进程 它们共享一临介资源 其执行临界区的算法框图如图 7 所示 向 t 写入信息 P S2 V S V S V S2 图 5 V S1 A 进程 P S1 从 t 读出信息 B 进程 P S CSa A 进程 P S csb B 进程 v s2 图 4 25 8 注 信号灯 s 的值为 0注 信号灯 s1 s2的值均为 0 图 6 图 7 答 解 2 A 进程与 B 进程之间是协同关系 A 进程往缓冲区写入信息之前要先判断 缓冲区是否为满 写入之后看声明缓 冲区数据可以被取走 B 进程从缓冲区取数据之前 先检测缓冲区是否已满 从 t 中读出信息之后要 声明缓冲区数据已被取走 Main int S1 1 S2 0 S1 缓冲区是否装满 S0 表示缓冲区内容是否陪取走 Cobegin A B Coend A B while 1 while 1 Input data to buffer T P S1 检验缓冲区是否为满 V S1 缓冲区是否已满 output data to buffer T P S2 缓冲区数据可以被取走 V S2 缓冲区数据被取走 while while A B 答 解 3 进程 A B 之间为互斥关系 用一个信号灯就够了 改正如图 A B 只需进入临界区之前检测临界区是否为空 出来之后声明临界区可用即可 图可以表现为 13 试说明进程创建的主要功能是什么 答 1 为新建进程创建 PCB 2 赋予一个统一进程标识符 3 为进程映像分配空间 4 初始化进程控制块 9 5 设置相应的链接 将新建进程设置为就绪状态 把 PCB 排入就绪队列 中 14 用于进程控制的原语主要有哪几个 答 用于进程控制的原语主要有 创建原语 撤销原语 阻塞原语 唤醒原语 15 什么是线程 线程与进程有什么区别 答 线程是进程中的一个实体 是 cpu 调度和分派的基本单位 区别 1 调度 线程是调度和分配的基本单位 进程是资源拥有的基本单位 在同一个进程中线 程的切换不会引起进程的切换 在一个进程中线程切换到另一个进程中是会引起进 程的切换 2 并发性 引入线程的 OS 中 不仅进程之间可以并发执行 而且一个进程的多个线程也可 以并发执行 因而是 OS 有更好的并发性 从而能更有效地使用系统资源提高系统 吞吐率 3 拥有资源 进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影视制作业风险评估模型构建研究-洞察及研究
- 2022-2023学年东兴区高三期中思想政治试卷答案详述
- “南京航空航天大学2025年卓越计划(飞行器设计)飞行器设计创新竞赛试题及答案”
- 电子产品供应链优化策略研究-洞察及研究
- 2025医院挂号试题及答案详解
- 3.1会发声的模块(教学设计)四年级上册信息技术川教版
- 2025医院员工面试题目及答案
- 内科护理思维导读题库及答案解析
- 护理病理学基础题库及答案解析
- 2025年音乐考试试题及答案
- 中医治未病健康宣教
- Ice-O-Matic CIM登峰系列制冰机培训手册
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 发展汉语-初级读写-第一课-你好
- 律师事务所人事管理制度
- 高中英语完形填空高频词汇300个
- 2023-2025年世纪公园综合养护项目招标文件
- 脑梗塞并出血护理查房
- 男朋友男德守则100条
- 医院感染科室院感管理委员会会议记录
评论
0/150
提交评论