作者简介:大家好,我是未央;
博客首页:未央.303
系列专栏:笔试强训选择题
每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!!!
文章目录
- 前言
-
一、Day33习题(错题)解析
- 总结
前言
今天我们将来到笔试强训第33天内容,本节主要是有关操作系统的有关习题,让我们一起完成他吧!!!!!
一、Day33习题(错题)解析
1.
解析:A
题目分析:read系统调用是一种io读操作;
ⅠⅠ.若文件的数据不在内存中,则进程进入睡眠模式的目的是等待内存对磁盘上文件的映射,因为磁盘的读取比较慢,所以事进入睡眠模式。
ⅠⅠ. read是系统调用,所以CPU从用户态切换到核心态。
ⅠⅠⅠ. open系统调用应该包含文件的名称,read只是包含输入流。
2.
解析:C
解题分析:
3.
解析:D
解题分析:
读写锁的特征:
写锁加锁时,其他线程不能再进行读操作(申请加读锁),写操作(申请加写锁),也就是写写互斥,读写互斥。
读锁加锁时,其他线程还能进行读操作,也就是读读并发;
A:读读并发说明获得锁权限线程不止一个;
B:读写互斥说明不能同时存在读者和写者;
C:写写互斥:已经有一个写加锁状态,其他写操作线程会发送阻塞;
D:读读并发:说明可以进行读共享;
4.
解析:A
解题分析:
A:时间片切换:时间片在没有用完时候,进程属于执行状态;时间片用完则说明属于进入就绪状态;所有不属于进程阻塞;B:等待io时候会发发生进程阻塞等待;
C:进程sleep属于进程休眠状态,也会发生进程阻塞;
D:等待解锁:如果没有通知来解锁则说明是正在发生进程阻塞;
5.
解析:D
相关知识点:
缺页:
是引入了虚拟内存后的一个概念。操作系统启动后,在内存中维护着一个虚拟地址表,进程需要的虚拟地址在虚拟地址表中记录。一个程序被加载运行时,只是加载了很少的一部分到内存,另外一部分在需要时再从磁盘载入。
加载到内存的部分标识为"驻留”,而未被加载到内存的部分标为"未驻留"。操作系统根据需要读取虚拟地址表,如果读到虚拟地址表中记录的地址被标为"未驻留"”,表示这部分地址记录的程序代码未被加载到内存,需要从磁盘读入,则这种情况就表示"缺页"。
页框:
CPU中添加了能自动把虚拟内存(即逻辑地址)地址转化为物理内存地址的电路,为了简化这种电路,就把RAM划分为长度为4KB或8KB的块,这种块就叫页框。
内核以页框为基本单位管理物理内存,分页单元中,页指一组数据,而存放这组数据的物理内存就是页框,当这组数据被释放后,若有其他数据请求访问此内存,那么页框中的页将会改变。
6.
解析:B
相关知识点:
先来先服务(ECES,First Come First Serve)
最简单的调度算法,按先后顺序进行调度。
高响应比优先(HRRN, Highest Response Ratio Next)
综合考虑作业/进程的等待时间和要求服务的时间,在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务。
高响应比优先调度算法是介于ECES(先来先服务算法)与SE(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。
响应比=(等待时间+要求服务时间)/要求服务时间;
时间片轮转调度(Round-Robin,RR)
用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到绪队列末尾重新排队,等待下一次调度;
短作业优先(SIE, Shortest Job First)
SE是非趁占式的算法。最短的作业/进程优先得到服务(所谓"最短”,是指要求服务时间最短)
系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。容易造成饥饿。
解题分析:
所以要满足题目中短任务优先且不会发生饥饿现象的只有高响应比优先算法;
7.
解析:A
解题分析:
A:进程时间片刚用完的时候,此时进程还没有在就绪队列等待;所以此时降低进程优先级,就会影响进程进入就绪状态后的优先级;
B:进程完成I/O,已经进入到就绪队列中了,所以优先级已经设置好了,此时降低优先级不会再有影响了;
C:进程持久处于就绪态,此时再去降低优先级,则更加不能进入运行态,所以不合理;
D:进程已经转变成运行态了,所以不再受到进程优先级的影响;
8.
解析:D
解题分析:
活跃度问题是指线程或进程长时间得不到cpu占用。
A.死锁:线程间互相持有锁,并等待对方释放资源,结果谁也得不到执行。
B.饥饿:如每次都执行优先级高的线程,那么优先级低的可能永远执行不到。
C.活锁:活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败。
活锁和死锁的区别在于,处于活锁的实体是在不断的改变状态,所谓的“活",而处于死锁的实体表现为等待;活锁有可能自行解开,死锁则不能。
9.
解析:A
解题分析:
等待时间最长的肯定就先进行调度服务,所以先来先服务调度服务最满足;
10.
解析:D
题目分析:
A.父进程和子进程都有自己独立的地址空间;所以前半句话正确,后半句话错误;
B.主线程和子线程是并行关系的时候,并没有依赖关系。改变父进程的状态,比如父进程退出的同时,通知子进程退出,那么就可以影响到子进程状态,如果没有任何通知,就不会影响到子进程。所以影不影响是不一定的;
C.如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。多进程同样可能会引起死锁;
总结