面试题错题解析5_操作系统

                                                           面试题错题解析5_操作系统

核心态下,CPU对一切硬件具有完全访问权限,可以执行机器能够执行的任何指令。而在用户态下,cpu不能执行特权指令。

计算机系统中判断是否有中断发生,应是在(  执行完一条指令时)

程序封闭性是指进程执行的结果只取决于进程本身,不受外界影响。也就是说,进程在执行过程中不管是不停顿的执行,还是走走停停,进程的执行速度不会改变它的执行结果。失去封闭性后,不同速度下的执行结果不同。

在虚拟存储系统中,若进程在内存中占三块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生()次缺页中断。
A.7
B.8
C.9
D.10
解析:D
访问页号序列号:1、2、3、4、1、2、5、1、2、3、4、5、6
第一次(1):1
第二次(2):1 2
第三次(3):1 2 3
第四次(4):2 3 4
第五次(1):3 4 1
第六次(2):4 1 2
第七次(5):1 2 5
未改变(1)
未改变(2)
第八次(3):2 5 3
第九次(4):5 3 4
未改变(5)
第十次(6):3 4 6
总共10次,选D

关于文件存储空间的管理方式,( 成组链接法)需要使用空闲盘块号栈。

现代计算机普遍采用总线结构,包括数据总线、地址总线、控制总线,通常与数据总线位数对应相同的部件是( )
A.CPU
B.存储器
C.地址总线
D.控制总线
解析:A
数据总线用于传送数据信息。数据总线是双向三态形式的总线,即它既可以把 CPU 的数据传送到存储器或输入输出接口等其他部件,也可以将其他部件的数据传送到 CPU 。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如, Intel 8086 微处理器字长 16 位,其数据总线宽度也是 16 位。

各种虚拟存储都是时间换空间,缓冲是用空间换时间

下列方法中,____不可以用来程序调优?
A.改善数据访问方式以提升缓存命中率
B.使用多线程的方式提高 I/O 密集型操作的效率
C.利用数据库连接池替代直接的数据库访问
D.利用迭代替代递归
E.合并多个远程调用批量发送
F.共享冗余数据提高访问效率
解析:B
A缓存命中率提高,减少访问存储器的开销
B多线程并不能使IO操作并行化。可以通过异步读写、合并读写、计算代替读写等方式优化
C可以减少连接和断开数据库的开销
D可以减少运行时对程序栈进行操作的开销
E减少远程调用的次数
F,共享冗余,提高效率,加快访问

页表的作用是实现从页号到物理块号的( 地址映射)
解析:在页式管理中,页表的作用是实现从页号到物理块号的地址映射,存储页表的作用是记录内存页面的分配情况。 页表实际上就是进程的虚存空间与系统中的物理存储空间的一个映射关系。因为每个进程都有自己独立的虚存空间,所以操作系统需要为每个进程保存一个页表。进程切换的时候操作系统就会把即将调度运行的那个进程的页表加载MMU,完成地址空间的切换。
 

顺序执行的特性有如下三点。 (1)顺序性:程序顺序执行时,其执行过程可看做一系列严格按程序规定的状态转移的过程,也就是每执行一条指令,系统将从上一个执行状态转移到下一个执行状态,且上一条指令的执行结束是下一条指令执行开始的充分必要条件。 (2)封闭性:程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。 (3)无关性(可再现性):顺序执行的最终结果可再现是指运行结果与执行速度无关。只要输人的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。

大多数计算机系统将CPU执行状态分为管态和目态。管态又称为特权状态、系统态或核心态。通常,操作系统在管态下运行。目态又叫做常态或用户态,用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。从目态转换为管态的唯一途径是中断。

近几年,PC的硬盘接口大多采用____接口|
A.IDE
B.SATA
C.USB
D.AGP

解析:B
硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据;
分为:
1.IDE 电子集成驱动器,将硬盘控制器与盘体集成在一起的硬盘驱动器,普通PC的标准接口,现已被淘汰;
2、SCSI 小型计算机系统接口,广泛应用于 小型机 上的高速数据传输技术。SCSI接口具有应用范围广、多任务、 带宽 大、CPU占用率低,以及热插拔 等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端 服务器 和高档工作站中。
3、SATA 串口硬盘,是未来PC机硬盘的趋势, 串行接口 还具有结构简单、支持热插拔的优点;

在用户程序中要将一个字符送到显示器上显示,需要使用操作系统提供的() 接口。
A.系统调用
B.图形用户接口
C.原语
D.函数
解析:A
原语和系统调用是两个层面的概念
原语强调的是 某个操作或者指令集合 的连续性以及不可中断性。集合中的指令要么全部执行,要么一个也不执行,进程和其它进程通信用的是进程间通信原语,如信号,监视器或消息。
而系统调用 是出于对多种设计原则的考虑(如安全性,耦合性,模块化等等),内核态为了用户态能使用内核态的服务 而提供一个简单、一致的接口。用户态不用关心内核态是怎样实现服务的,只需要按照规定的方式调用,即可得到自己期望的结果。进程在用户态的时候运行一个用户程序时,它需要系统服务时,例如从文件读数据,它必须执行一个陷入指令,把控制权交给操作系统,当执行完所需服务时,操作系统把控制权交还给用户进程。

假定主存地址位数为 32 位,按字节编址,主存和 cache 之间采用全相联映射方式,主存块大小为一个字,每字 32 位,采用回写( Write Back )方式和随机替换策略,则能存放 32K 字数据的 cache 的总容量至少应有多少位?()
A.1536K
B.1568K
C.2016K
D.2048K
解析:D
全相联的地址结构为,主存标记+字块内标记,总地址长度为32位,按字节编址,块大小为一个字,32位,即4B,所以字块内地址2位,主存字块标记为30位,应为写回法,加上有效位,脏位,共32位。32k字数据,块大小1字,所以32K块,而标记项为,字位+标记位+有效位+脏位=64,64*32k=2048k

现代操作系统都具有并发、共享、虚拟和异步的特性,其中(并发)是其它三个特征的前提。

一个计算机系统的虚拟存储器的最大容量由()确定的。
A.计算机字长
B.内存容量
C.硬盘容量
D.内存容量和硬盘容量之和
解析:AD
1.虚存的逻辑最大容量由CPU的地址长度决定。

2.虚存的实际最大容量由CPU的地址长和外存的容量决定。

当CPU的地址长度能表示的大小远远大于外存容量时,虚存的实际容量为内存和外存容量之和;当外存容量远大于CPU字长能表示的大小时,虚存的实际容量由CPU字长决定。一般情况下,CPU的地址长度能表示的大小都大于外存容量。

下面属于进程间通信的有?
A.管道
B.消息队列
C.内存共享
D.套接字
解析:ABCD
管道:  管道中还有命名管道和非命名管道之分, 非命名管道只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式。FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个FIFO都有一个名字,允许不相关的进程访问同一个FIFO,因此也成为命名管。
消息队列: 是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息队列中写数据,而另一个进程则从那个消息队列中取数据。需要注意的是,消息队列是用创建文件的方式建立的,如果一个进程向某个消息队列中写入了数据之后,另一个进程并没有取出数据,即使向消息队列中写数据的进程已经结束,保存在消息队列中的数据并没有消失,也就是说下次再从这个消息队列读数据的时候,就是上次的数据!!!
 信号量: 不能传递复杂消息,只能用来同步
 共享内存: 只要首先创建一个共享内存区,其它进程按照一定的步骤就能访问到这个共享内存区中的数据,当然可读可写;

 

题目来源于王道论坛

若系统S1 采用死锁避免方法,S2采用死锁检测方法。下列叙述中,正确的是

Ⅰ.S1会限制用户申请资源的顺序,而S2不会

Ⅱ.S1需要进程运行所需资源总量信息,而S2不需要

Ⅲ.S1不会给可能导致死锁的进程分配资源,而S2会
A.仅Ⅰ、Ⅱ
B.仅Ⅱ、Ⅲ
C.仅Ⅰ、Ⅲ
D.Ⅰ、Ⅱ、Ⅲ
解析:B
死锁的处理采用三种策略:死锁预防、死锁避免、死锁检测和解除。
死锁预防,采用破坏产生死锁的四个必要条件中的一个或几个,以防止发生死锁。其中之一的“破坏循环等待条件”,一般采用顺序资源分配法,首先给系统的资源编号,规定每个进程必须按编号递增的顺序请求资源,也就是限制了用户申请资源的顺序,故Ⅰ的前半句属于死锁预防的范畴。
银行家算法是最著名的死锁避免算法,其中的最大需求矩阵MAX定义了每一个进程对m类资源的最大需求量,系统在执行安全性算法中都会检查此次资源试分配后,系统是否处于安全状态,若不安全则将本次的试探分配作废。
在死锁的检测和解除中,在系统为进程分配资源时不采取任何措施,但提供死锁的检测和解除的手段。
故Ⅱ、Ⅲ正确。

下列有关指令和微指令之间关系的描述中,正确的是()
A.一条指令的功能通过执行一条微指令来实现
B.一条指令的功能通过执行一个微程序来实现
C.一条微指令的功能通过执行一条指令来实现
D.一条微指令的功能通过执行一个微程序来实现
解析:B
微程序 控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令。所以微指令就是把同时发出的控制信号的有关信息汇集起来形成的。将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。若干条微指令可以构成一个微程序,而一个微程序就对应了一条 机器指令

每个进程在操作系统中用进程控制块(process control block,PCB)来表示,请找出以下不属于进程控制块中的信息______。
A.进程PID
B.进程优先级
C.进程间通信方式
D.进程的执行时间
解析:D
进程控制块(process control block,PCB)存放的是进程的管理和控制信息,应该包含:

1.进程的名字,也叫进程标识符

2.进程目前的状态,就绪or阻塞or运行

3.进程相应的程序和地址

4.进程所占的资源

5.进程的优先级

6.CPU现场保护区

7.进程同步与通信进制

8.进程所在队列PCB的链接字,PCB 链接字指出该进程所在队列中下一个进程 PCB 的首地址。

9.与进程有关的其他信息

指令寄存器的作用是____________
存放正在执行的指令

chmod 命令,改写文件的读写许可设置
语法为: chmod abc file
其中 a,b,c 各为一个数字,分别表示 User, Group, Other 的权限
r = 4, w = 2, x = 1
所以,
a = 4+2+1 = 7
b = 4
c = 4

linux 的索引节点中不包含的内容是( 文件名
A.文件名
B.文件物理地址
C.文件存取权限
D.文件创建时间
解析:A
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
至于为什么没有文件名,是因为由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。
1. 有时,文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除文件的作用。
2. 移动文件或重命名文件,只是改变文件名,不影响inode号码。
3. 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名。

操作系统必须有一个进程,一个进程必须有一个线程;
线程必定从属于某个进程;
线程不能更改从属的进程;

(  )存储管理方式提供二维地址结构。
A.固定分区
B.分页
C.分段
D.可变分区
解析:C
分页存储管理中,作业地址空间是一维的,即单一的线性地址空间,程序员只需要一个记忆符来表示地址;
在分段存储分配管理中,段之间是独立的,而且段长不定长而页长是固定的,因此作业地址空间是二维的,程序员在标识一个地址时,既需给出段名又需给出段内地址。

文件系统的主要目的是(实现对文件的按名存取 )
处理外部中断时,应该由操作系统保存的是 。 通用寄存器的内容

 

某段表的内容如表所示。
           段表
 段号   段首址/KB   段长度/KB
 0         120            40
 1         760            30
 2         480            20
 3         370            20
现执行某条指令Load1,2/154,逻辑地址2/154(其中段号为2,段内地址为154),它对应的物理地址为()
A.120KB+2
B.480KB+154
C.30KB+154
D.480KB+2
解析:B
段号为2,那么查表可以知道段首地址为480KB,也就是说段号为2的这个段的段首在存储区中的位置为480KB,然后154为逻辑地址中的偏移量,也就是相对于地址480KB的相对位置,那么物理地址就是480KB+154

在虚拟页式存储治理方案中,下面哪一部分完成将页面调入内存的工作?
缺页中断处理
虚拟存储中的页式存储技术不是讲全部页装入内存,而是调用一个(甚至0页),所以一旦出现缺页,处理器马上发生中断,将页面调入内存继续工作

题目来源于王道论坛

某进程的段表内容如下所示。

当访问段号为2、段内地址为400的逻辑地址时,进行地址转换的结果是
A.段缺失异常
B.得到内存地址4400
C.越权异常
D.越界异常
解析:D
分段系统的逻辑地址A到物理地址E之间的地址变换过程如下:

① 从逻辑地址A中取出前几位为段号S,后几位为段内偏移量W,注意段式存储管理的题目中,逻辑地址一般以二进制给出,而在页式存储管理中,逻辑地址一般以十进制给出,各位读者要具体问题具体分析。

② 比较段号S和段表长度M,若S≥M,则产生越界异常,否则继续执行。

③ 段表中段号S对应的段表项地址=段表起始地址F+段号S×段表项长度,取出该段表项的前几位得到段长C。若段内偏移量≥C,则产生越界异常,否则继续执行。从这句话我们可以看出,段表项实际上只有两部分,前几位是段长,后几位是起始地址。

④ 取出段表项中该段的起始地址b,计算E=b+W,用得到的物理地址E去访问内存。

题目中段号为2的段长为300,小于段内地址为400,故发生越界异常,D正确。

为了实现设备独立性, 应用程序必须通过 逻辑设备名 来请求使用某类设备
逻辑设备名也就是端口号

通道在I/O程序执行结束或开始的时候,需要CPU做一定处理。只有在执行I/O程序期间,无需CPU干预。

如果进程需要读取磁盘上的多个连续的数据块,( )数据传送方式的效率最高。
A.程序直接控制方式
B.中断控制方式
C.DMA方式
D.通道方式

解析:D
(1)程序直接访问方式跟循环检测IO方式,应该是一个意思吧,是最古老的方式。CPU和IO串行,每读一个字节(或字),CPU都需要不断检测状态寄存器的busy标志,当busy=1时,表示IO还没完成;当busy=0时,表示IO完成。此时读取一个字的过程才结束,接着读取下一个字。
(2)中断控制方式:循环检测先进些,IO设备和CPU可以并行工作,只有在开始IO和结束IO时,才需要CPU。但每次只能读取一个字。
(3)DMA方式:Direct Memory Access,直接存储器访问,比中断先进的地方是每次可以读取一个块,而不是一个字。
(4)通道方式:比DMA先进的地方是,每次可以处理多个块,而不只是一个块。

​​​​​​​

猜你喜欢

转载自blog.csdn.net/xiao__jia__jia/article/details/81477446
今日推荐