首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 缤纷校园 英语学习 | ||
2010考研 | 自学考试 | 成人高考 | 专 升 本 | 法律硕士 | MBA/MPA | 中 科 院 | ||
四六级 | 商务英语 | 公共英语 | 职称日语 | 职称英语 | 博思 | 口译笔译 | GRE GMAT | 日语 | 托福 | ||
雅思 | 专四专八 | 新概念 | 自考英语 | 零起点英、法、德、日、韩语 | 在职申硕英语 | ||
在职攻硕英语 | 成人英语三级 | ||
等级考试 | 水平考试 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 | ||
公务员 | 报关员 | 报检员 | 外销员 | 司法考试 | 导游考试 | 教师资格 | 国际商务师 | 跟单员 | ||
单证员 | 物流师 | 价格鉴证师 | 银行从业资格 | 证券从业资格 | 人力资源管理师 | 管理咨询师 | ||
期货从业资格 | 社会工作者 | ||
会计职称 | 注会CPA | 经济师 | 统计师 | 注册税务师 | 评估师 | 精算师 | 高会 | ACCA | 审计师 | ||
法律顾问 | 会计证 | ||
一级建造师 | 二级建造师 | 造价师 | 监理师 | 安全师 | 咨询师 | 结构师 | 建筑师 | 安全评价师 | ||
房地产估价师 | 土地估价师 | 设备监理师 | 岩土工程师 | 质量资格 | 房地产经纪人 | 造价员 | ||
投资项目管理 | 土地代理人 | 环保师 | 环境影响评价 | 物业管理师 | 城市规划师 | 公路监理师 | ||
公路造价工程师 | 招标师 | ||
执业护士 | 执业医师 | 执业药师 | 卫生资格 |
答案:
(1)要点:进程间通信时所交换的信息量可多可少。少者仅是一些状态和数据的交换,或者仅是一个简单的唤醒信号;多者可交换大量信息。前者称为进程同步与进程互斥,亦称进程间低级通信;后者通信方式称为进程间高级通信。
(答出要点给3分,根据组织情况再给2分)
(2)要点:
①由操作系统在系统空间维护一组缓冲区;
②由操作系统提供两个进程高级通信原语Send和Receive;
③发送进程要发送消息时,执行Send系统调用命令,产生自愿性中断 进入操作系统 核心;
④操作系统为发送进程分配一个空缓冲区,并将所发送的消息内容从发送进程空间拷贝到该缓冲区中;然后将此缓冲区连接到接收进程的消息队列尾;发送进程就完成了发送,返回到用户态继续执行;
⑤当接收进程执行到receive系统调用命令时,也产生自愿性中断,进入操作系统核心;
⑥操作系统将载有消息的缓冲区从消息队列中取出,并将消息内容拷贝到接收进程空间中,然后收回空闲缓冲区;接收进程完成了消息接收,返回到用户态继续执行;
(①、②、④、⑥为2分;③、⑤为1分)
(3)要点:①消息缓冲区的数据结构为:
TypeMessage=Recoud
Sender(消息发送者)
Size(消息长度)
text(消息正文)
pointer(消息队列指针)
End,
②设置信号如下:
*每个接收进程有一个m-mutex:互诉对消息队列的操作,初值为1;
*buffe:管理空闲缓冲区,初值为空闲缓冲区个数;
*b-mutex:互诉操作空闲缓冲区,初值为为1;
*message:管理接收进程消息,初值为0;
③Send(receiver,a)
Begin
根据参数R寻找接收进程,如果未找到,则出错返回;
P(buffer);
P(b-mutex);
从消息缓冲区链上摘取一个空闲消息缓冲区;
V(b-mutex);
将消息长度及消息正文由a指示由发送区拷贝到消息缓冲区中;
将发送进程的名字也记录在该缓冲区中;
P(m-mutex);
将消息缓冲区挂到接收进程消息链的尾部;
V(m-mutex);
V(mmssage)
End.
④Receive(a)
Begin
P(message);
P(m-mutex);
从消息队列中取一个载有消息的缓冲区;
V(m-mutex);
将消息长度及肖息正文由消息缓冲区拷贝到接收区(由a指示);
P(b-mutex);
将空闲缓冲区挂到系统消息缓冲区链尾;
V(b-mutex);
V(buffer);
End.
(①3分②4分③4分④4分③,④重点在P,V操作)
2 . (1).进程调度的主要功能。(8分)
(2).何时可进行进程调度?(8分)
(3).进程调度算法解决以何种次序对各就绪进程进行处理机的分配以及按何种时间比例让进程占用处理机。时间片轮转进程调度算法的基本思想是什么?时间片的大小对系统有什么影响?在选取时间片时应考虑哪些因素?(14分)
答案:(1).进程调度的主要功能是:
①.记录系统中所有进程的执行状况;(2分)
②.根据一定的调度算法,从就绪队列中选出一个进程来,准备把CPU分给它;(2分)
③.把CPU分配给进程,即把选中的进程控制块内在关的现场信息,如程序状态字,通用寄存器的内容送入处理器相应的寄存器中,从而让它占用CPU运行.(4分)
(2).进程调度的时机是:
①.正在执行的进程运行完毕;(1分)
②.正在执行的进程调用阻塞原语或P原语操作将自己阻塞起来进入等待状态;(2分)
③.执行中的进程提出I/O请求后被阻塞;(1分)
④.在分时系统中时间片已经用完;(2分)
以上都是在CPU为不可剥夺方式下引起进程调度的原因.在CPU方式为可剥夺时,有以下原因:
⑤.就绪队列中的某个进程的优先级变得高于当前运行进程的优先级,从而也将引起进程调度.(2分)
(3).时间片轮转法(RR):
这主要是分时系统中使用的一种调度算法.时间片轮转法的基本思想是:将CPU的处理时间划分成一个个时间片(2分),就绪队列中的诸进程轮流运行一个时间片(2分).当时间片结束时,就强迫运行进程让出CPU,该进程进入就绪队列,等待下一次调度(1分).同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行(1分)
在轮转法中,时间片长度的选择非常重要,将直接影响系统开销和响应时间(1分).如果时间片长度很小,则调度程序剥夺处理机的次数频繁,加重系统开销(2分);反之,如果时间片长度选择过长,比方说一个时间片就能保证就绪队列中所有进程都执行完毕,则轮转法就退化成先进先出算法(2分)
影响时间片大小设置的主要因素有:系统响应时间(1分),就绪进程数目(终端数目)(1分)和计算机处理能力(1分).