b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换
方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。
c.长期调度(作业调度程序):确定哪些作业调入内存以执行.
它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个
新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,
可能在进程离开系统时才被唤起。
3.2 问:描述一下内核在两个进程间进行上下文功换的动作.
Answer:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的
状态。保存进程的状态主要包括 CPU 寄存器的值以及内存分配,上下文切
换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。
(书中答案)进程关联是由进程的 PCB 来表示的,它包括 CPU 寄存器的值
和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保
存在其 PCB 中,然后装入经调度要执行的新进程的已保存的关联状态。
3.3 考虑 RPC 机制。考虑的 RPC 机制。描述不可取的情况下可能出现或者
不执行的”最多一次”或”到底一旦“语义。说明在没有这些保障的情况下,可能
使用的一种机制。
Answer:如果一个 RPC 机制无法支持无论是“最多一次” 或“至少一次”的语义
那么 RPC 服务器不能保证远端程序不会引起多个事件的发生。试想,如果
一个远端程序在一个不支持这些语义的系统上从银行账户中撤回投资的资
金。很可能一个单一调用的远程过程会导致多种服务器的撤回。
如果一个系统不能支持这两种语义,那么这样一个系统只能安全提供远
程程序,这些远程程序没有改变数据,没有提供时间敏感的结果,用我们
的银行账户做例,我们当然需要“最多一次” 或“至少一次”的语义执行撤销
(或存款)。然而,账户余额成其它账户信息的查询,如姓名,地址等,
不需要这些语义。
3.4 图表 3.24 里显示的程序,说明 A 行将会输出什么?
Answer:当控制回到父进程时,它的值会保持在 5,而子进程将更新并拷贝
这个值。
3.5 问:下面设计的好处和坏处分别是什么?系统层次和用户层次都要考虑到.
A,对称和非对称通信
B,自动和显式缓冲
C,复制发送和引用发送
D,固定大小和可变大小消息
Answer:A.对称和非对称通信:对称通信的影响是它允许发送者和接收者之
间有一个集合点。缺点是阻塞发送时,不需要集合点,而消息不能异步传
递。因此,消息传递系统,往往提供两种形式的同步。
B.自动和显式缓冲:自动缓冲提供了一个无限长度的队列,从而保证了发
送者在复制消息时不会遇到阻塞,如何提供自动缓存的规范,一个方案也
许能保存足够大的内存,但许多内存被浪费缓存明确指定缓冲区的大小。
在这种状况下,发送者不能在等待可用空间队列中被阻塞。然而,缓冲明
确的内存不太可能被浪费。
C.复制发送和引用发送:复制发送不允许接收者改变参数的状态,引用发
送是允许的。引用发送允许的优点之一是它允许程序员写一个分布式版本
的一个集中的应用程序。Java’s RMI 公司提供两种发送,但引用传递一个