1.1 什么是计算机的操作系统?
1.2 操作系统管理计算机系统的哪些资源?
1.3 为什么要引进分时系统?分时系统的主要特点是什么?
1.4 说明分时系统和多终端实时系统的差别。
1.5 什么是系统功能调用。
1.6 网络操作系统与分布式操作系统的区别是什么?
1.7 微型计算机与大型计算机的硬件组织有何不同特点?
1.8 试述虚拟处理机的概念。
1.9 操作系统与系统中的其它软件以及与硬件是什么关系?
1.10什么是网络操作系统,它与通常的操作系统有何不同?
1.11定义、比较下列名词,并写出其反义词。
(1)联机;(2)分时;
(3)实时;(4)交互式计算
1.12操作系统的主要作用和功能是什么?
1.13什么是多道程序设计技术,引入多道程序设计技术的起因和目的是什么?
1.14试画出三道作业的运行情况。列举多道程序系统中存在哪些并行运行情况。
1.15多道程序系统具有哪些特性,并设想一下这些特性对操作系统设计将带来什么
影响?
1.16比较批处理系统、分时系统和实时系统的特点。
2-1 操作系统的运行环境指什么?
2-2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的 Intel 80386 设置了
四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?
2-3 什么叫特权指令?为什么要把指令分为特权指令和非特权指令?
2-4 说明以下各条指令是特权指令还是非特权指令,并说明理由:
(1)启动磁带机; (2)求的 n 次幂; (3)停止 CPU; (4)读时钟; (5)清主存; (6)屏蔽一切中断; (7)修改指令地址寄存器内容。
2-5 CPU 如何判断可否执行当前的特权指令?
2-6 什么是程序状态字?主要包括什么内容?
2-7 存储保护的目的是什么?常用的存储保护机构有哪两种?指出它们的要点。
2-8针对图 2-3 所示的主存各存储块的情况,请回答以下两种情况对 A,B,C 各块访问合
法? (1)存储保护键的钥为“0000”; (2)存储保护键的钥为“0100”。
2-9 存储保护键的取“保护位”是做什么用的?如何起作用?
2-10 什么是双缓冲?详述什么是三缓冲模式的操作。在什么环境下,三缓冲是有效益的?
2-11 CPU 如何发现中断事件?发现中断事件后应做什么工作?
2-12 说明中断屏蔽的作用。
2-13 何谓中断优先级?为什么要对中断事件分级?
2-14 CPU 响应中断时,为什么要交换程序状态字?怎样进行?
2-15 什么是软时钟(虚拟时钟)?有何作用?
2-16 有四个作业 A,B,C,D,要求定时唤醒运行,其要求如下:
A 20 秒后运行,经过 40 秒后再次运行。
B 30 秒后运行。
C 30 秒后运行,经过 25 秒后再次运行。
D 65 秒后运行。
请建立相应的时钟队列。
2-17 列举出提出基地址加位移编址的原因。
2-18 什么叫重定位?有哪几种重定位技术?有何区别?
2-19 本书第 7 章的图 7-10 中,图(a)表示了一个作业的地址空间,该作业被连接装入程
序装入主存中,起始地址为 10000(绝对地址),请表示出该作业装入主存后的
情况(存储空间足够作业装入)。
2-20 对比绝对地址装入程序与连接装入程序。
2-21 说明硬件、软件与固件的区别,固件对操作系统的意义何在?
2-22 硬件必须具备哪些条件后,操作系统才可能提供多道程序设计的功能?
8.1 什么是临界区?试举一个临界区的例子。临界区设计原则是什么?
8.2 并发进程之间的制约关系有哪两种?引起制约的原因是什么?
8.3 信号量的物理意义是什么?应如何设置其初值?并说明信号量的数据结构。
8.4 现有 P、Q、R 三个进程。P 负责把数据读入缓冲区,Q 负责从缓冲区中取出数据,进行
加工计算,结果仍然写入缓冲区中,R 负责把进程 Q 得到的结果输出。分别考虑有一
个容量为 K 的缓冲区和两个容量分别 K 的缓冲区的情况。
8.5 考虑一个公共汽车的运营情况。司机负责开车、到站停车、当售票员关门后才能再次启
动车;售票员负责售票、当车停稳后开车门、乘客下完车后关好车门。试用 P、V 原语
实现司机和售票员的同步过程。
8.6 何谓死锁?产生死锁的原因和必要条件是什么?
8.7 在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高? 8.8 请详细说明可通过哪些途径预防死锁?
8.9 在银行家算法的例子中,如果 P0 发出的请求向量由 Request0(0,2,0)改为 Request0( 0,1,0),
问系统可否将资源分配给它?
8.10 顺序程序设计和共行程序设计的特点有何不同?
8.11 什么叫与时间有关的错误?表现在哪些方面?举例说明之。
8.12 若进程 A 和 B 在临界段上互斥,那么当 A 处于临界段内时不能打断它的执行,这说法
对吗?为什么?
8.13 同步与互斥这两个概念有何区别?
8.14 信号量是一个初值为非负的整形变量,可在其上做加“1”和减“1”的操作。这说法对
吗?如何改正之?
8.15 使用 cobegin/coend 改写下面的表达式以获得最大程度的并行性。
(3ab+4)/(c+d)(e-f)
8.16 把下列并行计算改写成顺序计算序列。
a:=b+c; cobegln
d:==bc-x;
e:=(a/b)+n2 coend
8.17 为什么下面的并行计算程序是不正确的? cobegin
a:=b+c; d:=bc-x; e:=(a/b)+n**2
coend
8.18 说明下面的说法是不正确的理由:当几个进程访问主存中的共享数据时,必须实行互斥
以防止产生不确定的结果。
8.19 下面是两个并发执行的进程,它们能正确执行吗?若不能正确执行,请举例说明,并改
正之(X 是公共变量)。 cobegin
var x:integer; procecc P1(进程 P1)
var y, z: integer; begin
x:=1;
y:=0;
If x>=l then y:=y+1;
z:=y end
Procecc P2(进程 P2) var t,u:integer;
begin x:=0;
t:=0;
if x<1 then t:=t+z;
u:=t end
coend
8.20 因修路使 A 地到 B 地的多路并行车道变为单车道,请问在此问题中,什么是临界资源?
8.21 没有几个进程共享一互斥段,对于如下两种情况:
(1)每次只允许一个进程进入互斥段;
(2)最多允许 m 个进程(m<n=同时进入互斥段;所采用的信号量是否相同?信号 量值的变化范围如何?
8.22 课中讲到的生产者和消费者问题的同步算法中,如果用一个互斥信号量 M 来代替算法 中的两个互斥信号量 Me 和 Mf(即算法的所有 Me 和 Mf 处都用 M 来代替,请问: (1)改变后的算法与原算法各有何优缺点? (2)在改变后的算法中将生产者和消费者进程的两个相邻 P 操作交换一下顺序,则将 有可能产生死锁,请举例说明为什么?
(3)在(2)中若交换 V 操作顺序有影响吗?
8.23 用银行家算法判断下述每个状态是否安全。如果一个状态是安全的,说明所有进程是如
何能够运行完毕的。如果一个状态是不安全的,说明为什么可能出现死锁。 状态A 状态B
占有台数 最大需求 占有台数 最大需求 用户1 2 6 用户1 4 8 用户2 4 7 用户2 3 9 用户3 5 6 用户3 5 8 用户4 0 2 可供分配的台数2 可供分配的台数 1
8.24 给出一个涉及三个进程和三个不同资源的死锁例子,并画出相应的资源分配图。
8.25 没有两个进程 A 和 B 各自按以下顺序使用 P,V 操作并行运行(S;和 S。代表系统中
一台打印机和一台扫瞄仪资源信号量):
A进程 B进程
P(Sl) P(S。) ......
P(S2) P(Sl) ......
V(S2) V(Sl) ......
V(S1) V(S2) ......
(1)分析各种推进速度可能引起的情况,并画出死锁的图形表示,
(2)用死锁的必要条件说明产生死锁和不产生死锁的原因。
8.26 某系统有同类资源 m 个,被 n 个进程共享,请分别讨论当 m>n 和 m<=n 时每个进程最多可以请求多少个这类资源,才能使系统一定不会发生死锁?
8.27 某系统中有六台打印机,N 个进程共享打印机资源,每个进程要求两台,试问 N 取哪
些值时,系统才不会发生死锁?