程则相反.
18 在 Solaris OS 中,设置了哪几种线程?轻型线程的作用是什么?
a. 用户级线程,内核级线程和轻型线程;
b. 作用: 由 LWP 实现了在内核与用户级线程之间的隔离,从而使用户级线程与内核无关.
19 在 Solaris OS 中,用户级线程是通过什么方式来访问内核的?
通过 LWP 来访问内核. LWP 可为内核所识别,但不能识别用户级线程,通过建立用户级线
程与 LWP 之间的
连接,可以实现用户级线程与内核的通信.
第三章 1. 什么是临界资源和临界区?
a. 一次仅允许一个进程使用的资源成为临界资源.
b. 在每个进程中,访问临界资源的那段程序称为临界区.
2. 为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出
区"代码?
为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的
临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,
并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成
为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.
3. 同步机构应遵循哪些基本准则?为什么?
a. 空闲让进.
b. 忙则等待.
c. 有限等待.
d. 让权等待.
4. 试从物理概念上来说明记录型信号量和 wait 和 signal 操作?
(有待讨论).
5. 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则?
a. 在整型信号量机制中,未遵循"让权等待"的准则.
b. 记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条
准则.
6. 在生产者-消费者问题中,如果缺少了 signal(full)或 signal(empty),对执行结果会有何影
响?
生产者-消费者问题可描述如下:
var mutex,empty,full: semaphore:=1,n,0;
buffer: array[0,...,n-1] of item;
in,out: integer:=0,0;
begin
parbegin
producer: begin
repeat
.
.
produce an item in nextp;
.
7 / 40