历年试题收录在学习通资料中(以下内容仅供参考)
2019春
选择题cbbbc bcdcc acb
- 在段页式存储管理方案中,如未引入快表,则一次真正的内存访问需要 3 次访问内存。(p161) :第一次访问是访问内存中的段表,取得页表始址,第二次是访问内存中的页表,从中取得该页真正的物理块号,并形成物理地址,第三次访问才是真正的从第二次访问得出的地址中取出指令或数据
- 某系统使用二级页表,页的大小是2^12字节,逻辑地址是32位,地址的前8位用作一级页表索引,则(10)位用作二级索引。(p148-153)
- 进程缺页率的影响因素包括() :页面大小 进程分配的物理块数 页面置换算法(p174)
- 虚拟存储器具有的特征是() 。虚拟性 多次性 对换性(p166)
- 用户编制程序时,使用与实际设备无关的名称是由操作系统(设备独立性)功能实现的。(p213起)
- (磁带)上的文件只能采用顺序存取
判断题xxxx√ √√x√x 注:判断题均已改正以正确形式呈现
- 操作系统是一种系统软件,它负责管理计算机系统资源,不控制程序的执行.
- 在传统的Os中,包括处理机管理﹑存储管理﹑网络管理﹑安全管理等基本功能 p17:无网络管理
- 处于执行状态的进程可以被挂起。p51起
- 系统处于安全状态一定不会死锁,处于不安全状态可能会死锁。p119
- 固定分区分配中每一个分区只能放一道作业。
- 逻辑扩充内存技术是以牺牲外存空间和CPU时间来换取昂贵的内存空间的·
- 虚拟设备技术就是将独占设备转换为多台逻辑设备,从而达到共享的效果。
- 对于链接文件,仅可以采用顺序存取 -第八章p268不考
- 文件控制块FCB是操作系统为管理文件设置的数据结构,包含与文件内容无关与文件控制和管理的相关信息。
- 存取控制矩阵不可用于外存空间的管理。
解答题
- 线程与进程的比较(P82-84):调度的基本单位、并发性、拥有资源、独立性、系统开销、支持多处理机系统
- 计算各进程的周转时间及平均周转时间(p96起) 注:周转时间=到达时间-结束时间 SJF要看具体的到达时间 画图解答 注意看是抢夺式的还是非抢夺式的
- 动态分区分配空间:最佳适配法与最坏适配法(p140)
- 计算某逻辑地址所在的页号,页内偏移﹑所在的物理页面号和对应的物理地址。(p148) 给定一个逻辑地址空间中的地址为A 逻辑页面的大小为L(题目会给出),则页号P和页内地址d为:P=INT[A|L],d=[A]MODL 根据页号P查页表加上一致的偏移量得物理地址。
- 简逑系统(带通道)进行设备分配需要使用的数据结构及设备分配过程(p215起)——I/O系统
数据结构:SDT(系统设备表) DCT(设备控制表) COCT(控制器控制表) CHCT(通道控制表)
进程提出设备请求,通过SDT查询是否有该设备,若有,进行安全性检测,通过后,通过SDT找到 DCT,查询设备状态,通过 DCT查询连接的COCT,通过COCT查询控制器状态,通过COCT查询连接的CHCT,通过CHCT查询通道的状态,若通路上的设备都空闲,则完成设备分配·(p217-218)
算法分析与设计题
生产者-消费者问题(p65)P、V原语
1
2
3
4
5
6
7
8
9
10
11
12
13//输入端
void producer(){
do{
producer an item nextp;
...
wait(empty);//empty初始为n是判空标志,full初始为0为判满标志
wait(mutex);//mutex初始为1为互斥标志 wait等价为P原语
buffer[in]=nextp;
in=(in+1)%n;
signal(mutex);
signal(full);等价V原语
}while(TRUE);
}1
2
3
4
5
6
7
8
9
10
11
12
13//输出端
void consumer(){
do{
producer an item nextp;
...
wait(full);//empty初始为n是判空标志,full初始为0为判满标志
wait(mutex);//mutex初始为1为互斥标志 wait等价为P原语
nextc=buffer[out];
out=(out+1)%n;//in out皆初始为0
signal(mutex);
signal(empty);等价V原语
}while(TRUE);
}进程共享资源问题之安全序列(p119):是否分配资源看是否有安全序列的存在
不同页面置换算法下的缺页次数F(页面置换(从外存中调入)的)与缺页率f(p174起): f=F/A (A=S+F)
- OPT算法(‘向后看’):置换将来最晚或不会被访问的页面,置换性能最好,但无法实现;
- FIFO算法(先进先出 注:FIFO页面淘汰算法会产生异常现象(Belady现象),即:当分配给进程的物理块数增加时,缺页次数反而增加):置换最早装入内存的页面,置换思想与实现方法简单,但可能淘汰重要页面,导致Belady异常现象;
- LRU算法(向前看):置换最近最久未被访问的页面,根据局部性原理是OPT的较好近似。
2018秋(第一套)
选择题cbbad dbaba bbcca
- 关于微内核(p30起) 与硬件紧密相关的部分放在内核中
- 进程三态判断(p50起)
- 进程与程序的一个本质区别是:前者为动态,后者为静态
- 现代OS中,提高内存利用率主要是通过(对换)功能实现。
- cpu寄存器—高速缓存—主存(主储存器)–辅存(磁盘缓存、固定磁盘) p129
- 在内存管理中,会产生外零头的是(动态分区分配)(p137)
- 通道是一种特殊的(处理机)(p196起)
- 文件属性不包含(物理位置)
判断题 ×××××××√√× 注:判断题均已改正以正确形式呈现
操作系统是配置在计算机硬件上的第一层应用软件,也是现代计算机系统中最重要的应用软件(改为 系统软件p1)
时分复用技术:实现虚拟处理机,虚拟设备等,使资源的利用率得以提高
根本原因:它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用
参考博客 [https://blog.csdn.net/qq_43058317/article/details/109312621]
- 原语具有不可分割性。p47
- 21、最低松弛度优先算法根据任务的紧急程度,松弛度的值越低优先级越高 p109
- 分页存储管理中,逻辑页与物理块的大小相等(方便离散分配)。p148
- 虚拟存储器的实现建立在内存的离散分配存储管理的基础之上 p167
- 管程可以理解为OS的一种资源管理模块。p63
填空题
- (并发性)和(共享)是多用户OS两个最基本的特征
- 机遇微内核OS结构是建立在(模块化、层次法)结构的基础上的,采用了客户服务器模式和面向对象的程序设计技术。
- 低级调度又称为(进程)调度,其调度对象是(进程)
- RR调度算法中,时间片的大小应取(略大于一次典型交互的时间)
- 虚拟存储器是以(多次)性和(对换)性为基础的
- 为实现设备分配,应为每一个设备设置一张(设备控制)表,用于记录设备的情况;在系统中需要设置一张(逻辑设备)表,用于将逻辑设备名映射为物理设备名。
- 按照逻辑结构可以把文件分为(有结构)和(无结构)两类
- 页表大多驻留在(内存)
- 处理机的执行状态分为管态和(目态)
解答题
生产-消费问题同上 略
页式存储地址问题
- 逻辑地址=页内地址+页号
- 内存块数:物理空间(题干注意单位)/页大小(注意单位)
- 页面数==页表项
- 逻辑地址转物理地址
HRRN(高响应比)算法的进程平均周转时间和平均带权周转时间(p98) 注:周转时间=完成-到达 首个完成下几个的到达情况
- 动态优先权=(等待时间+要求服务的时间)响应时间/要求服务时间
- 带权周转时间是指作业的周转时间与系统为它提供服务的时间之比
用wait和 signal操作完成以下前趋图的描述,要求给出所有信号量的定义和初始化,给出对应的wait和signal操作。入度为wait()相当于P()反之出度为signal()相当于V() 初始信号量为零。
FIFO页面置换算法计算缺页次数(注:别忘了算上刚开始的)和缺页率
进程资源分配问题之银行家算法实施死锁避免策略(p120起) 四个数据结构:Available(可利用资源数组)、Max(最大需求矩阵)、Allocatiion(分配矩阵)、Need(需求矩阵) Need[i,j]=Max[i,j]-Allocation[i,j] 注:安全序列不唯一
2018春
选择题 bbdda ccadb ada
- 分时操作系统不可或缺的硬件支持是(中断机构) p
- 操作系统直接完成的功能 (传统加现代 p17)
- 进程在操作系统上的地位 p82
- 死锁产生的必要条件:p116 互斥条件、请求与保持条件、不可抢占条件、循环等待条件
- 虚拟存储管理的基础是 局部性原理 P165
判断题 √×√×√ √√×√√
- 固定分区内存管理方案能支持多道技术,但限定了系统的并发度 p136
- 在嵌套中断处理方式下,高优先级的中断请求可抢占正运行的低优先级中断的处理机。p204
- 廉价磁盘冗余阵列(RAID)提高了磁盘的IO速度和整个磁盘系统的可靠性· p285-287 (第八章不在考试范围)
解答题
OS为什么要引入线程?对比线程的两种实现方案用户级线程和内核支撑线程的特点。(p81、p85-86)
参考答案: OS引入线程是为了减少系统并发执行付出的时空开销,提高系统并发度。
对比:1)用户级线程是由用户的基于线程库的运行时系统管理线程的,系统不知道用户级线程的存在;而内核支持线程由os来进行线程的管理;
2)用户级线程调度可以是应用程序特定的,内核支持线程采用系统统一的调度算法;
3)用户级线程可以运行在不支持线程的oS
4)用户级线程切换不需要切换内核,减少了CPU 状态转换所花的时间开销
5)内核支持线程可以实现一个进程内的多个线程的并行执行.而用户级线程一个进程只能分配一个CPU
6)当线程执行系统调用时,内核支持线程只会阻塞该线程,它所屈进程的其他线程还可以执行,而用户级线程会阻塞整个进程·
分别考虑抢占(SRT 注:被抢的会暂时停下等轮到它)与非抢占方式(SPF)实现短进程优先调度算法,并针对下列进程序列,说明各自的调度过程与平均周转时间。
分页系统换算各地址
- 逻辑地址转物理地址(见上略)
- 访问两个地址的时间(题干会给出主存的一次存取时间t):通过判断页面号是否在快表(p151)中 不在需要两次访问内存空间即2t,反之仅需一次t
进程内存分配问题(p140)
- 首次适配法:依次往下找
- 最佳适配法:永远选最合适的
- 最坏适配法:永远选现阶段最大的
引入缓冲区的目的是什么?常用的专用缓冲区形式有哪些?
参考答案:引入缓冲区的原因有很多,可归结为以下几点:(1)缓和CPU与I/O设备间速度不匹配的矛盾·(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制◎(3)解决数据粒度不匹配的问题·(4)提高CPU和lIrO设备之间的并行性。
常用的专用缓冲区形式有:(1)单缓冲区.(2)双缓冲区,(3)环形缓冲区·
算法分析与设计
- 进程资源分配问题之银行家算法实施死锁避免策略(p120起) 注:Request矩阵应小于Need矩阵再进行是否安全的判断
- 桌上有一空盘,最多允许存放n个水果·爸爸负责放水果,儿子女儿负责取水果·爸爸一次可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。P、V操作实现爸爸﹑儿子、女儿三个并发进程的同步。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32/*解:设信号量fruit · apple · orange分别代表还允许放水果的数目﹑已放苹果数目和桔子数目,fruit=n,apple=0; orange=0;mutex控制互斥使用权, mutex初值为1·*/
father
{
while(1){
p(fruit);
p(mutex);
放水果:
v(mutex);
if(放的苹果) v(apple);
else v(orange);
}
}
son
{
while(1){
p(orange);
p(mutex);
取橘子:
v(mutex);
v(fruit);
}
}
daughter
{
while(1){
p(apple);
p(mutex);
取苹果:
v(mutex);
v(fruit);
}
} - 页面置换算法(同上略)