diff --git a/408/操作系统/操作系统期末考试.md b/408/操作系统/操作系统期末考试.md new file mode 100644 index 0000000..1e563a5 --- /dev/null +++ b/408/操作系统/操作系统期末考试.md @@ -0,0 +1,192 @@ +# 操作系统期末考试 + +## 单项选择题 + +### 1. 【单选】(2 分)进程状态切换中,符合内存与磁盘之间交换数据的是? + +- [ ] A. 运行态到就绪态 +- [ ] B. 运行态到阻塞态 +- [x] C. 运行态到挂起态 +- [ ] D. 就绪态到运行态 + +> 参考答案:C +> +> 本题考查三态模型以及挂起态 +> 408 一般不考察挂起态,挂起态属于七态模型中的(又分为就绪挂起和阻塞挂起),不要求掌握,只需要掌握何为挂起以及如何实现即可。本题补充挂起态,当内存资源不足时,操作系统可以把进程挂起,把该进程从内存移入磁盘,而当内存资源充足时可以把磁盘中的挂起进程重新移人内存,这两种变化都会导致内存和磁盘交换数据,故选 C + +### 2. 【单选】(2 分)在用户态执行的是? + +- [ ] A. 关中断 +- [ ] B. 启动 I/O 指令 +- [x] C. 访管指令 +- [ ] D. 更改时钟 + +> 参考答案:C +> +> 本题考查用户态与核心态 +> 核心态指令可以执行处访管指令外的所有指令,而访管指令只能在用户态执行,故选 C。 + +### 3. 【单选】(2 分)下列作业调度算法中,同时考虑作业运行时间和等待时间的调度算法是? + +- [ ] A. 短作业优先调度算法 +- [x] B. 高响应比优先调度算法 +- [ ] C. 先来先服务优先调度算法 +- [ ] D. 静态优先级调度算法 + +> 参考答案:B +> +> 本题考查调度算法 +> A:短作业优先只考虑作业的(剩余)运行时间;C:先来先服务只考虑到达时间;D:静态优先级只考虑(固定)优先级的大小;而只有 B 高响应比会同时考虑运行时间和等待时间,故选 B。 + +### 4. 【单选】(2 分)请求分页管理中,与某进程缺页中断率无直接关系的是? + +- [ ] A. 页框大小 +- [ ] B. 替换算法 +- [x] C. 总内存大小 +- [ ] D. 该进程分配页框数 + +> 参考答案:C +> +> 本题考查影响缺页中断率的原因 +> A、B、D 都会直接影响到缺页率,而 C 总内存大小与某个进程缺页率无直接关系,总内存可能很大但是分给该进程的内存却不一定大,所以该进程分得的内存大小才会直接影响缺页率,故选 C。 + +### 5. 【单选】(2 分)静态资源分配策略可防止死锁,因为他破坏了死锁的( )条件 + +- [ ] A. 互斥 +- [x] B. 占有并保持 +- [ ] C. 不剥夺 +- [ ] D. 循环等待 + +> 参考答案:B +> +> 本题考查死锁预防中的四个必要条件 +> 静态分配即对于每个进程要么就不分配资源,要么就把他要的所有资源都给他,这样就不会出现进程占据了一部分资源然后又要求其他资源导致死锁(占有和保持),故选 B。 + +### 6. 【单选】(2 分)关于分页和分段的描述中正确的是? + +- [x] A. 分页系统中,页面在物理内存中只能从页面大小的整数倍地址开始存放 +- [ ] B. 分页是信息的物理单位,页长由用户决定 +- [ ] C. 分段主要目的是提高主存利用率 +- [ ] D. 分段式信息的逻辑单位,段长由系统决定 + +> 参考答案:A +> +> 本题考查分页和分段管理 +> 段是信息的逻辑单位,段长由用户决定;页是信息的物理单位,页长由系统决定;段页式是逻辑分段,物理分页。分页为了方便系统,对用户透明,目的是解决外部碎片问题并提高主存利用率;分段是为了方便用户编程以及方便共享。故选 A。 + +### 7. 【单选】(2 分)下列页面替换算法中,平均缺页率从大到小的顺序一般是? + +Ⅰ. 最佳替换算法;II. 先进先出;III. 最近最少使用 + +- [ ] A. III,II,Ⅰ +- [x] B. II,III,Ⅰ +- [ ] C. II,Ⅰ,III +- [ ] D. Ⅰ,II,III + +> 参考答案:B +> +> 本题考查各种页面替换算法 +> 最佳替换算法 OPT 是理想中的最优算法(现实中不存在),而最近最少使用算法 LRU 最接近 OPT 算法,先进先出算法 FIFS 一般是很差的,缺页率最高。所以缺页率: $FIFS > LRU > OPT$,故选 B。 + +### 8. 【单选】(2 分)下列不属于进程间通信机制的是? + +- [x] A. 管程 +- [ ] B. 消息传递 +- [ ] C. 信号 +- [ ] D. 管道 + +> 参考答案:A +> +> 本题考察各种通信机制 +> $\begin{cases}低级:信号量\\高级\begin{cases}共享存储(数据结构、存储区)\\消息传递(消息缓冲通信、信箱通信)\\管道通信\end{cases}\end{cases},$管程不是通信机制,故选 A。 + +### 9. 【单选】(2 分)请求分页管理中,缺页中断发送条件是? + +- [ ] A. 对应页表项不在快表中 +- [ ] B. 对应页表项不在页表中 +- [x] C. 对应页面不在内存中 +- [ ] D. 对应页面不在交换分区中 + +> 参考答案:C +> +> 本题考察逻辑地址转化为物理地址的过程 +> 逻辑地址先查找 TLB,若不中(说明该页不在 TLB 中),则查找页表,若不中(说明该页表不在内存中),则进行缺页中断,I/O 处理完后再重新执行该指令,选 C。 + +### 10. 【单选】(2 分)设备分配中,设备独立性指的是? + +- [ ] A. 分配某类设备时不考虑其他设备 +- [x] B. 分配时不指定具体设备 +- [ ] C. 各类设备采用不同分配方法 +- [ ] D. 独立分配每台设备 + +> 参考答案:B +> +> 本题考察 I/O 子系统的层次结构,可以查看书上相关内容复习 +> 设备独立性也称社会无关性,使得应用程序独立于具体使用的物理设备。所以应用程序见到的设备不是具体的设备而是一个抽象的设备,即分配时不指定具体设备(比如说你本来连接一个鼠标,此时更换一个鼠标,但是应用程序感觉不到更换了,他只知道这里有个抽象的鼠标),故选 B。 + +## 应用题 + +### 1、有 3 个并发进程 $P、P_1、P_2$ 合作处理数据,$P$ 从输入设备读数据到缓冲区,缓冲区可存 1000 个字。$P_1$ 和 $P_2$ 功能一样,都是从缓冲区取出数据并计算,再把结果打印请用信号量 PV 操作实现,其中语句 `read()` 从输入设备读入 20 个字到缓冲区;`get()` 从缓冲区取出 20 个字;`comp()` 计算 40 个字并输出并得到结果 1 个字;`printf()` 打印结果 2 个字。 + +把缓冲区的每 20 个字看作一一个空位,所以缓冲区中有 $1000 / 20 = 50$ + +``` +Semaphore mutex = 1; // 缓冲区互斥 +Semaphore full = 0; // 缓冲区已经有多少个 20 字数据 +Semaphore empty = 50; // 缓冲区还有多少个 20 字空位 + +Process P() { + P(empty); + P(mutex); . + read(); + V(mutex); + V(full); +} + +Process P1() { // P1 和 P2 完全一样 + P(full); get(); + P(full); get(); + comp(); + V(empty); print(); + V(empty); print(); +} +``` + +### 2、一个内存可同时容纳两道作业的系统,作业调度采用短作业优先算法,进程调度基于优先数的抢占式调度算法(优先数越小优先级越高)。 + +作业名 | 到达时间 | 运行时间(min)| 优先级 +:---: | :---: | :---: | :---: +A | 7:00 | 30 | 4 +B | 7:10 | 20 | 3 +C | 7:30 | 40 | 2 +D | 7:40 | 10 | 1 + +#### (1)求出各作业进入内存的时间和结束的时间 + +作业名 | 进入内存时间 | 结束时间 +:---: | :---: | :---: +A | 7:00 | 8:40 +B | 7:10 | 7:30 +C | 7:30 | 8:10 +D | 7:40 | 8:20 + +- 7:00,A 调度进入内存,并调度执行 +- 7:10,B 调度进人内存,并抢占 A 的处理机(优先数 B < A) +- 7:30,B 执行完,C 调度进入内存,并抢占处理机(优先数 C < A) +- 8:10,C 执行完,D 调度进入内存,并抢占处理机(优先数 D < A) +- 8:20,D 执行完,A 获得处理机 +- 8:20,A 执行完。 + +#### (2)计算作业的平均周转时间 + +$周转时间 = 作业结束 - 作业到达(不是进入内存时间)$ + +$$ +\begin{aligned} +A,8:40 - 7:00 &= 100 min\\ +B,7:30 - 7:10 &= 20 min\\ +C,8:10 - 7:30 &= 40 min\\ +D,8:20 - 7:40 &= 40 min\\ +(100 + 20 + 40 + 40) / 4 &= 40 min +\end{aligned} +$$ \ No newline at end of file diff --git a/408/操作系统/操作系统期末考试.pdf b/408/操作系统/操作系统期末考试.pdf new file mode 100644 index 0000000..764a96d Binary files /dev/null and b/408/操作系统/操作系统期末考试.pdf differ diff --git a/408/数据结构/数据结构期中考试题.md b/408/数据结构/数据结构期中考试.md similarity index 99% rename from 408/数据结构/数据结构期中考试题.md rename to 408/数据结构/数据结构期中考试.md index 1084958..bf87d4b 100644 --- a/408/数据结构/数据结构期中考试题.md +++ b/408/数据结构/数据结构期中考试.md @@ -1,4 +1,4 @@ -# 数据结构期中考试题 +# 数据结构期中考试 ## 单项选择题