概述
第一章
1、什么是操作系统的基本功能?
操作系统的五大基本功能:进程管理,内存管理,文件管理,设备管理、用户接口
2、操作系统的定义:
操作系统是管理计算机软硬件的计算机程序
3、计算机的类型:
批处理、分时、实时、个人计算机、网络、分布式
4、什么是多道程序系统?
每次调用数个用户作业程序进入内存运行的操作系统,特点是多道、宏观的并行和微观的串行
5、什么是批处理、分时和实时操作系统?各有什么特点?
批处理操作系统是指将用户提前将需要完成的作业成批输入,脱机运行。特点是:用户可以脱机使用计算机;成批处理;多道程序运行;缺点是:交互性差
分时操作系统是指当一台计算机同时服务与多个终端用户时,采用时间片轮转的形式对每个用户都能保证足够快的响应时间,提供对话能力。特点是:交互性、多用户同时性、用户间的独立性。
实时操作系统相比较分时操作系统更强调与用户的交互速度,实时操作系统更强调即时性和高可靠性,缺点是资源利用率较低,通常具有一定的专用性,大多用于嵌入式计算。
第二章
1什么是作业?作业步?
作业是指从输入开始到输出结束用户需要计算机完成的一系列行动的总和
作业步是指一次作业中的某次相对独立的操作。
2、作业由哪几部分组成?
三部分:程序、数据、作业说明书
程序和数据是用户所需要完成的业务处理工作
作业说明书是用户控制意图的体现,负责作业的资源调配和程序调用等
3作业的输入方式有哪几种?
联机输入:特点是外设直接与操作系统相连
脱机输入:在外设和操作系统间增加了一个控制输入输出的缓冲器,特点是大大提高了资源利用率,相对的灵活性更差,人工难以干预。
直接耦合方式:整个系统由高速主机,低速pc和之间的大型公用存储器组成,低速的输入输出由低档pc处理,而对于公用存储器的大量高速读写则有主机完成。
spooling系统:也称作联机在线直接输入输出。主要由主机系统,DMA器件和通道,外存的输入输出井,外围的输入输出设备。由外存负责将外围输入输出汇总入输入井,经过通道压入主机输入输出模块,并从中取出放入输出井分配给相应的输出设备。
网络联机输入输出。
4、操作系统提供哪些用户接口?
面向普通用户的命令接口和面向编程人员的系统调用
5、作业的控制方法有几种?
两种,脱机控制和联机控制
脱机控制需要用户按照作业控制语言编写相应的作业控制程序
联机控制不需要用户编写作业控制程序,但需要用户使用不同的命令控制作业的进行
第三章
1、什么是程序的顺序执行?什么是程序的并发执行
一个具有独立功能的程序独占处理知道最后结束的过程。特点是:独立性、封闭性、可再现性。
一组程序在宏观上并行执行,在微观上串行执行的过程,特点是:异步性,共享资源性、不可再现性。
2、什么是进程?
进程是一个具有独立功能的程序对于某一个数据集在处理机上的一次执行过程和分配资源的基本单位
3、什么是进程的上下文?
进程执行活动全过程的静态描述,进程的上下文由进程的用户空间地址内容、硬件寄存器内容及该进程相关的核心数据结构组成。
4、如果程序中有N个进程,那么运行的进程最多有几个,最少有几个?就绪进程最多几个最少几个;等待进程最多几个,最少几个?
1,0,N-1,0,N,0
5.、有没有这样的状态转换,为什么? 等待—运行; 就绪—等待
没有,因为等待态进程即使得到需要的资源,因为没有被唤醒所以依然需要等到;只有因某一事件暂停时,进程才能进入等待态
6、请写出PV原语的算法表达
P原语
P(S)
{
--s.count; //申请资源
if(scount<0){
调用进程进入等待队列squeue;
阻塞调用进程;
}
}
V原语
V(S)
{
s.count++; //释放资源
if(scount<=0){ //存在被阻塞进程
调用等待队列squeue的进程;
使进程进入就绪队列
}
}
7、以共享打印机为例利用PV原语表示两并发进程
设互斥信号量mutes=1表示打印机当前是否可用?
main{ int mutes=1; cobegin pa(); pb(); coend } | pa(){ p(mutes) 使用打印机 V(mutes) } | pb(){ p(mutes) 使用打印机 V(mutes) } |
8、生产者消费者问题?
设信号量avail=n,mutex=1,full=0;
deposit(data) degin 生产数据 P(avail) P(mutex) 将数据放入缓冲区; V(full) V(mutex) end | remove(data) degin P(full) P(mutex) 取出缓冲区数据; V(avail) V(mutex) 消费数据; end |
9、上述问题中,两个P操作是否可以调换顺序?
不可以,因为如果调换顺序则进程会先占据缓冲区排斥其他进程,此时如果该进程不能申请到缓冲区的内存或数据,就会出现死锁。
10、什么是死锁?死锁的原因是什么?
各进程彼此互相等待对方释放资源,且在得到对方释放的资源前不会先释放自己资源,导致大家都想得到资源但是都得不到资源,不能继续推进的状态就是死锁。
原因:起因是并发进程的资源竞争;根本原因是系统提供的资源是有限的,不能满足所有进程同时获得自己想要的资源。
11、产生死锁的必要条件是什么?
互斥条件,不剥夺条件,部分分配条件,环路条件。
12、解决死锁的一般方法有哪些?
预防、避免,检测与恢复。
13、什么是银行家算法?
银行家算法需要检测申请者对资源的最大需求量,若此时系统现存的各类资源能够满足申请者的需求则满足申请者的需求。
该算法借鉴了银行家对于项目投资管理经验,银行总是希望:(1)是更多的项目同时开工以获得最大回报(2)保证至少有一个项目能完成避免所有项目都在进行中却无钱周转(陷入死锁)
14、什么是线程?
线程是最小的进程,作为CPU调度和资源分配的最小单位,线程只拥有必不可少的资源:线程状态、寄存器上下文和栈。
第四章
1、衡量调度策略的常用指标有哪些?
周转时间;吞吐率;响应时间;设备利用率。
周转时间:作业提交时间-作业完成时间;
2、处理接调度分为哪四级?
从宏观到微观依次是:
作业调度(宏观调度或高级调度):对外存输入井上的作业进行选择、分配内存和资源
交换调度(中级调度):将外存中的进程调度至内存;
进程调度(微观调度):进程上下文切换等;
线程调度:以线程为单位进行调度,只切换线程状态寄存器上下文等内容;
3、什么是周转时间和加权周转时间?
周转时间 = 完成时间 - 到达时间
带权周转时间 = 周转时间 / 执行时间
平均周转时间 = 周转时间 / 进程数
平均带权周转时间 = 带权周转时间 / 进程数
4、调度算法有几种?主要思想是什么?
FCFS调度算法:先来先服务
转轮法:将处理器的处理时间划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片。
多级反馈轮转法:加入到就绪队列的不同原因的进程赋予不同的队列,每个 队列赋予不同的优先级,同一队伍内优先级相同
优先级法:每次将处理器分配给具有最高优先级的就绪进程。进程的优先级由进程优先数决定。
最短作业优先法SJF:按作业的预计执行长度决定,越短越早
最高响应比优先法:响应比=预计周转时间/预计执行时间。这是一种综合了FCFS算法和SJF算法的一种平衡,特点是等待的时间越长,预计执行时间越短,越有可能被执行。
5、什么是实时调度?
实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。分为软实时调度和硬实时调度,主要特点有:有限等待时间、有限响应时间、用户控制、高可靠性、纠错能力强
6、有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为2,4,6,8,10分钟,它们的优先级分别为1,2,3,4,5(1为最低优先级)。对下面的每种调度算法分别计算作业的平均周转时间。 (1) 最高优先级优先: (2) 时间片轮转(时间片为2分钟): (3) FIFO(作业到达顺序为C,D,B,E,A); (4) 短作业优先。
(1)10*5+8*4+6*3+4*2+2*1=110 110/5=22
(2)10*5+8*4+6*3+4*2+2*1=110 110/5=22
(3)6*5+8*4+4*3+10*2+2*1=96 96/5=19.2
(4)2*5+4*4+6*3+8*2+10*1=70 70/5=14
6. 假设有4道作业,它们的提交时刻及执行时间由下表给出。计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。
FCFS调度算法:作业完成顺序1234 完成时间:12.00,13.00,13.50,13.80
(2+2.8+3.1+3.3)/4=2.8 平均带权周转时间:2.8/((2+1+0.3+0.5)/4)=2.95
最短作业优先调度法:作业完成顺序1432 完成时间12.00,12.30,12.80,13.80
(2+1.8+2.4+3.6)/4=2.45 平均带权周转时间:2.45/(2+1+0.3+0.5)=2.58
第五章
1存储管理的主要功能是什么?
(1)构建虚拟存储器
(2)地址变换:虚拟地址与内存地址的映射关系
(3)内外存数据传输的控制
(4)内存的分配与回收
(5)内存信息的共享与保护
2、什么是虚拟存储器?
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和来决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。
3、什么是地址重定位?实现重定位方法有哪几种?
地址的重定位是建立虚拟地址与内存地址的映射关系。
两种:静态地址重定位和动态地址重定位
4、动态分区式管理的常用内存分配算法有哪几种?特点是什么?
最先适应法:将最先找到的大于等于所需内存长度的分区分配给进程。
最佳适应法:将所有满足条件的区块找到,并将最小的部分分配给进程。
最坏适应法:将所有满足条件的区块找到,并将最大的部分分配给进程。
最先适应算法的搜索速度和释放速度是最快的,提高了低地址空间的利用率。最佳适应算法找到的空间是最佳的,此算法在大多数情况下都能提高内存的利用率。
5、什么是页式管理?
将程序的的逻辑内存地址分成数个大小固定的页,同时将内存的物理地址分成数个与页大小相适应的页框,在读取程序时整页整页读取的技术。
6、什么是请求页式管理?其中常见的也是置换算法有哪些?
请求页式管理是动态页式管理的一种,在程序执行过程中,若发生缺页现象则会向CPU请求中断,置换调页完成后返回。
常用置换算法:随机淘汰算法、
轮转法和先进先出算法、
最近最久未使用页面置换算法LRU
理想型淘汰算法OPT:该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页。这样,淘汰掉该页将不会造成因需要访问该页又立即把它调入的现象。但是,这种算法无法实现,因为它要求必须预先知道每一个进程的访问串。
6、现有以下作业序列:96K、20k、200k。 若用最佳适应算法和首次适用算法处理作业序列,试 问哪一种算法可以满足该作业序列的要求,为什么?
最佳适应算法:分页分别为:5、1、4
最先适应算法:分页分别为:4、1、无满足要求的分页
所以最佳适应算法可以满足该作业序列的要求。
7、设有8页的逻辑空间,每页有4k字节,他们被映射到 32个页面的物理存储区中,那么,逻辑和物理地址的 有效位是多少?
逻辑地址:4K=2^12,8页=2^3,一共需要15位有效位
物理地址:4K=2^12, 32页=2^5,一共需要17为有效位
8 、请求页式管理系统页表如下,作业在地址空间所规 定的页长为1k,对于CPU的有效地址:37390、40462, 其对应的物理地址分别为多少?
37390=36K+526,在物理地址的84页526的位置84*1k+526=86542
40462=39k+526,在物理地址的96页526的位置上,96*1k+526=98830
9 某作业在执行过程中,按下列顺 序访问:1 2 3 4 5 6 7 4 2 1 3 6 7 4 作业分得四块;若采用先进先出 算法和最近最久没使用调度算法 是时,淘汰页号顺序分别是?
按先进先出的顺序分别是:
1 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 1 | 1 | 1 | 1 | 3 | |
2 | 2 | 2 | 2 | 6 | 6 | 6 | 6 | 6 | 3 | 3 | 3 | 6 | ||
3 | 3 | 3 | 3 | 7 | 7 | 7 | 7 | 7 | 6 | 6 | 7 | |||
4 | 4 | 4 | 4 | 4 | 2 | 2 | 2 | 2 | 7 | 4 | ||||
淘汰: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 1 |
按最近最久没使用调度算法:
1 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 2 | 2 | 2 | 2 | 7 | 7 | |
2 | 2 | 2 | 2 | 6 | 6 | 6 | 6 | 1 | 1 | 1 | 1 | 4 | ||
3 | 3 | 3 | 3 | 7 | 7 | 7 | 7 | 3 | 3 | 3 | 3 | |||
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 6 | 6 | 6 | ||||
淘汰: | 1 | 2 | 3 | 5 | 6 | 7 | 4 | 2 | 1 |
10、设有一页式存储管理系统,向用户提供的逻辑地址空间最 大为16页,每页2048字节,内存总共有8个存储块,试问逻辑 地址至少应为多少?内存空间多大?
逻辑地址位数:2048=2^11,16=2^4,11+4=15;
共需要15位
内存地址:2048*8=16K
11、在一页式系统中,其页表存放于内存中: (1) 若内存一次读写需1.5微妙,问实现一次页面访问的存取时间是多少? (2) 如系统中有快表,平均命中率为83%,当页表项在快表中其查找时间忽略为0,问此时的存取平均时间为多少?
未装有快表的分页系统实现一次访问需要读取两次:1.5ms*2=3ms
装有快表的分页系统,快表命中则只需要一次,未命中需要两次:1.5ms*0.83*1+1.5ms*0.17*2=1.755ms
12 在一个请求页式系统中,假定系统分配给3个物理块,并且此作业的页面走向为:2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2。使用FIFO和LRU两种算法分别计算出缺页次数。
2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 3 | 3 | 3 | 3 | |
3 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ||
1 | 1 | 1 | 4 | 4 | 4 | 4 | 5 | 5 | ||||
缺页次数 | 1 | 2 | 2 | 3 | 4 | 5 | 6 | 6 | 7 | 7 | 8 | 8 |
FIFO算法8次缺页
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | |
3 | 3 | 3 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | ||
1 | 1 | 1 | 4 | 4 | 4 | 2 | 2 | 2 | ||||
缺页次数 | 1 | 2 | 2 | 3 | 4 | 4 | 5 | 5 | 6 | 7 | 7 | 7 |
LRU算法共缺页7次
13 设有一页式存储管理系统,某作业的逻辑地址为4页(每页2048字节),且已知该作业的页面映像表(即页表)如下图所示:试画出地址变换图并求出逻辑地址4865所对应的物理地址。
图略
4865=4K+769,为2页769,对应物理地址6块769,6*2K+769=13057
第八章文件系统
1、文件系统所具备的功能有哪些?
(1)合理的存放文件
(2)实现按名存取
(3)便于存放和加工文件
(4)完成对存放在存储设备上的文件信息的查找
(5)完成文件的共享和提供保护功能
2、什么是文件系统?文件的逻辑结构是什么?
文件系统是操作系统中与管理文件有关的软件和数据的总和
文件的逻辑结构是指让用户可以看见的结构
3、文件的物理结构有哪几种?为什么说串联文件结构不适于随机存取?
文件的物理结构有:连续文件(在物理上是连续的)、串联文件/链接结构(物理上不连续,但各区块间利用指针相连)、索引结构(各个文件放在不连续的屋里快中,有一个专用的数据结构索引表)
串联文件的各个文件通过指针串联在一起,想要访问后一个文件必须先访问前一个文件,而随机存取恰恰不需要你访问前边的文件,二者在理念上存在冲突
4 什么是文件目录?什么是FCB?
文件目录是将所有文件控制块的有序集合
FCB是文件控制块,是操作系统为了管理文档而设置的数据结构,存储着文档管理的所有信息
5 文件存取控制方式有哪几种?试比较它们各自的优缺点。
一共有四种:口令、存取控制矩阵,存取控制表,密码术
存取控制矩阵方式以一个二维矩阵来进行存取控制。而且矩阵的一维是所有的用户。另一维是所有的文件。对应的矩阵元素则是用户对文件的存取控制权。存取控制矩阵的方法在概念上比较简单,但是当用户和文件较多时,存取控制矩阵将变得非常庞大,从而时间和空间的开销都很大。
存取控制表以文件为单位,把用户按某种关系划分为若干组,同时规定每组的存取限制。这样所有用户组对文件权限的集合就形成了该文件的存取控制表。存取控制表方法占用空间较小,搜索效率也较高,但要对用户分组,引入了额外的开销。
口令方式有两种。一种是当用户进入系统时,为建立终端进程时获得系统使用权的口令。另一种方式是,每个用户在创建文件时,为每个创建的文件设置一个口令,且将其置于文件说明中。当任一用户想使用该文件时,都必须首先提供口令。口令方式比较简单,占用的内存单元以及验证口令所费时间都非常少。不过,相对来说,口令方式保密性能比较差。
密码术方式在用户创建源文件并写入存储设备时对文件进行编码加密,在读出文件时对文件进行译码解密。加密方式具有保密性强的优点。但是,由于加密解密工作要耗费大量的处理时间,因此,加密技术是以牺牲系统开销为代价的。
第九章
1、数据传送控制方法有哪几种?
四种:程序直接控制方式、中断控制方式、DMA方式、通道方式。
2、什么是通道? 通道的种类?
通道是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。
通道的分类:字节多路通道,选择通道,成组多路通道。
3 什么叫中断? 什么叫中断处理? 什么叫中断响应?
中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时
中断处理是指CPU响应中断,转入中断处理程序,系统开始处理中断。
中断响应是指CPU收到中断请求后转向相应的事件处理程序。
4、什么是缓冲池?为什么要引入缓冲?
缓冲区是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。
引入缓冲是为了提高计算机的运算速度,提高COU等高速设备的利用率
5、什么是I/O控制?
从用户进程的输入输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,以及在I/O操作完成之后响应中断,进行善后处理为止的整个系统控制过程称为I/O控制
6、设备分配程序的工作原理
当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换
7、I/O进程的工作过程
I/O进程开始运行后,首先关闭中断,然后用receive去接收消息。
若没有消息,则开中断,将自己阻塞 若有消息,则判断消息(I/O请求或I/O中断)
判断结果若为请求消息则准备通道程序发出启动I/O指令
若判断结构为中断消息,则需要判断是否有异常,若为异常则转入相应的错误处理程序,反正则唤醒相应的I/O操作的进程。
最后
以上就是曾经毛巾为你收集整理的操作系统期末总复习的全部内容,希望文章能够帮你解决操作系统期末总复习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复