第一章
操作系统概述
层次结构
概念
操作系统的功能
管理者
向上层提供简单易用的服务
如:
总结:
答案:D
D选项可能会让我们想到文件管理,但是 操作系统管理文件,是指操作系统关心计算机中的文件的逻辑结构、物理结构、文件内部结构、多文件之间如何组织的问题,而不是关心文件的具体内容。
答案:B
答案:A
操作系统的特征
并发VS并行:
共享:
答案:C,这是单道程序设计的特点。
并发与共享的关系:
虚拟:
异步:
总结:
操作系统地发展与分类
手工阶段:
单道批处理系统:
多道批处理系统:
答案:A
CPU因中断在不断切换执行的进程时,I/O设备肯定也是在一直工作的,因此…
10个进程和100个进程,我们并不能确定谁对CPU的利用率高。
另外:进程多并不意味着CPU 利用率高,进程数量越多,进程之间的资源竞争越激烈,甚至可能因为资源竞争而出现死锁现象,导致 CPU 利用率低。
分时操作系统:
答案:C(可以怀疑正确性)
加大时间片其负面作用。
答案:C
答案:B
答案:B
分时操作系统:应在规定的时间片内完成任务即可。
响应时间:提交任务到计算机首次回应的时间。
实时操作系统:
答案:B
周转时间:进程从提交到完毕所花费的时间。
答案:B
应该避免资源利用率过高,比如自动驾驶,过多进程争抢CPU会导致刹车不及时。
答案:D
了解:
总结:
操作系统的运行机制
内核程序 VS 应用程序:
内核态与用户态切换:
区分:
访管指令就是陷入指令,用户态通过它切换到核心态,这也是它的作用。
总结:
注意:当我们点关机时,其实是自动去进行了系统调用了,就类似于:cin和cout,也是一个道理。
答案:B
B:在分时系统中,CPU是按时间片轮流执行进程的,因此,不能随意更改时钟!
D:就比如计组里的用指令实现for循环,先将寄存器里的值设为0,然后累加(i++),没有那么重要。
答案:B,I/O指令是特权指令,就是输入输出指令。
数据传输指令:mov指令。
断点指令:调试程序时,用到的方法。
中断和异常
中断的作用:
答案:C
如果没有中断,那么CPU就会一直执行一个进程,也就不可能实现并发行了。(无中断,不并发)
中断的类型:
内中断:
注意,这个“陷入指令”不是特权指令,因为它是在用户态下发出的。
外中断:
分类:
中断过程:
显然在第一个关中断之前就切换为了内核态,最后 中断返回 后就回到用户态了。
答案:B
中断机制的基本原理:
总结:
答案:A
访管中断就是执行了陷入指令…
关中断指令:接受不到中断信号…
答案:B
快表和Cache的内容无非就是复制了内存的一部分内容,丢了再复制一份就行。
通用寄存器的内容要判断后期是否使用,因此,是由软件处理的。
答案:B
D选项:可能会发生缺页。
答案:C
I:保存断电,硬件自动完成。
III:中断向量表放在内存里,一般开机时操作系统完成初始化。
答案:D
系统调用
什么是系统调用?
答:操作系统对应用程序/程序员提供的接口。(接口:能够提供的服务或功能函数)
系统调用 VS 库函数
为什么系统调用时必须的?
系统调用分类:
系统调用的过程:
- 应用程序向CPU传入相应参数,指明 系统调用类型。
- CPU执行到 陷入指令,转入相应的中断处理程序–即 系统调用的入口程序。
- 系统调用入口程序:根据寄存器中的参数判断用户需要那种系统调用服务。
- 执行相应服务。
库函数:
总结:
答案:B
注意:A、B、D它们是发生在用户态下,相应处理程序执行在内核态下。
一般过程调用其实就是函数调用。
系统调用需要将当前 CPU中的PSW和 PC 的值压栈,以保存现场信息,而函数调用只需保存PC的值。
系统调用的调用过程:指用户发出调用请求,必然在用户态下。
系统调用的被调用过程:指执行系统调用,必然在内核态下。
函数调用既可能是在用户态下,也可能是在内核态下。
A:页置换,当进程要访问的页不在内存中从而触发“缺页”故障,将页调到内存中时,内存满了,需要进行 页置换,因此,页置换是由进程访问某个没有调入到内存的页导致的。
B:一个进程可以通过系统调用使自己进入阻塞状态,从而等待一些I/O操作的完成,当CPU检测到执行的进程阻塞后,就会切换到另一个进程,即进程调度,因此,我们可以发现进程调度并不是由系统调用完成的。
D:通过rand函数并不需要请求操作系统地服务。
操作系统地体系结构
总结:
可移植性:大内核代码量大且与硬件相关联,移动后,需要更改大量的内核代码。
可扩展性:大内核扩展功能,需要修改代码,微内核只需在内核外增加模块即可。
答案:B
答案:D
策略层的内存管理,相当于决定使用哪一片内存。
机制层的内存分配回收,相当于实现上面的策略。
答案:C
答案:C
I: windows,采用宏内核+微内核
III:分布式系统,即多台计算机一起处理任务,因此需要频繁的通信和协调,而微内核架构可以方便地实现进程间的通信和同步,支持服务器之间的消息传递和远程过程调用。
IV:会使系统低效,因为要频发变态。
其他的结构:
分层结构:
第n层,只能调用第n-1层的服务。
B:只要保证不影响向上层提供的服务即可。
答案:C
模块化:
答案:B
外核:
思想:内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源(如内存空间,磁盘空间),且由外核负责保证资源使用安全。
抽象的硬件资源:实际上就是给进程分配一段逻辑化的内存空间(比如逻辑上连续的空间)。
分配未经抽象的硬件资源:是指外核能够给进程分配一个真正连续的物理空间。
显然,这样会导致有的进程可以申请物理空间,有的进程可以申请需要映射的逻辑空间,降低了一致性。
操作系统引导
**概念:**操作系统引显(boot)–开机的时候,怎么让操作系统行起来?
安装操作系统后的磁盘:
操作系统引导过程(开机过程):
答案:C
答案:D,看下图,区分各种引导程序。
AB指的是一个东西。
先通电,完事后,跳到对应位置,执行ROM里的自举程序,然后自举程序首先会登记 BIOS 中断程序入口地址,然后进行硬件自检(检查内存、外存这些关键的部件)、最后进行操作系统的引导。
登记 BIOS 中断程序入口地址:使CPU能知道外设发来请求后,对应的中断处理程序在哪,这样才能使CPU完成对应的外设请求的操作。
答案:C
答案:A