![](https://csdnimg.cn/release/download_crawler_static/4296793/bg8.jpg)
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 公司提供两种发送,但引用传递一个参
数需要声明这个参数是一个远程对象。
D.固定大小和可变大小消息:涉及的太多是有关缓冲问题,带有定长信息,
一个拥有具体规模的缓冲课容纳已知数量的信息缓冲能容纳的可变信息数
量是未 知的 。 考 虑 Windows 2000 如 何 处 理这种 情况 。 带有 定 长 信息
(<256bytes),信息从发送者的地址空间被复制至接受进程的地址空间。更
大的信息(如变长信息)使用共享内存传递信息。