单选题

1 ‎当操作系统处理缺页中断的时候,CPU处在 。
A. 用户态
√B. 核态
C. 不确定的状态
D. 空闲状态

2 ‌操作系统的用户界面可以分为两类,它们是 。
√A. 操作界面和系统功能调用
B. 操作界面和图形界面
C. 系统功能调用和API函数界面
D. 图形界面和键盘命令界面

3 ‎采用最佳适应算法实现分区存储管理时,内存空闲区队列 。
A. 按首地址增加顺序排列
B. 按释放的先后顺序排列
√C. 按空闲区大小递增顺序排列
D. 按空闲区大小递减顺序排列

4 ‏站在用户角度来看,文件系统的主要目的是 。
√A. 实现按文件名存取文件
B. 实现虚拟存储
C. 提高外存的读写速度
D. 用于存储系统文件

5 ​有关系统功能调用的描述错误的是 。
A. 应用程序使用系统功能调用会引起中断。
√B. 高级语言中不能使用系统功能调用,只用汇编程序才能通过INT指令使用。
C. 在LINUX中,每一个系统功能调用都有一个确定的编号。
D. 应用同程序通过系统功能调用可以进入核态。

6 ‌进程从运行状态到阻塞状态可能是由于 。
A. 调度程序的调度
B. 现进程的时间片用完
C. 现进程执行了V操作
√D. 现进程执行了P操作

7 ‌关于死锁的一些结论,不正确是 。
√A. 参与死锁的进程可能只有1个;
B. 参与死锁的进程至少有2个已经占有资源;
C. 参与死锁的所有进程都在等待资源;
D. 如果死锁发生,会浪费大量系统资源;

8 ​在分区存储管理中,有关碎片的说法不正确的是 。
A. 碎片问题之所以存在是因为程序要求占有连续内存才能运行。
√B. 固定分区会产生碎片,而动态分区不会产生碎片。
C. 页式存储管理系统尽管能充分利用内存,但是也不能完全避免碎片出现。
D. 分区分割之前通过门槛比较可以一定程度上减少碎片问题。

9 ‍关于“虚拟存储”概念,下列有关说法不正确的是 。
A. 虚拟存储的功能之一就是要在小内存空间中运行大型程序。
√B. 虚拟存储可以在没有任何物理内存的情况下虚拟足够大的内存空间来运行程序。
C. 段页式存储管理系统也属于虚拟存储的一种重要实现方式。
D. 对时间有严格时限要求的实时操作系统不适合采用虚拟存储管理系统。

10 ‏多道程序设计技术是指 。
A. 有多个程序同时进入CPU运行。
√B. 有多个程序同时进入主存并行运行。
C. 程序段执行不是顺序的。
D. 同一个程序可以对应多个不同的进程。

11 ‍系统调用的目的是 。
√A. 请求系统服务
B. 终止系统服务
C. 申请系统资源
D. 释放系统资源

12 ‌甲、乙两个旅行社为旅客到某航空公司订飞机票。形成互斥的资源是 。
√A. 飞机票
B. 旅行社
C. 航空公司
D. 旅行社和航空公司

13 ‍原语是 。
A. 一条机器指令
√B. 按一定逻辑组合完成特定功能的若干机器指令。
C. 一条特定的机器指令
D. 中途能中断的指令

14 ‌在P操作定义中,使进程进入阻塞状态的条件是 。
A. S>0
B. S=0
√C. S<0
D. S<>0

15 ‎关于临界区说法不正确的是 。
A. 临界区与并发程序中共享变量的存取有关。
B. 临界区的设置不宜太太也不宜太小。
C. 锁机制可以实现临界区的互斥访问。
√D. 一个程序最多只能设置一个临界区。

16 ‎动态地址映射是在程序的 过程中进行的。
√A. 执行
B. 编译
C. 装入
D. 修改

17 ‍经过 ,目标程序可以不经过任何改动而装入物理内存单元直接运行。
A. 静态地址映射
B. 动态地址映射
√C. 固定地址映射
D. 存储扩充

18 ‌分区存储管理中是在主存的 进行分区。
A. 系统区域
√B. 用户区域
C. 程序区域
D. 整个区域

分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。

19 ‍ 是指将作业不需要或暂时不需要的部分移到外存,腾出内存调入其他模块。
A. 覆盖技术
√B. 交换技术
C. 虚拟技术
D. 物理扩充

交换技术定义:当内存不够时将进程写入磁盘,当进程要运行时重新写回内存。
覆盖是内存中有可以被覆盖的覆盖区。
有评论问起了为什么不是覆盖,这里我仔细查证了一下定义:
覆盖技术也是用于解决程序大小超过物理内存总和的问题的,但它需要程序员提前指定程序段中的可覆盖结构,按照其自身的逻辑结构使那些不会同时执行的程序段共享同一块内存区域。主要存在于早期的操作系统中,现在已经很少使用。具体可以看这篇文章:操作系统 内存管理 覆盖与交换技术
交换技术顾名思义,就是把用不到的交换出去,用得到的交换进来。每次参与交换的内存段不是固定的,是随内存使用而交换的,所以命名为“覆盖”的话总会联想到“覆盖某个区域”,这确实会导致丢失其动态语义,因此我也认为这种技术叫做“交换技术”更加合理。

20 ​在页式存储管理中,若所需页面不在内存中,则会引起 。
A. 输入输出中断
B. 时钟中断
C. 越界中断
√D. 缺页中断

21 ‎在段页式存储管理中,系统中 。
A. 每个进程一个段表,一个页表
B. 进程的每个段一个段表一个页表
C. 每个进程一个页表,每个段一个段表
√D. 每个进程一个段表,每个段一个页表

22 ​下列说法错误的是 。
A. 利用有序资源分配法的目的是破坏环路条件。
√B. 利用有序资源分配法,可以避免进程阻塞。
C. 有序资源分配法会降低资源使用效率。
D. 有序资源分配法保证并发进程不发生死锁。

只是不死锁,该阻塞还是会阻塞

23 ‌关于P-V操作解决同步问题的说法正确的是 。
A. 一般在关键操作之前执行V操作。
B. 一般在关键操作之后执行P操作。
C. 信号量S的定义可以随意定义。
√D. 信号量S的初值设置不对可能导致并发过程出错。

24 ​关于分时技术说法错误的是 。
A. 分时技术把CPU以时间片为单位轮流为每个终端服务。
B. 分时技术允许内存中同时存放多道程序。
C. Linux采用分时技术支持多用户多任务按时间片共享CPU。
√D. Windows 7不支持多用户,不是利用分时技术的操作系统。

25 ‌关于文件目录说法错误的是 。
A. 文件目录的实质是记录文件名和存放地址的对应关系。
B. 文件目录具有将文件名转换为外存物理位置的功能。
√C. 文件的各种属性记录在文件里面,没有记录在文件目录中。
D. 文件目录也是一个特殊的文件,称为目录文件。

文件目录即文件名址录,它是一张记录所有文件的名字及其存放地址的目录表。表中还应包括关于文件的说明和控制方面的信息。

26 ‌关于操作系统的逻辑结构说法错误的是 。
A. 整体式结构以模块为基本单位构建。
B. 层次结构把具有共性的服务放置在较低层。
√C. 层次结构把活跃的服务放置在较高层。
D. 层次结构有利于操作系统的移植。

硬件最底层,共性服务和活跃服务较低层。

27 ‌关于设备管理有关的说法错误的是 。
A. 物理设备是指I/O系统中实际安装的设备。
B. 逻辑设备是指应用软件通过逻辑名使用的设备。
C. 逻辑设备是一类物理设备的抽象。
√D. 每个逻辑设备都对应唯一一个特定的物理设备。

一类。

28 ‍关于设备驱动程序说法错误的是 。
A. 设备驱动程序的实现与硬件密切相关。
B. 操作系统一般仅对与设备驱动程序的接口提出要求。
√C. 设备驱动程序工作在用户态。
D. 设备驱动程序的本质就是实现设备的文件操作接口。

I/O请求会触发中断,肯定不是用户态。
设备驱动程序:控制设备I/O工作的核心模块。它负责解释进程的I/O系统调用,即将其转换成I/O控制模块认识的命令形式。物理设备工作完成后会引起相应的中断处理。

29 ‍关于Intel CPU内存管理机制说法错误的是 。
A. 是否启用保护模式取决于CR0寄存器的PE位。
B. 无论在实模式下还是保护模式下,段寄存器都是16位。
C. 段描述符(Descriptor)是描述一段内存属性的数据结构。
√D. 段描述符(Descriptor)是一个32位(bit)的数据结构。

段寄存器(CS、DS、ES、SS、FS、GS)中存放的是选择子(Selector)
选择子是指向某个段描述符的索引
描述符(Descriptor)是一个64bit的数据结构(包含段起始地址、限界、属性)。

30 ‌关于Intel CPU内存管理机制说法错误的是 。
√A. 局部描述符表LDT(Local Descriptor Table)中描述的内存每个进程可以访问的。
B. 中断描述符表IDT(Interrupt Descriptor Table)包含有与中断服务程序相关的段描述符。
C. 在保护模式下段寄存器的内容用于选择GDT或LDT中的某个描述符。
D. 在保护模式下段寄存器的内容包含有访问权限控制的参数。

只有局部的可以访问。

填空题

31 ​采用二级页式存储管理时,执行一条访存指令访问某个内存单元(假定不会发生缺页)时,在最坏情况下需要访问内存 3 次。

访问一级页表找到一个页号,再用页号访问二级页表找到该页的物理块号,然后再计算得到物理地址访问内存中的数据。

32 ‏若页式系统地址宽度16位,页大小为2K。则页式虚拟地址的高 5 位表示页号。

2K=11位,一页要占11位,所以用来表示出页号的只有(16-11)即5位。

33 ‌在段页式存储系统中,执行一条访存指令访问某个内存单元(假定不会发生缺段缺页)时,在最坏情况下需要访问内存 3 次。

段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
第一次是查询段表,第二次是根据段号查询页表,第三次是访问目标内存单元。

34 ‌Windows2000以及之上版本的操作系统,其设备驱动程序的入口函数名称是 DriverEntry 。

35 ​Linux中动态加载模块(例如驱动程序)使用的命令是 insmod 。

36 ‌从逻辑结构的意义上划分文件类型,可以分为流式文件和 记录 文件。

37 ‍Intel 80386 CPU进行地址转换时,逻辑地址先转化为 线性 地址,再转化为物理地址。

38 ‍假设操作系统的地址宽度32位,页大小4KB。某进程的页表中有如下5条记录(假定每条记录的结构是[页号:页框号:中断位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。则该进程中的虚拟地址17408对应的物理地址是 74752 (请写成十进制数字)。

17408/4096=4.25,说明页号为4,页内偏移为4096×0.25=1024。查表得页框号为18,中断位为0说明没有缺页。物理地址为18×4096+1024=74752。

39 ‌假设操作系统的地址宽度32位,页大小4KB。某进程的页表中有如下5条记录(假定每条记录的结构是[页号:页框号:中断位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。该进程访问虚拟地址408时发生的异常现象叫 缺页 。‏

40 ‍表示外存存储空间占用情况时,利用内存若干个字节,每位(bit)表示相应存储块是空闲还是被占用的方法叫 位示图 。

判断题

41 ‎中断在什么时候发生程序员在任何情况下都无法预知。
A. 对
√B. 错

42 ‎多道批处理系统的特点就是把CPU时间分成小片轮流地为多个作业服务。
A. 对
√B. 错

分时才多片,多道只是:这个进程不用CPU了就给别的进程用。

43 ‍处于阻塞态的进程当运行条件满足后立即进入运行状态。
A. 对
√B. 错

先就绪态

44 ‎WINDOWS 10中线程是资源分配和CPU调度的基本单位。
A. 对
√B. 错

进程是操作系统资源分配的基本单位,对于有多线程的系统,线程是任务调度和执行的基本单位。

45 ​如果系统中资源总数不足,则进程一定会发生死锁。
A. 对
√B. 错

回顾一下死锁的必要条件:互斥、非抢占、部分分配、环路。

46 ‏利用P-V机制控制并发过程时,如果信号量S小于0,其绝对值表示相应阻塞队列中进程的个数。
√A. 对
B. 错

47 ​最久未使用页面淘汰算法将驻留在内存中时间最久的页面淘汰。
A. 对
√B. 错

48 ‌GDTR和LDTR寄存器中存放的内容是相应描述符表的绝对地址。
A. 对
√B. 错

LDTR寄存器存放的是相对GDT的地址。
全局描述符表GDT:在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置,但CPU必须知道GDT的入口,也就是基地址放在哪里。
寄存器GDTR:用来存放GDT的入口地址,GDTR中存放的是GDT在内存中的基地址和其表长界限。
局部描述符表LDT(Local Descriptor Table)局部描述符表可以有若干张,每个任务可以有一张。我们可以这样理解GDT和LDT:GDT为一级描述符表,LDT为二级描述符表。LDT和GDT从本质上说是相同的,只是LDT嵌套在GDT之中。
LDTR:记录局部描述符表的起始位置,与GDTR不同,LDTR的内容是一个段选择子。
可见都记录的是入口地址,但是LDTR记录的是可变的,要找到局部符表的绝对地址,还需要结合GDT的地址计算。

49 ‎同步机制的实质是当进程运行条件不满足时,能让进程即刻暂停,而条件一旦满足,则及时唤醒它。
√A. 对
B. 错

50 ‌空闲文件是指当前没有任何用户存取使用的文件。
A. 对
√B. 错

空闲文件:把连续空闲区看成一个特殊文件,由多个连续空闲块组成。

主观题

1 ‌微内核结构有什么特点?
出自第一章还是第二章的单元作业。

微内核结构的特点是由微内核+核外服务器构成,微内核只提供最基本的功能,核外服务器提供用户功能,面向服务。
1)有较高的灵活性和可扩充性
2)提高了操作系统的可靠性
3)更适合于分布式系统

2 ‌试述为Linux增加新的系统调用的过程?

出自第三章单元作业(3)
1. 编写新的系统调用函数
2. 注册新的系统调用
3. 编译新LINUX内核
4. 编译和安装模块
5. 启动新的LINUX内核
6. 编写应用程序测试新的系统调用

3 ‌试述线程有哪些典型应用场合?

出自第四章单元作业(3)1.多个功能需要并发的地方;
2.需要改善窗口交互性的地方;
3.需要改善程序结构的地方;
4.多核CPU上的应用,充分发挥多核性能。

4 试述缺页中断的概念和缺页中断响应的过程

没找到出自哪里,借鉴了这个https://blog.csdn.net/yusiguyuan/article/details/46820061。

缺页中断:在请求页式存储管理中,当根据虚拟地址查页表而发现所要访问的页不在内存时,就会产生缺页中断。
缺页中断响应的过程:
<1> 首先硬件会陷入内核,在堆栈中保存程序计数器。大多数机器将当前指令的各种状态信息保存在CPU中特殊的寄存器中。
<2>启动一个汇编代码例程保存通用寄存器及其它易失性信息,以免被操作系统破坏。这个例程将操作系统作为一个函数来调用。
(在页面换入换出的过程中可能会发生上下文换行,导致破坏当前程序计数器及通用寄存器中本进程的信息)
<3>当操作系统发现是一个页面中断时,查找出来发生页面中断的虚拟页面(进程地址空间中的页面)。这个虚拟页面的信息通常会保存在一个硬件寄存器中,如果没有的话,操作系统必须检索程序计数器,取出这条指令,用软件分析该指令,通过分析找出发生页面中断的虚拟页面。
<4>检查虚拟地址的有效性及安全保护位。如果发生保护错误,则杀死该进程。
<5>操作系统查找一个空闲的页框(物理内存中的页面),如果没有空闲页框则需要通过页面置换算法找到一个需要换出的页框。
<6>如果找的页框中的内容被修改了,则需要将修改的内容保存到磁盘上,此时会引起一个写磁盘调用,发生上下文切换(在等待磁盘写的过程中让其它进程运行)。
(注:此时需要将页框置为忙状态,以防页框被其它进程抢占掉)
<7>页框干净后,操作系统根据虚拟地址对应磁盘上的位置,将保持在磁盘上的页面内容复制到“干净”的页框中,此时会引起一个读磁盘调用,发生上下文切换。
<8>当磁盘中的页面内容全部装入页框后,向操作系统发送一个中断。操作系统更新内存中的页表项,将虚拟页面映射的页框号更新为写入的页框,并将页框标记为正常状态。
<9>恢复缺页中断发生前的状态,将程序指令器重新指向引起缺页中断的指令。
<10>调度引起页面中断的进程,操作系统返回汇编代码例程。
<11>汇编代码例程恢复现场,将之前保存在通用寄存器中的信息恢复。

5 通过Linux或Windows驱动程序的开发过程,如何理解“设备是文件”这一重要概念?

详见https://blog.csdn.net/uyhuayussd/article/details/94202544。我写得没他详细。

一切都可看作是文件,所有的硬件组件都表示为文件,系统使用这些文件来与硬件通信。其最显著的好处是在开发过程中,对于各种的输入/输出资源,只需要相同的一套工具、实用程序和 API。

6 枚举Windwos的的三种进程/线程同步机制的名字和特点?

‍ ???连windows都打错了???还打了两个‘的’???

没找到出自哪里,借鉴了这个:https://www.cnblogs.com/TTaiAL/p/6063119.html。

1. 原子操作:该操作绝不会在执行完毕前被任何其他任务或事件打断。需要硬件的支持,因此是架构相关的。主要用于实现资源计数。
2. 互斥对象内核对象(Mutex):能够确保线程(可以是不同进程的线程)拥有对单个资源的互斥访问权限。
3. 信标内核对象(Semaphore):用于对资源进行计数。它能够以原子操作的方式来执行测试和设置操作,这意味着当使用等待函数申请一个信标保护的资源时,操作系统会检测这个资源是否可用,同时负责对该资源可用计数递减,而不让其他线程在这个过程中产生干扰。
Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐