概述
针对做过的选择题,做个整理…
1.分布式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数?
A.无关
B.成反比
C.成固定值
D.成正比
答案:B
分析:页面越大,其包含的指令和数据就越多,因而页面数量就越少;当每次加载新页面后到下次发生缺页的时间就更长一些,也就说发生缺页中断的次数更少。
2.关于子进程和父进程,下面哪个说法是正确的?
A.一个父进程可以创建若干个子进程,一个子进程可以从属于若干个父进程
B.父进程被撤销时,其所有子进程也会被相应撤销
C.子进程被撤销时,其从属的父进程也会被撤销
D.一个进程可以没有父进程或者子进程
答案:B
分析:正常情况下,子进程由父进程创建,子进程再创建新的进程,父进程与子进程是一个异步执行的过程,父进程永远无法预测子进程的结束,所以当子进程结束后,父进程会调用wait或者waitpid查看子进程的终止状态,回收子进程的资源;父进程撤销时,如果子进程还没执行完,父进程会进入wait()状态等待子进程执行完再撤销子进程,否则,父进程如果提前退出撤销,子进程将变为
孤儿进程
,子进程的资源将被init进程(进程号=1,init进程没有父进程)回收;此外当子进程退出了,但是父进程没有用wait或者waitpid去获取子进程的状态信息,那么子进程描述符依然存储在系统中,此时子进程就成为了僵尸进程
。
3.一下关于多线程的描述错误的是?
A.实现可重入函数时,对自动变量也要用互斥量加以保护
B.两个线程同时对简单类型全局变量进行写操作也需要互斥
C.可重入函数不可以调用不可重入函数
D.线程同步的方法包括使用临界区,互斥量,信号量等
答案:A
分析:
自动变量是局部变量,线程私有
。一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。
4.对于普通的计算机,对以下事件的平均耗时从小到大排序为:
A.读取1KB的内存数据
B.从硬盘连续读取1KB数据
C.读取一次L2缓存
D.一次磁盘寻道
答案:CADB
5.现代操作系统采用缓冲技术的主要目的是?
提高CPU和设备之间的并行程度
分析:缓冲技术使得CPU和设备之间不必等待对方完全处理,因而提高了并行程度;缓冲技术所解决的是两个互相协作设备之间的速度差异问题,如果没有缓冲技术的存在,高速度的设备需要暂停来等待速度较低的设备,有了缓冲后这种等待时间可以得到降低降低或者消除。
6.下列选项中会导致进程从执行态转为就绪态的事件是?
A.申请内存失败
B.执行P(wait)等待操作
C.启动I/O设备
D.被高优先级的进程抢占
答案:D
启动I/O操作会让进程从执行状态转为阻塞状态;当一个进程被高优先级的进程抢占时,该进程直接由执行态转为就绪态。
7.选择在最近的过去很久未访问的页面予以淘汰的算法是?
A.LRU
B.LFU
C.MFU
D.OPT
答案:A
分析:操纵系统页面淘汰算法:
(1)OPT(Optimal page replacement algorithm):最佳页面替换算法.该算法的核心事思想为从主存中移除永远不需要的页面
(2)LRU(Least Recently Used):最近最久未使用算法.该算法的核心思想为总是选择在最近一段时间内最久不用的页面予以淘汰
(3)MFU(Most Frequently Used):最常使用算法:每次替换掉最常使用的页面
(4)LFU(Least Frequently Used):最近最不常用算法:缺页时,置换访问次数最少的页面
8.一个进程的读磁区完成后,操作系统针对该进程必做的是?
A.修改进程状态为就绪态
B.降低进程优先级
C.进程分配用户内存空间
D.增加进程的时间片大小
答案:A
分析:进程申请读磁盘操作的时候,因为要等待I/O完成,会将自身阻塞,此时进程进入阻塞状态。当 I/O操作完成之后,得到了想要的资源,进程从阻塞进入就绪态。
9.在系统内存中设置磁盘缓冲区的主要目的是?
A.减少平均寻道时间
B.实现设备之间的无差性
C.提高磁盘数据可靠性
D.减少磁盘I/O次数
答案:D
磁盘和内存的速度差异,决定了可以将内存经常访问的文件调入磁盘缓冲区,从高速缓存中复制的访问比磁盘 I/O 的机械操作要快很多很多。磁盘I/O操作需要大量时间,在系统内存中设置磁盘缓冲区,从磁盘里面读取数据出来,就将数据放在了缓冲区内,可以减少磁盘I/O次数。
10.进程和程序的一个本质区别是?
A.前者为动态的,后者为静态的
B.前者存储在内存,后者存储在外存
C.前者在一个文件中,后者在多个文件中
D.前者分时使用CPU,后者独占CPU
答案:A
进程是动态的,程序是静态的;进程实际就是程序的一次动态执行, 而程序实际是有序指令的集合;进程是暂时的,程序是永久的,进程是一个状态变化的过程,程序可以长久保存;进程在执行时是在内存上;程序存储在某种介质上(如外存等),是静态的。
11.使用C语言将1个1G字节的字符数组从头到尾全部设置为‘A’,在一台典型的当代PC上需要花费CPU时间的数量级最接近多少?
A.100秒
B.1秒
C.2小时
D.0.001秒
答案:B
分析:现在机器CPU都是Ghz,每次需要若干个指令,大约在一秒。
12.在单处理机系统中,如果同时存在12个进程,则处于就绪队列中的进程数量是多少?
A.10
B.9
C.11
D.1
答案:11
由于是单核CPU,同一时间间隔内执行只能被一个进程调度。
13.在使用锁保证线程安全时,可能会出现活跃度失败的情况,活跃度失败主要包括?
A.以上全部
B.饥饿
C.活锁
D.死锁
答案:A
- 死锁是由于资源紧张造成的,多个线程由于请求资源而形成一个环路,谁也不退让,导致谁也不能执行;
- 饥饿主要是由于线程优先级造成的,当大量线程并发执行时,优先级较小的线程总是得不到执行,引起线程饥饿;
- 活锁是由于线程在资源请求中遇到冲突时的重试策略不正确造成的。引入一定的随机性可避免活锁。(可能发生一个线程一直处于等待状态,其他线程都可以调用到)
14.下面选项中,满足短任务且不会发生饥饿现象的调度算法是?
A.非抢占式短任务优先
B.高响应比优先
C.时间片轮转
D.先来先服务
答案:B
响应比 =(等待时间+要求服务时间)/ 要求服务时间
由于响应比等于等待时间加上服务时间再除以服务时间,所以等待时间相同时,短作业的响应比更大,能优先获得时间片,另一方面,当服务时间相同时,等待时间越长,响应比越大,所以同时照顾了长作业;
高响应比优先调度算法(Highest Response Ratio Next)是一种对CPU***控制器响应比的分配的一种算法。HRRN是介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法。
15.Linux文件权限一共10位长度,分成4断,第三段表示的内容是?
表示的是属于这个组的成员对这个文件具有可读可写可执行的权限
第一段:0 -表示文件的类型
第二段:123 rwz是指拥有者具有可读可写可执行的权限(属主权限)
第三段:456 rwz是指所属于这个组的成员对这个文件具有可读可写可执行的权限(属组权限)
第四段:789 —是指其他用户对这个文件没有任何权限
16.在缺页处理过程中,操作系统执行的操作可能是?
A.修改页表
B.磁盘I/O
C.分配页枢
答案:ABC
17.进程的控制信息和描述信息存放在?
A.JCB
B.AFT
C.PCB
D.SFT
答案:C
分析:进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志。JCB 是作业控制块,PCB 是进程控制块。
18.线程的切换会引起进程的切换
A.对
B.错
答案:B
分析:属于同一进程的多个线程之间的切换不会引起进程的切换,只有属于不同进程的线程之间的切换才会引起进程的切换。
19.支持多线程系统中,进程P创建的若干个线程不能共享的是?
A.进程 P 的代码段
B.进程 P 中打开的文件
C.进程 P 的全局变量
D.进程 P 中某线程的栈指针
答案:D
共享的资源有
:
a. 堆 由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的)
b. 全局变量 它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的
c. 静态变量 虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的
d. 文件等公用资源 这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有
:
a. 栈 栈是独享的
b. 寄存器 这个可能会误解,因为电脑的寄存器是物理的,每个线程去取值难道不一样吗?其实线程里存放的是副本,包括程序计数器PC。
20.Unix系统中,处于()状态的进程最容易被执行?
A.辅存睡眠
B.内存睡眠
C.内存就绪
D.辅存就绪
答案:C
分析:内存就绪就是活动就绪,辅存就绪是静止就绪,静止就绪需要转换到活动就绪,才能在时间片到来而进入到运行状态。
21.当系统发生抖动(thrashing)时,可以采取的有效措施是?
Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级
A.仅Ⅰ
B.仅Ⅱ
C.仅Ⅲ
D.仅Ⅰ, Ⅱ
答案:A
1、抖动是什么? 如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。
2、系统抖动:是指刚被调出的页又立即被调入所形成的频繁调入调出的现象。
3、原因:置换算法选择不当;系统中运行的进程太多 ,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。
4、解决办法:想办法给每个进程分配更多的页面。由于系统总的页面数目有限,所以只能通过撤销一部分进程,使得正在运行中的每个进程分配的页面更多。(其他方法:优化置换算法;增大内存) 。
22.若系统中只有用户级线程,则处理机调度单位是?
A.线程
B.进程
C.程序
D.作业
答案:B
如果系统只有用户态线程,则线程对操作系统是不可见的,操作系统只能调度进程;如果系统中有内核态线程,则操作系统可以按线程进行调度。
23.操作系统的所有程序是常驻内存的。
A.对
B.错
答案:错
操作系统有的程序是在内存,有的是在硬盘,用的时候调入内存;系统常驻内存是硬盘。
24.把逻辑地址转换程物理地址称为?
A.地址分配
B.地址映射
C.地址保护
D.地址越界
答案:B
为了保证CPU执行指令时可正确访问 存储单元 ,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为地址映射。
25.并发是并行的不同表述,其原理相同。
A.对
B.错
答案:B
分析:并发是同时执行不过微观上是串行的,并行是同时执行,但是是不同的处理器执行,并发像是是一个馒头喂两个人,并行是两个馒头喂两个人;并发是指多个请求向服务器同时请求,服务器的响应过程是依次响应,或者轮转响应的,并行是多个请求向多个服务器,各自服务各自的请求;
并发的意思是宏观上两个事情是同时“发生的”,而实际不是。例如在单cpu的机器上,可以两个进程可以“并发”执行。实际上,这两个进程是轮流被分配了cpu,轮流被执行,只是这个过程太过短暂,人未察觉到,感觉上好像是“一齐”在运行。并行是真正意义的“一齐”或者说“同时”运行。
26.一个在线服务器通常需要读取存储着海量数据的数据库。为了提高服务器处理速度,通常需要加cache(缓存),以下场景中不适合使用cache的是?
A.数据库中每条数据被访问的概率近似相等,且独立
B.使用了多线程机制的服务
C.单条线程尺寸太小的数据
D.有着大量访问的服务
答案:A
分析:因为数据库中每条数据被访问的概率近似相等,且缓存空间一般较小不可能存入较多的数据。无法预测所需要查询的数据,如果将被最近访问数据放入缓存用处不大,故而增加缓存起不到很大的作用。
27.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非强占式静态优先权法
B.强占式静态优先权法
C.时间片轮转调度算法
D.非强占式动态优先权法
答案:B
分析:抢占式保证了高优先级的进程可以直接抢夺低优先级进程的资源,优先运行;
静态优先权
:在进程运行前就已经分配了固定的优先权,在进程运行的过程中不再对优先权进行调整,这样就导致了低优先级的进程一直得不到资源,即“饥饿”状态。
动态优先权
:在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能,该优先权会随着等待的时间增长而增长。
强占式
:现行进程在运行过程中,如果有重要或紧迫的进程到达(其状态必须为就绪),则现运行进程将被迫放弃处理机,系统将处理机立刻分配给新到达的进程。
最后
以上就是搞怪皮皮虾为你收集整理的操作系统--选择题整理的全部内容,希望文章能够帮你解决操作系统--选择题整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复