一、进程与状态转换
1.1 进程基本特征
C选项
1.2 进程的概念
D选项
1.3
1.4 进程的状态
答案D
1.5 再看、错题
挂起:内存资源比较紧张,内存中的部分资料和数据放入外存中
阻塞:得不到资源
C选项
1.6 错题,重点把握
1.7
1.8
D选项
1.9 错题
答案: C
PCB存不下代码而是指向他执行的代码
1.10 再看
本题的意思的,一个事件发生后,引起了其他事件的状态转换
1.11
答案C
1.12
1.13
1.14 错误
1.15
B选项
1.16
1.17 错题,再做
1.18 错题,再做
1.19 再看
A选项
1.20 错题
二、线程和进程间通信
2.1
答案D
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12 管道
2.13
2.14 错题
三、CPU调度
3.1 时间片轮转调度算法
3.2
3.3
3.4
3.5 平均周转率计算
3.6 最短作业优先调度算法
答案C
3.7 错题再看
3.8 响应比计算
3.9
3.10 多级反馈队列计算
3.11 设计优先级 错题
3.12 甘特图,重点题,错题
3.13
3.14
3.15 错题,陷阱题
3.16 反馈队列调度算法
3.17 言之有理即可
3.18
3.19 进程调度
四、互斥与同步
4.1 同步的概念
4.2 PV操作
4.3 互斥 错题
4.4 临界区的定义 错题
4.5
4.6 临界区互斥状态
4.7
4.8 生产者消费者问题、错题
4.9
4.10 管程的概念
4.11 临界区 – 有多少个进程就有多少个临界区 错题
要解决这个问题,需先明确临界区的概念:每个进程中访问临界资源(这里的变量 A 就是临界资源,多个并发进程会竞争访问它)的那段代码,称为该进程的临界区。
由于有 5 个并发进程都涉及变量 A(都需要访问这个临界资源 A),因此变量 A 的相关临界区,是由这5 个进程各自的临界区共同构成的。
所以答案是:5 个。
4.12 管程
4.13 真题2016 错题
要解决这个问题,需理解互斥执行的核心:操作共享资源(尤其是写操作)时,为避免竞争条件,需要互斥。下面分析每个选项:
- 选项 A:
a=1
和a=2
中的a
是线程内部的局部变量(每个线程的a
独立),不是共享资源,因此不需要互斥。 - 选项 B:
a=x
和b=x
都是读取共享变量 x(无写操作)。“读 – 读” 操作不冲突,因此不需要互斥。 - 选项 C:
x+=1
和x+=2
都是对共享变量 x 的写操作(修改 x 的值)。由于多个线程修改同一共享变量时会产生竞争条件,因此需要互斥执行,保证操作的原子性。 - 选项 D:
x+=1
属于进程 P1 的全局变量 x,x+=3
属于进程 P2 的全局变量 x。进程有独立的地址空间,二者操作的不是 “同一个共享资源”,因此不需要互斥。
4.14 TSL指令 错题
答案:B
不符合让权等待
PV操作才有唤醒
4.15
4.16 再做、错题
4.17 错题
4.18
4.19
五、死锁
5.1 错题
5.2
5.3
5.4 再看
5.5
5.6 注意死锁回退
5.7
5.8
5.9
5.10 资源分配图,错题
5.11
5.12
5.13
5.14 错题、不太懂
步骤 1:明确资源与进程的需求
系统有 3 个临界资源(每个资源只有 1 个实例):R1
、R2
、R3
;4 个进程:P1
(需R1
和R2
)、P2
(需R2
和R3
)、P3
(需R1
和R3
)、P4
(需R2
)。
步骤 2:分析 “最小死锁进程数” 的逻辑
死锁的核心是循环等待(多个进程互相等待对方占有的资源,无法推进)。我们需要找 “最少有多少个进程能形成这种循环”。
- 若只有 2 个进程(比如
P1
和P2
):假设P1
占R1
等R2
,P2
占R2
等R3
。此时R3
是空闲的,P3
可以申请到R3
,再申请R1
时,若R1
被P1
占用,P3
等待,但P1
和P2
不会因这两个进程形成循环(P1
等R2
,P2
等R3
,无循环),因此不会死锁。 - 若有 3 个进程(
P1
、P2
、P3
):可形成循环等待链:P1
占用R1
,等待R2
;P2
占用R2
,等待R3
;P3
占用R3
,等待R1
。
此时三个进程互相等待对方的资源,无法继续执行,形成死锁。而P4
仅等待R2
(被P2
占用),但P4
未参与这个循环,不影响 “最小死锁进程数” 的判断。
因此,系统出现死锁时,处于死锁状态的进程数至少是 3 个,答案选 C。
5.15 银行家算法
5.16 错题、银行家算法只能判断是否系统处于不安全状态
5.17
5.18
5.19
错题
题目 | 备注 |
本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客