计算机操作系统复习.docx
《计算机操作系统复习.docx》由会员分享,可在线阅读,更多相关《计算机操作系统复习.docx(16页珍藏版)》请在冰豆网上搜索。
计算机操作系统复习
计算机操作系统复习
第一章
1.操作系统的定义?
答:
操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。
2.接口的三种类型分别是?
答:
命令方式、系统调用方式、图形、窗口方式。
其中图形、窗口方式是当前使用最方便、最广泛的接口。
3.实时系统(书本11-12页)
4.并发性和并行性(书本14-15页)
5.共享性的定义?
答:
是指系统中的资源可供内存中多个并发执行的进程共同使用。
第二章
1.进程的组成?
答:
①程序②数据集合③ 程序控制块。
程序控制块是进程存在的唯一标志。
2.进程与程序的区别?
答:
①进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。
但进程离开了程序也就失去了存在的意义。
②一个进程可以执行一个或几个程序z反之,同一程序可能由几个进程同时执行。
③程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。
进程具有生命期。
④进程具有并发性,能与其它进程并发运行。
而程序不具备这种特征。
⑤进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。
因此,进程具有独立性,但有时进程间又具有相互制约性。
3.进程的状态?
答:
就绪(Ready)状态执行(Running)状态 阻塞(Blocked)状态
4.程序控制块PCB的作用?
5.进程创建的过程?
(4)将新进程插入就绪队列
6.临界资源的定义?
答:
临界资源是指每次仅允许一个进程访问的资源。
7.P、V原语及信号量(计算题)
8.进程的通信机制?
答:
低级通信机制高级通信机制
9.高级通信机制的类型?
答:
共享储存器系统,消息传递系统,管道通信系统
第三章
1.进程调度的方式?
答:
①高级调度:
又称作业调度或者长程调度②低级调度:
又称进程调度或者短程调度
2.调度的算法(先来先服务,最短优先)计算题
3.产生死锁的原因?
答:
①资源竞争②进程间推进顺序非法
4.预防死锁的方法?
(课本106-107页有后三个)
答:
①破坏互斥条件:
让资源允许共享,如SPOOLing技术就可以允许若干个进程同时产生打印数据,但是类似于SPOOLing的技术并不适用于所有的资源,如进程表等,所以破坏资源的互斥性是比较困难的,该方法并不是很好
②破坏不可剥夺条件:
有两种方法,一种是当其申请的资源得不到满足时,也必须放弃其原先占有的资源;另一种方法是只适用于申请资源的进程优先级比占有该资源的进程优先级高时,如果一个进程申请的资源被其它进程占用,而申请进程的优先级较高,那么它可以强迫占有资源的进程放弃。
这种方法一般适用于处理机和存储资源。
③破坏零散请求条件:
一般采用静态分配策略,静态分配是指当一个进程在得到其所需要的所有资源之后才执行。
采取这种机制,那么进程在执行过程中就不再申请资源了,但这种方法的效率极低,资源无法得到充分的利用。
④破坏循环等待条件:
可以按照资源的特性,给资源从小到大编号,进程必须按照从小到大的顺序申请资源,且规定进程占有的资源号必须小于申请的资源号才能提出申请
5.银行家算法和安全性算法(计算题)
第四章
1.分区分配的算法?
答:
(1).首次适应算法(FF/firstfit)
(2).循环首次适应算法(nextfit)(3).最佳适应算法(bestfit)(4).最坏适应算法(worstfit)(5).快速适应算法/分类搜索法(quickfit)
2.回收内存算法?
答:
(1)
(2)
(3)
(4)
3.地址映射的定义?
答:
为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址
4.分页和分段区别?
答:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。
分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,由逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一个地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
5.虚拟存储器的特征?
答:
多次性对换性虚拟性
6.缺页中断的定义?
答:
缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问
7.LRU置换算法?
8.分段保护三种措施是?
答:
越界检查存取控制检查环保护机构
9.抖动的定义?
答:
抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为"抖动"。
第五章
1.I/O通道的定义?
答:
一条大型机通道(channel)某种程度上类似于PCI总线(bus),它能将一个或多个控制器连接起来,而这些控制器又控制着一个或更多的设备(磁盘驱动器、终端、LAN端口,等等。
)大型机通道和PCI总线之间的一个主要区别是大型机通道通过几对大的busandtag电缆(并行通道方式),或者通过最近常使用的ESCON(EnterpriseSystemConnection)光导纤维电缆(串行通道方式)以及光纤通道来连接控制器。
这些通道在早期是一些外置的盒子(每个约6’X30’’X5’H大小),现在都已经整合到了系统框架内。
2.有哪几种I/O控制方式?
有四种I/O控制方式:
程序I/O控制方式、中断驱动I/O控制方式、直接存储器访问DMA控制方式及I/O通道控制方式。
3.引入缓冲的目的?
答:
缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率,放宽对CPU中断响应时间的限制提高CPU和I/O设备之间的并行性
4.设备驱动程序的功能?
答:
设备驱动程序的主要功能包括:
(1)将接收到的抽象要求转为具体要求;
(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式;
(3)发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作;
(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理;
(5)对于设置有通道的计算机系统,驱动程序还应该能够根据用户的I/O请求,自动地构成通道程序。
5.设备控制表?
(186-187页)
6.设备分配时应考虑的因素?
答:
设备的固定属性、设备分配算法、设备分配时的安全性、设备独立性
(1)设备的固有属性有3种:
独占性:
设备在一段时间内只允许一个进程独占,eg:
临界资源
共享性:
设备允许多个进程同时共享
可虚拟设备:
设备本身随时独占设备,但经过某种技术处理,可以把它改造成虚拟设备
(2)设备分配算法:
先来先服务、优先级高者优先
(3)设备分配中的安全性:
安全分配方式、不安全分配方式
7.SPOOLing系统(课本189-190页)
8.磁盘算法(前3个)
答:
先来先服务(FCFS)最短寻道时间优先(SSTF)扫描算法(SCAN)
第六章
1.文件的定义?
答:
文件是指由创建者所所定义的、具有文件名的一组相关元素的集合。
可分为有结构文件和无结构文件两种
2.文件按用途分为哪三类?
答:
系统文件用户文件库文件
3.顺序文件和链接分配的描述(109—110、115-116页)
4.目录和树形目录的组成(226—230页)
5.位示图的定义?
答:
位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况。
6.磁盘的容错技术(237-240页)
答:
第一级系统容错技术包括双份目录、双份文件分配表及写后读校验等容错措施,第二级容错技术包括磁盘镜像和磁盘双工两种容错措施
7.位示图的盘块的分配(232页)
答:
⑴顺序扫描位示图,从中找到第一个值为0的二进制位,得到行号i,列号j。
⑵将找到的二进制位转换成对应盘块号。
盘块号为:
b=n(i-1)+j,n代表每行的位数。
⑶修改位示图,令map[3,3]=1,并将该盘块分配出去。
8.外存的分配方式?
答:
连续分配链接分配索引分配
9.系统可录性中的磁盘定向?
第七章
1终端的类型和概念?
答:
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
(1).串行端口终端(/dev/ttySn)
(2)伪终端(/dev/pty/)(3)控制终端(/dev/tty)
.(4)控制台终端(/dev/ttyn,/dev/console)
第九章
1.系统安全性的内容?
答:
数据机密性数据完整性系统可用性
2.数据签名必须满足的3个条件?
答:
(1)接收者能够核实发送者对报文的签名
(2)发送者事后不能抵赖其对报文的签名
(3)接收者无法伪造对报文的签名
3.生物认证技术的定义?
答:
利用人所具有的难于伪造的生理标志来进行认证,这种方法称为生物认证
4.生理标志应该具有的三个条件?
答:
(1)足够的可变性,系统可根据它来区别成千上万的不同用户
(2)被选用的生理标志赢保持稳定,不会经常发生变化
(3)不易被伪装
1.1.桌上有一空盘,允许存放一只水果。
爸爸向盘中放苹果,妈妈向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、妈妈、儿子、女儿四个并发进程的同步。
1.找出进程的数量及其关系(同步互斥)
2.设置信号量(含义和初值)
3.描述每一个进程
IntSp=1
IntSapple=0
IntSorange=0
voidprocess母亲()
{
P(Sp)SP=-1
放桔子在盘子
V(Sorange)
}
voidprocess父亲()
{
P(Sp)SP=0
放苹果在盘子
V(Sapple)Sapple=1
}
Voidprocess女儿()
{
P(Sapple)
从盘子拿苹果
V(Sp)
吃苹果
}
Voidprocessson()
{
P(Sorange)
从盘子拿桔子
V(Sp)
吃桔子
}
2.有三个进程A1,A2,A3,它们共享两个缓冲区B1和B2,缓冲区B1中可存放n件产品,缓冲区B2中可存放m件产品,进程A1每次生产一件产品,并把产品放入缓冲区B1中,进程A2每次从缓冲区B1中取出一件产品,再把该产品送到缓冲区B2中,进程A3每次从缓冲区B2中取出一件产品进行消费。
为了防止把产品存入已满的缓冲区,或从空缓冲区中取产品,或重复取同一产品,用PV操作实现它们之间的相互制约。
应该设置S1,S2,S3,S4四个信号量,S1,S2表示缓冲区B1中的可存产品和可供消费的产品。
S3,S4表示缓冲区B2中的可存产品和可供消费的产品数目。
设置B1B2的互斥信号量MUTEX1=1,MUTEX2=1
同时为了正确的存产品和取产品,可用两队指针R1,T1和R2,T2指出当前存放的位置。
程序如下:
A1,B1,A2A2,B2,A3
3.设在公共汽车上,司机和售票员的活动分别是:
司机:
启动车辆,正常行车,到站停车。
售票员:
上乘客,关车门,售票,开车门,下乘客。
用PV操作对其控制。
现在我们表述:
司机进程设置一个私有信号量run,用于判断司机能否进行工作,初值为0。
售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0。
beginstop,run:
semaphore
stop:
=0;run:
=0;
cobegin
conductor:
begin
L2:
上乘客;
关车门;
V(run);
售票;
P(stop);
开车门;
下乘客;
gotoL2;
end;
coend;
end;
driver:
begin
L1:
P(run);
启动车辆;
正常行车;
到站停车;
V(stop);
goto L1;
end;
4.睡眠理发师问题:
理发店里有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子。
如果没有顾客,理发师便在理发椅上睡觉;当一个顾客到来时,它必须叫醒理发师;如果理发师正在理发时又有顾客来到,那么,如果有空椅子可坐,顾客就坐下来等待,否则就离开理发店。
我们的解法使用三个信号量:
customers,用来记录等候理发的顾客数(不包括正在理发的顾客);barbers,记录正在等候顾客的理发师数,为0或1;mutex,用于互斥。
我们还需要一个变量waiting,它也用于记录等候的顾客数,实际上是customers的一份拷贝。
之所以使用waiting是因为无法读取信号量的当前值。
在该解法中,进入理发店的顾客必须先看等候的顾客数,如果少于椅子数,他留下来等,否则他就离开。
#defineCHAIRS5
typedefintsemaphone;/*运用你的想象力*/
semaphorecustomers=0;/*等待服务的顾客数*/
semaphorebarbers=0;/*等待顾客的理发师数*/
semaphoremutex=1;/*用于互斥*/
intwaiting=0;/*等待的顾客(还没理发的)*/
voidbarber()
{
while
(1)
{
P(customers);//如果没有顾客,则理发师打瞌睡,阻塞进程
P(mutex);//互斥进入临界区,欲修改waiting
waiting--;//等待理发人数减1
V(barbers);//理发师开始理发
V(mutex);//退出临界区,完成对waiting的修改
cut_hair();//理发(在临界区之外)
}
}
voidcustomer()
{
P(mutex);//互斥进入临界区,欲修改waiting
if(waiting﹤CHAIRS)//如果没有空的椅子就离开
{
waiting++;//等待理发的人数加1
V(customers);//等待理发的人数加1。
若有必要,唤醒理发师
V(mutex);//退出临界区,完成对waiting的修改
P(barbers);//理发师是否空闲,若忙则阻塞
get_haircut();
}else
V(mutex);//店里人满了,不等了
}
作业2
若1页大小为4KB,计算机地址总线为32位,则页号共有多少位?
逻辑地址空间最多包含多少页?
逻辑地址60000在第几页?
页内偏移是多少?
若该页被装进物理块1280中,则物理地址是多少?
4KB=4*1024=22*210=212
所以页内偏移即页内地址占12位
页号占32-12=20位
逻辑地址空间最大页数为220页
60000=(EA60)16=(1110101001100000)2
其中低12二进制位为页内偏移,即(A60)16=2656。
高4二进制位为页号,即(E)16=14。
物理块号1280=(500)16
物理地址=(500A60)16=5245536
2.假定当前磁头位于100号磁道,进程对磁道的请求序列依次为57,61,39,20,88,161,139,38,175。
当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?
(请给出寻道次序和每步移动磁道数)
先来先服务43+4+22+19+68+73+22+101+137=489(3分)
最短寻道时间优先12+27+4+18+1+18+119+22+14=235(5分)
3.设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量17,B资源的数量为5,C资源的数量为20。
在T0时刻系统状态如下表所示。
系统采用银行家算法来避免死锁。
请回答下列问题:
(1)T0时刻是否为安全状态?
若是,请给出安全序列。
(2)若进程P4请求资源(2,0,1),能否实现资源分配?
为什么?
(3)在
(2)的基础上,若进程P1请求资源(0,2,0),能否实现资源分配?
为什么?
T0时刻系统状态
进程
最大资源需求量
已分配资源量
系统剩余资源数量
A
B
C
A
B
C
A
B
C
P1
5
5
9
2
1
2
2
3
3
P2
5
3
6
4
0
2
P3
4
0
11
4
0
5
P4
4
2
5
2
0
4
P5
4
2
4
3
1
4
(1)T0时刻为安全状态。
其中的一个安全序列为(P4,P5,P3,P2,P1)
(其他可能的安全序列有:
(P4,P5,X,X,X),(P4,P2,X,X,X),(P4,P3,X,X,X),(P5,X,X,X,X))
(2)可以为P4分配资源,因为分配后的状态还是安全的,其安全序列的分析如下表:
WORK
NEED
ALLOCATION
新WORK
FINISH
2,3,3
分配给P4:
(2,0,1)
0,3,2
P4
0,3,2
0,2,0
4,0,5
4,3,7
True
P5
4,3,7
1,1,0
3,1,4
7,4,11
True
P1
7,4,11
3,4,7
2,1,2
9,5,13
True
P2
9,5,13
1,3,4
4,0,2
13,5,15
True
P3
13,5,15
0,0,6
4,0,5
17,5,20
True
(3)进程P1再请求资源(0,2,0),则不能为之分配资源。
因为分配资源后,不存在安全序列,其分析如下表:
WORK
NEED
ALLOCATION
新WORK
FINISH
0,3,2
分配给P1:
(0,2,0)
0,1,2
P4
0,2,0
此时,WORK不能满足任何一个进程的请求使之运行结束,即进入了不安全状态。
False
P5
1,1,0
False
P1
3,2,7
False
P2
1,3,4
False
P3
0,0,6
False