操作系统期末简答题复习
引论
###1. 什么是操作系统?操作系统追求的主要目标是什么?
答:①:操作系统是计算机系统中的系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够方便地使用计算机,是整个计算机系统能高效运行的一组程序模块集合。②:目标:方便性、有效性、可扩充性、开放性
方便性:配置操作系统后的计算机系统更易使用
有效性:操作系统可使处理机和I/O设备保持正常工作状态而得到有效利用,使内存和外村中存放的数据有序,节省存储空间。改善系统的资源利用率及增加系统的吞吐量。
可扩充性:操作系统需要由很好的可扩充性来适应计算机硬件和体系结构发展的要求。
开放性:为了实现应用程序的可移植性和互操作性,要求具有统一的开放的环境,因此操作系统需要有开放性。
2. 操作系统分成哪几类?
-
批处理操作系统;(分为单道批处理操作系统和多道批处理操作系统)
-
分时操作系统;
-
实时操作系统;
-
通用操作系统;
-
网络操作系统;
-
分布式操作系统;
-
嵌入式操作系统。
3. 从资源管理观点看,操作系统具有那些功能?
- 处理机管理。用于分配和控制处理机。
- 存储器管理。主要负责内存的分配和回收。
- 文件管理。负责文件的存取、共享和保护。
- I/O设备管理。负责I/O设备的分配和操纵。
4. 什么是多道程序系统?其主要特点是什么?
①多道程序系统是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法,是程序在管理程序的控制下,相互穿插地运行。
②特点:在多道程序环境下,多个进程异步运行。
5. 简述操作系统的特征
- 并发性:指有多道程序在同一时间间隔内发生
- 共享:指系统中的资源可供内存中多个并发执行的进程共同使用。
- 虚拟:通过某种技术吧一个物理实体变成若干个逻辑上的对应物。
- 异步性:在多到程序环境下,允许多个进程异步运行。
操作系统的硬件环境
1. 为了支持操作系统,现代处理机一般都提供哪两种工作状态,以隔离操作系统和普通程序?两种状态各有什么特点?
管态和目态,前者指操作系统管理程序运行时的状态,具有较高的特权级别,又称特权态、系统态;后者一般指用户程序运行时的状态,具有较低的特权级别,又称普通态、用户态。
处理机处于管态时,全部指令可以执行,可使用所有资源,并具有改变处理机状态的能力。
当处理机处于目态时,只有非特权指令可以使用。
2. 什么是分级的存储体系结构?它主要解决了什么问题?
为了解决计算机存储系统设计的3个问题:容量、速度和成本而提出的一个解决方案。其采用了层次化的存储体系结构,从上到下依次是:寄存器、高速缓存、内存、硬盘存储器、光盘存储器和磁带机(这俩个同一级)。从上到下,速度降低,容量增大,成本降低,访问频率降低,让较小、较贵而快速的存储设备有较大、较便宜而慢速的存储设备做后盾,通过控制访问频率来提高存储系统的效能。
3.内存通常有哪两种类型?它们各自的特点是什么?用在哪里?
分为读写型存储器(RAM)和只读型存储器(ROM)。
特点:
- 读写型存储器:可以把数据存入其中任一地址单元,并且可以在以后的任何时候把数据读出来,或重新存入别的数据的一种存储器。RAM主要用于存放随机存取的程序和数据
- 只读存储器:只能从其中读取数据,不能随意地用普通的方法向其中写入数据。ROM常用于把一些常驻内存的模块以微程序固化于ROM中
进程与进程管理
1. 什么是进程?它与程序有那些异同点?
进程是具有独立功能的可并发执行的程序再一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。
异同点:
- 进程是程序的一次执行,它是一个动态的概念。程序是完成某个特定功能的指令的有序序列,它是一个静态的概念。
- 京城是系统进行资源分配和调度的一个独立单位,程序不是。
- 程序可以作为一种软件资源长期保存,而进程是程序的一次执行过程。
- 进程是具有结构的。
2.进程有哪几种基本状态?试举出使进程状态发生变化的事件并描述它的状态转换图。
三种:就绪态、执行态、阻塞态。
事件:
- 就绪->执行状态:进程调度为处于就绪状态的进程分配了处理机后,该进程由就绪态转为执行态。
- 执行->阻塞状态:正在执行的进程因出现某种事件而无法执行。
- 阻塞->就绪状态:处于阻塞状态的进程,在其等待的事件已经发生,则进程由阻塞状态变为就绪状态。
状态转换图:

3. 进程P在其存在过程中依次经历了以下几个过程:
- 进程调度选中了P占用处理机运行,进程P运行中提出资源申请,要求增加内存使用量,没有得到。
- 进程等待一段事件后得到内存。
- 进程调度再次选中进程P占用处理机运行。
- 由紧急进程Q进入,系统停止了P的运行,将处理机分配给进程Q。
- 进程Q运行完,进程调度再次选中了进程P占用处理机运行。
- 进程P运行完。
分析进程P在其整个生命过程中的状态变化。
- 由就绪->执行->阻塞->就绪->执行->就绪->执行->完成
4. 什么是线程?进程和线程的主要区别是什么?
线程是进程的一个实体,是杯系统独立调度和分派的基本单位。
区别:
- 调度,在传统操作系统中,拥有资源和基本单位和独立调度、分派的基本单位都是进程。在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位。
- 并发性,不仅进程可以并发执行,线程之间也可以并发执行。
- 拥有资源,进程是拥有资源的一个独立单位,而线程自己不拥有系统资源。但它可以访问其隶属进程的资源
- 系统开销,进程切换的开销远大于线程切换的开销。部分系统中,线程的切换、同步和通信都无须操作系统内核的干预。
进程同步与通信
1.什么叫临界资源?什么叫临界区?对临界区的使用应符合哪些准则?
-
一个时刻只允许一个进程使用的资源称为临界资源。
-
在每个进程中访问临界资源的那段代码称为临界区。
准则:
-
空闲让进:当无进程处于临界区,临界资源空闲时,可允许一个请求进入临界区的进程立即进入自己的临界区,以有效利用临界资源
-
忙则等待:当有进程已经进入自己的临界区访问临界资源时,其他试图进入临界区的进程必须等待。
-
有限等待:对要求访问的临界资源的进程,要保证在有效的时间内进入临界区,避免陷入 “死等“ 状态。
-
让权等待:当进程不能进入自己的临界区时,应立即释放处理机。
2. 当进程对信号量s执行 wait、signal操作时,s的值发生变化,当s>0、s=0和s<0时,其物理意义是什么?
①执行wait时,s的值减一,执行signal时,s的值加一。
s>0时,s表示可使用资源数或表示可使用资源的进程数。
s=0时,s表示没有资源可供使用或表示不允许进程进入临界区。
s<0时,s表示等待使用资源的进程个数或表示等待进入临界区的进程个数。
3. 什么是死锁
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞现象。在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程所占有永远不会释放的资源。
4.死锁产生的四个必要条件是什么?
-
互斥条件
进程要求对分配的资源进行排他性控制,即在一段时间内某资源仅为一进程所占有。
-
请求和保持条件
进程因请求资源而阻塞时,对已获得的资源保持不放。
-
不剥夺条件
进程已获得的资源在未使用完钱不能被剥夺,只能在使用完时自己释放。
-
环路等待条件
在仿生死锁时,必然存在一个进程—资源的环形链。
5. 考虑某一个系统,它有四类资源R1,R2,R3,R4,有5个并发进程P0,P1,P2,P3,P4。请按照银行家算法回答下列问题:
- 当前资源的剩余向量、各京城的最大资源请求和已分配的资源矩阵如表所示:
当前资源剩余向量avaliable:
R1 | R2 | R3 | R4 |
---|---|---|---|
1 | 5 | 2 | 2 |
进程 | 分配向量 | 最大需求量 | |||||||
---|---|---|---|---|---|---|---|---|---|
R1 | R2 | R3 | R4 | R1 | R2 | R3 | R4 | ||
P0 | 0 | 0 | 1 | 2 | 0 | 0 | 2 | 2 | |
P1 | 1 | 0 | 0 | 0 | 1 | 7 | 5 | 0 | |
P2 | 1 | 0 | 3 | 4 | 2 | 3 | 5 | 6 | |
P3 | 0 | 6 | 3 | 2 | 0 | 6 | 5 | 2 | |
P4 | 0 | 0 | 1 | 4 | 0 | 6 | 5 | 6 |
- 计算各进程的需求向量组成的矩阵:
进程 | 资源分配情况 | |||
---|---|---|---|---|
R1 | R2 | R3 | R4 | |
P0 | 0 | 0 | 1 | 0 |
P1 | 0 | 7 | 5 | 0 |
P2 | 1 | 3 | 2 | 2 |
P3 | 0 | 0 | 2 | 0 |
P4 | 0 | 6 | 4 | 2 |
- 系统当前处于安全状态吗?
有进程序列< P0->P3->P2->P4->P1 >,可顺序完成。因此是处于安全状态
进程 | Work | Need | Allocation | Work+Allocation | Finish | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
R1 | R2 | R3 | R4 | R1 | R2 | R3 | R4 | R1 | R2 | R3 | R4 | R1 | R2 | R3 | R4 | ||
P0 | 1 | 5 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 2 | 1 | 5 | 3 | 4 | 1 |
P3 | 1 | 5 | 3 | 4 | 0 | 0 | 2 | 0 | 0 | 6 | 3 | 2 | 1 | 11 | 6 | 6 | 1 |
P2 | 1 | 11 | 6 | 6 | 1 | 3 | 2 | 2 | 1 | 0 | 3 | 4 | 2 | 11 | 9 | 10 | 1 |
P4 | 2 | 11 | 9 | 10 | 0 | 6 | 4 | 2 | 0 | 0 | 1 | 4 | 2 | 11 | 10 | 14 | 1 |
P1 | 2 | 11 | 10 | 14 | 0 | 7 | 5 | 0 | 1 | 0 | 0 | 0 | 3 | 11 | 10 | 14 | 1 |
用GPT生成表格太爽拉!!!
- 当进程P2申请的资源分别为(0,3,2,0)时,系统能立即满足吗?
这题同上题类似,只是将Need减去(0,3,2,0)之后再按照上述的银行家算法计算,最后可以得到一个安全序列:< P2,P3,P0,P4,P1 >,说明系统是安全的,可以立即把P2所申请的资源分配给它。
存储器管理
1. 可变分区常用的分区算法有哪几种?它们各自的特点是什么?
-
首次适应算法
特点:倾向于优先利用内存中低址部分的空闲分区,在高址部分的空闲分区很少被利用,从而保留了高址部分的大空闲区
-
循环首次适应算法
特点:由于是从上一次找到的空闲分区开始查找满足需求的内存分区,因此可以使内存中的空闲分区分布得更均匀,减少查找空闲分区的开销,但这会导致缺乏大的空闲分区
-
最佳适应算法
特点:每次都找能满足要求,又是最小的空闲分区分配给程序,会导致每次分配后所切割下的生育部分总是最小的,最易形成内存碎片
-
最差适应算法
特点:总是找满足程序长度要求的最大空闲分区分配,使剩下的空闲区不至于太小而形成内存碎片。适合于中、小程序运行,不适合大程序运行。
2. 什么是覆盖?什么是交换?覆盖和交换的区别是什么?
-
覆盖指同一内存区可以被同一程序的不同程序段重复使用。
-
交换指系统根据需要把内存中暂时不运行的某个(或某些)进程部分或全部移到外存,以便腾出足够的内存空间,再把外存中某个(或某些)已具备运行条件的程序移动到内存区,创建进程运行。
区别:
结构不同、运行不同、程序段不同
3. 某存储区的用户空间共32个页面,每页1KB,内存16KB,假定某时刻系统为用户的第0、1、2、3 页分别分配的物理块号为5、10、4、7,将逻辑地址为05ACH和093CH变换为物理地址。
解:
页面是由页号+页内地址形成的,前面几位是页内地址,后面几位是页号。要想推出物理地址,就要先将逻辑地址转换为二进制,然后再得到页号应占有的位数和页内地址占有的位数,最后得到页内地址的二进制值和页号的二进制值,由页号的二进制值转换为十进制逻辑地址,最后再根据题目转换为物理块号地址然后再转换为二进制与业内地址进行拼接,最后将拼接后的二进制地址转换为十六进制就是答案了。
共有32个页面,25=32,所以页号占5位,而每页1KB,210 B= 1024B,因此业内地址占10位。
将05AC转换成二进制:0000101001011100,后十位作为业内地址,即:1001011100,0010为页号,为2,即对应物理块号为4,转换为二进制:0100,将其与后十位拼接,01001001011100,然后将其转为十六进制:125CH。
093CH同理,转换为二进制:0000100100111100,后十位:0100111100为业内地址,0010为页号2,对应物理块号为4,转换为二进制0100,并与后十位拼接:01000100111100,再转换为十六进制:113CH
虚拟存储器
1. 什么叫虚拟存储器
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
2. 在一个分页虚拟存储管理方式中,采用LRU页面置换算法时,加入一个程序的页面走向为1、3、2、1、1、3、5、1、3、2、1、5,当分配给该程序的物理块数M分别是3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
对于M=3的情况,由页面走向和采用LRU算法可以得到下表:
页面走向 | 132 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|
内存中页面的位置 | 2 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 |
3 | 3 | 3 | 1 | 3 | 3 | 1 | 3 | 3 | 1 | |
1 | 2 | 2 | 2 | 1 | 5 | 5 | 1 | 2 | 3 | |
缺页次数 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
每个新加入的页面都要放在头部,而如果已经存在内存了,根据LRU,就要将其置于第一个位置,跟原本第一个位置进行交换
如果不存在内存中,就淘汰最后一个位置的页面,然后将原本内存中的页面往下移动一次,然后将头部给置换进来的页面
缺页次数计算:(内存中不存在的页面,需要插入内存就要+1)
由此可以得到缺页次数为:3+1+1+1 = 6;缺页率为: P = 6/12 = 1/2;
对于M=4的情况,类似上面M=3的情况,可得表格:
页面走向 | 132 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|
内存中页面的位置 | 2 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 |
3 | 3 | 3 | 1 | 3 | 3 | 1 | 1 | 2 | 2 | |
1 | 2 | 2 | 2 | 1 | 5 | 5 | 5 | 5 | 1 | |
2 | 2 | 2 | 3 | 3 | 3 | |||||
缺页次数 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
因此,缺页次数为3+1=4,缺页率为:4/12=1/3;
3. 说明分页虚拟存储管理方式中缺页中断的处理过程。
- 保护CPU线程环境
- 分析中断原因
- 转入缺页中断处理程序进行处理
- 恢复CPU环境
4. 缺页中断和一般中断有哪些不同
- 缺页中断在指令执行期间产生中断和处理中断信号,而通常是在指令执行完后去检查是否中断。
- 一条指令在执行期间,可能产生多次缺页中断。
用户接口
1. 操作系统提供了哪些便于用户使用的计算机接口?
- 命令接口:脱机命令接口,交互式命令接口
- 程序接口
- 图形接口
2. 什么是系统调用?系统调用与一般过程调用的区别是什么?
系统调用是操作系统提供给变成人员的唯一接口。
区别:
- 系统调用通过软中断进入,而一般的过程调用可直接由调用过程专项被调用过程
- 运行在不同的处理机状态,一般的过程调用,调用程序和被调用程序都运行在相同的处理机状态,而系统调用的调用程序运行在目态,被调用程序运行在管态
- 处理机状态的转换,一般的过程调用不涉及系统状态的转换,而系统调用需要由目态转换为管态,再经操作系统核心分析之后,专项相应的系统调用处理与程序。
- 返回问题,一般的过程调用将返回到调用过程继续执行,而系统调用会对所有要求运行的进程进行优先级分析,让最高优先级的进程优先执行。
- 嵌套调用,系统调用和一般过程调用一样支持嵌套调用。
文件管理
1. 什么是文件的逻辑结构?P200常用的逻辑结构有哪几种?有何特点?P201
-
用户按自己对信息的使用要求组织文件,由于这种文件是独立于物理环境而构造的,所以,把用户概念中的文件称为文件的逻辑结构,或称逻辑文件。这是从用户观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构。
-
文件的逻辑结构一般可分为2大类:一是有结构文件,它是由一个以上的记录构成的文件,故又称为记录式文件,二是无结构文件,它是指由字符流构成的文件,故又称为流式文件。
2. 文件操作有哪几个?它们的功能是什么?
- 建立文件,功能:将一批信息作为文件保存再文件存储介质上
- 打开文件,功能:要想使用某个文件,必须先调用打开文件系统调用命令来打开文件
- 读/写文件,功能:把文件信息从外存读入内存或从内存协会外存
- 关闭文件,功能:用户若不用某个文件时,可以使用关闭文件的系统调用命令
- 删除文件,功能:当用户确定不必保存某个文件时,可以选择删除文件
3. 文件的保护和保密措施有哪些?
目前实现安全措施的办法有,制定用户的访问权限、口令、密码等。
-
隐蔽文件和目录
按照这种方法,系统和用户将要保护的文件目录隐蔽起来,在显示文件目录信息时由于不知道文件名而无法使用。
-
口令
口令有两种方式,一是文件口令,一是用户口令。对前者,系统要求文件的建立者为他需要保密的文件设置一个口令,这样任何用户在使用文件时,都应该核对口令,只有口令相符才能使用,否则拒绝用户访问,对后者,当用户利用计算机终端使用计算机时,首先核对用户的口令,只有口令一致,才能使用计算机,在多用户操作系统中,基本上都会为每一个用户设置各自的目录和口令,这样只有拥有口令的用户才能进入相应的目录。
-
使用密码
对于高度机密的文件,可采用加密码的措施。文件加密码是把文件中所有字符代码,按某种变换规则重新编码。文件的输入读出都经过编码程序和解码程序处理。
-
制定访问权限
(1)存取控制矩阵
(2)存取控制表和用户权限表
4.一个磁盘组有199个柱面,每个柱面上有16个磁道,每个盘面被划分成8个扇区。现有一个含有12800个逻辑记录的文件,逻辑记录的大小与扇区大小一致,该文件以顺序结构的形式被存放到磁盘上。柱面、磁道、扇区的编号均从“0”开始,逻辑记录的编号也从“0”开始。文件信息从0柱面、0磁道、0扇区开始存放。试问:
(1)第65柱面的第9磁道的第3扇区存放了该文件的第几个逻辑记录?
(2)该文件的第7832个逻辑记录应存放在哪个柱面的第几磁道的第几号扇区?
解:(1)由于逻辑记录的大小与扇区大小一致,所以第65柱面的第9磁道的第3扇区存放了该文件的第3+8×(9+65×16)=8395号逻辑记录。
(2)每个柱面上有8×16=128个磁盘块,M=[7832/128]=61;N=8925%128=24;故第7832个逻辑记录应存放在第61柱面的第[24/8]=3磁道的第24%8=0扇区。
###5.假设磁盘共有150个柱面,编号为0~149。刚刚处理访问了78号柱面的请求,当前存取臀正在80号柱面上服务。现有若干请求者要访问的柱面号分别为:50、92、120、30、60、100、130。按下列三种算法调度时,实际服务的次序是什么?存取臀移动总量为多少?(1)先来先服务;(2)最短查找时间优先;(3)电梯调度算法。
解:(1)先来先服务算法:
次序是80→50→92→120→30→60→100→130。
存取臀移动总量为:290。
(2)最短查找时间优先:
次序是80→92→100→120→130→60→50→30。
存取臀移动总量为:150。
(3)电梯调度算法:
次序是80→92→100→120→130→60→50→30。
存取臀移动总量为:150。