操作系统简答及大题文档格式.docx
《操作系统简答及大题文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统简答及大题文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
为什么要引入动态重定位?
6、命令接口和图形用户接口分别有什么优缺点?
分页和分段有许多相似之处,但是在概念上两者完全不通,主要表现在:
①页是信息的物理单位,分页是为了系统管理内存的方便而进行的,故对用户而言,分页是不可见的,是透明的;
段是信息的逻辑单位,分段是作业逻辑上的要求,对用户而言,分段是可见的。
②页的大小是固定的,由系统决定;
段的大小是不固定的,由用户作业本身决定。
③从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的。
2、答案:
比较如下:
1程的调度与切换速度;
对于内核级线程,OS负责以线程为单位的调度,对于用户级线程,OS的调度单位是进程,同一个进程内部的线程切换是自己完成的。
2统调用;
内核级线程的系统调用时只会引起该线程的阻塞,用户级线程的系统调用将引起整个进程的阻塞。
⑶线程执行时间;
内核级线程执行时间以线程为单位,用户级线程执行时间以进程为单位,内部线程共享。
3、答案:
互斥,请求和保持,不剥夺,环路等待。
4、答案:
三种存储结构的特点如下表:
源程序经过编译产生的目标模块一般总是从0开始编址的,其中的地址都是相对于起始地址的相对地址。
在将目标模块经过链接装入内存时,其分配到的内存空间的起始地址通常不为0,因此指令和数据的实际物理地址与装入模块中的相对地址是不同的。
此时,为了使程序能够正确执行,必须将相对地址转换成物理地址,即进行重定位。
进程在运行过程中经常要在内存中移动位置,引入动态重定位的目的就是为了满足程序的这种需要,动态重定位的实现需要一定的硬件支持,重定位的过程是由硬件地址变换机构在程序执行每条指令时自动完成的。
命令接口的优点:
功能强,速度快,灵活性好,屏幕开销小;
缺点:
显示不直观,难学,难记。
图形用户接口的优点:
显示直观,操作简便,易学;
实现的代码规模大,对内外存容量、CPU速度和显示器的要求较高。
1、何谓死锁?
为什么将所有资源按类型赋予不同的序号,并规定所有进程按资源序号递增的顺序申请资源后,系统便不会产生死锁?
2、简述分页和分段的区别。
3、简述分时系统的特征?
4、一个比较完善的文件系统应该具备哪些功能?
5、微内核结构具有哪些优点?
6、请说明中断驱动I/O方式和DMA方式有什么不同?
死锁是指多个进程在运行过程中因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法再向前推进。
原因是死锁的必要条件环路等待条件不可能成立。
因为多个进程之间只可能存在占据较低序号资源的进程等待占据较高序号资源的进程释放资源的情况,但不可能存在反向的等待,因此不能形成循环等待链。
多路性;
允许一台主机连接多台终端,系统按分时原则为每个用户服务,每个用户以时间片为单位轮流运行。
独立性;
每个用户各占一个终端,彼此独立操作互不干扰。
及时性;
用户的请求能在很短的时间内得到响应,用户可以接受。
交互性;
用户可通过终端与系统进行人机对话。
文件存储空间的管理;
目录管理;
文件的读写管理;
文件的安全性管理;
提供用户接口。
微内核结构的优点如下:
1)提高了系统的灵活性和可扩充性。
在微内核结构中,OS的大部分功能都是相对独立的服务器来实现的,用户可以根据需要选配器中的部分或全部服务器,还可以随着计算机硬件和OS技术的发展,相应的更新若干服务器或增加一些新的服务器。
2)提高了OS的可靠性。
由于所有的服务器都是运行在用户态,它们不能直接访问硬件,因此,当某个服务器出现错误时,通常只会影响到它自己,但不会引起内核和其他服务器的损坏和崩溃。
3)适用于分布式系统。
对用户进程而言,如果它通过消息传递与服务器通信,那么他只须发送一个请求,然后等待服务器发来的响应,而无须知道这条消息是在本地机就处理还是通过网络送给远地机上的服务器。
不同之处主要有:
1)中断频率。
在中断方式中,每当输入数据缓冲寄存器中装满输入数据或将输出数据缓冲寄存器中的数据输出之后,设备控制器便发生一次中断。
由于设备控制器中配置的数据缓冲寄存器通常较小,因此中断比较频繁;
而DMA方式下,在DMA控制器的控制下,一次能完成一批连续数据的传输,并在整批数据传送完后才发生一次中断,因此可大大减少CPU处理I/O中断的时间。
2)数据的传送方式。
在中断方式下,由CPU直接将输入数据写入控制器的数据缓冲寄存器供设备输出,或在中断发生后直接从数据缓冲寄存器中取出输入数据供进程处理,即数据传送必须经过CPU;
而在DMA方式中,数据的传输在DMA控制器的控制下直接在内存和I/O设备间进行,CPU只需将数据传输的磁盘地址、内存地址和字节数传给DMA控制器即可。
1.设备分配与那些因素有关?
(4分)
2.某系统中磁盘的每个盘块大小为1KB,外存分配方法采用中的混合索引结构,
其中索引节点中直接地址6项,一级索引地址2项,二级索引地址1项,每个盘块号占用4个字节,请问该系统中允许的文件最大长度是多少?
(6分)
3.为了能够查找到文件的位置,在采用连续文件、链接文件和索引文件时,在目录中需要登记那些内容?
4.某采用分页存储管理的系统中,物理地址占20位,逻辑地址中页号占6位,页大小为1KB,问:
该系统的内存空间大小为多少?
每块的大小为多少?
逻辑地址共几位,每个作业最大长度为多少?
若0页放在3块中,1页放在7块中,2页放在9块中,逻辑地址0420H对应的物理地址是多少?
(5分)
5.试述缺页中断与一般中断的主要区别。
6.进程的基本状态包括哪几种?
并画出其状态转换图。
7.在一个批处理单道系统中,采用响应比高者优先的作业调度算法。
当一个作业进入系统后就可以开始调度,假定作业都是仅计算,忽略调度花费的时间。
现有三个作业,进入系统的时间和需要计算的时间如表所示:
作业
进入系统时间
需要计算时间
开始时间
完成时间
周转时间
1
9:
00
60分钟
⑴
⑵
2
10
45分钟
⑶
⑷
⑸
3
15
25分钟
⑹
⑺
⑻
求出每个作业的开始时间、完成时间及周转时间并填入表中。
1.答案:
设备分配策略与下列因素有关:
(1)I/O设备的固有属性,对于独占设备,共享设备、虚拟设备等具有不同属性的设备,通常采用相应的分配算法。
(2)设备分配算法,常见的有先来先服务算法、优先级高者优先算法
(3)设备分配的安全性,即避免死锁的产生。
(4)设备独立性,设备独立性指应用程序独立于具体使用的物理设备。
评分标准:
共4个要点,每个要点1分
66054KB解题步骤及其评分标准:
直接地址可用的磁盘空间为1KB×
6=6KB(1分);
1级索引项可用的磁盘空间为1KB×
256×
2=512KB(2分);
2级索引项可用的磁盘空间为1KB×
256=64MB(2分);
求和:
6KB+512KB+64MB=66054KB
连续文件:
第一个磁盘块的块号和文件长度;
链接文件:
第一个磁盘块的块号;
索引文件:
索引盘块号。
内存空间大小为1MB;
每块的大小为1KB;
每个作业最大长度为64KB;
逻辑地址0420H对应的物理地址是1C20H.
解题步骤及其评分标准:
逻辑地址0420H对应的页号为1,主存块号为7,页内地址20H,得到物理地址1C20H。
缺页中断与一般中断的主要区别:
①在指令执行期间产生和处理中断信号。
②一条指令在执行期间,可能产生多次缺页中断。
共2个要点,每个要点2分
进程的三种基本状态:
就绪状态执行状态阻塞状态
基本状态2分,进城转换图4分
7、答案:
⑴10:
00⑵60分钟⑶10:
25⑷11:
10⑸120分钟⑹10:
00⑺10:
25⑻70分钟
1.简述具有通道的系统中独占设备的一般分配过程。
(3分)
2.比较电梯调度算法和最短寻找时间优先调度算法。
3.为了实现虚拟页式存储管理,页表应该包含哪些内容?
4.简述一种LRU页面置换算法的实现方案。
6.列举引起进程创建的事件。
简述进程创建的过程。
7.若系统有某类资源m×
n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。
当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?
并证明之。
(7分)
可按下述步骤进行设备分配:
①分配设备。
②分配控制器。
③分配通道。
①“电梯调度”与“最短寻找时间优先”都是要尽量减少移动臂移动时所花的时间;
②不同的是“最短寻找时间优先”不考虑臂的移动方向,总是选择离当前读写磁头最近的那个柱面的访问者,这种选择可能导致移动臂来回改变移动方向;
“电梯调度”是沿着臂的移动方向去选择离当前读写磁头最近的那个柱面的访问者,仅当沿臂移动方向无等待访问者时才改变臂的移动方向;
③由于移动臂改变方向是机械动作,速度相对较谩。
相比之下,电梯调度算法是一种简单、实用且高效的调度算法。
但是,在实现时除了要记住读写磁头的当前位置外,还必须记住移动臂的移动方向。
在分页虚拟存储管理时使用的页表,最少包括以下内容:
物理块号、状态位、修改位、外存地址。
方案多个,下面仅是其一:
为了实现LRU,必须在主存维护一张作业所有页的链表,表中各项按访问时间先后排序,最近访问的页排在表头,最久末用的页排在表尾,这就是所谓的栈式算法。
每当要置换一页时,必须对链表中的各项进行修改。
若被访问的页在主存,则将其移到表头,调整相应项。
若不在主存,则将新调的页放表头,其它项依次后移,将表尾一项挤掉。
引起进程创建的典型事件有①分时系统中的用户登录、②批处理系统中的作业调度、③系统提供服务、④应用进程本身的应用请求等。
创建进程:
①申请空白PCB。
②为新进程分配资源。
③初始化进程控制块。
④将新进程插入就绪队列。
假设系统中有x个进程的进程,则资源至少要有m×
x+1个,由于系统资源有m×
n+1个,则可列出不等式:
m×
x+1≤m×
n+1解不等式,得到x≤n,所以系统允许同时执行的最大进程数为n。
证明:
假设在系统允许同时执行的最大进程数为n时,仍然出现了死锁,此时应该存在一组进程进程都在等待资源,而且系统已无资源可用。
则此时该组进程最多n个,每个进程没有执行完时最多占用m个资源,所以现在系统分配出去的资源最多m×
n,少于系统资源m×
n+1,所以不可能有死所出现。
因此,系统允许同时执行的最大进程数为n时系统不会有死锁发生
1、有一个具有两道作业的批处理系统,有如下表所示的作业序列(表中所列作业优先级即为进程优先级,数值越小优先级越高)。
分别列出下面两种情况下所有作业进入内存时刻及结束时刻,并计算其平均周转时间。
作业名
到达时刻
估计运行时间(分)
优先级
A
10:
40
5
B
20
30
C
50
4
D
6
假设采用短作业优先的调度算法,进程调度采用优先级为基础的剥夺式算法。
(6分)10:
00A到达,无竞争,A开始运行
20B到达,进入内存,B的优先级高于A,A停止,B运行(1分)
30C到达,不能进入内存(1分)
40D到达,不能进入内存
50B运行结束,C和D竞争进入内存,D进入,A运行(1分)
11:
10A运行结束,C进入内存,C运行(1分)
12:
00C运行结束,D运行
20全部结束
T=(70+30+90+100)/4=分钟(2分)
2、在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少?
由题意可知,本页式系统的逻辑地址结构为:
页号P
页内位移W
1512110
逻辑地址2F6AH的二进制表示:
0010
页号为2,在第11块中,故物理地址为BF6AH。
(2分)
3、有一个仓库,可以存放A和B两种产品,但要求:
1)每次只能存入一种产品(A或B);
2)-N<A产品数量—B产品数量<M。
其中,N和M是正整数。
试用同步算法描述产品A与产品B的入库过程。
(13分)
答案:
intmutex=1;
intsa=M-1;
intsb=N-1;
main()
{while
(1)
{取一个产品;
if(取的是A产品)
{wait(sa);
wait(mutex);
将产品入库;
signal(mutex);
signal(sb);
}
else
{wait(sb);
signal(sa);
4、在一个系统中,不采用死锁避免和预防措施,但当死锁发生后需要能够检测出来,请设计一个可行的死锁检测方案
死锁检测的数据结构类似银行家算法(略):
1)可利用资源向量available:
表示m类资源中每一类资源的可用数目;
2)把不占用资源的进程向量allocation=0记入表L中,即Li∪L;
3)从进程集合中找到一个requesti≤work的进程,做如下处理:
将其资源分配图简化,释放出资源,增加工作向量work=work+allocation;
将他记入L表中;
4)若不能把所有的进程都记入L表中,则表明系统状态S的资源分配图是不可完全简化的,因此该系统状态将发生死锁。
5、设有AB、C三个进程,它们共享十个资源,每个进程最大需求量分别为4,7,8,它们对资源请求的序列如下表:
(8分)
序号
进程
申请资源数
……
⑴请画出执行完序号4时的资源分配矩阵;
⑵为使系统不发生死锁,执行完序号6时,3个进程各处于什么状态,获得多少同类资源?
⑶按照上题时的状态,系统会发生死锁吗?
为什么?
(242)(2分)
A运行,B、C阻塞4、4、2(3分)
不会,A已得到全部资源,运行结束后释放资源可以使B、C正常结束(2分)
6、在实现文件系统时,为了加快文件目录的检索速度,可利用“FCB分解法”。
假设目录文件存放在磁盘上,每个盘块512B。
FCB占64B,其中文件名占8B,通常将FCB分解为符号目录项和基本目录项两部分,其中符号目录项大小为10B:
⑴基本目录项大小为多少字节?
⑵假设某一目录文件共有254个FCB,试分别给出采用分解法之前和之后,对该目录文件分别的平均访问磁盘次数:
⑶一般地,若目录文件分解前占用N个盘块,分解后符号目录文件占用M个盘块,请给出访问磁盘次数减少的条件:
(3分
64-8=56B(2分)
分解之前:
平均访问次数为(64×
254/512+1)/2=165
分解之后:
平均访问次数为(10×
254/512+1)/2=3(2分)
条件为:
分解前平均读盘次数-分解后平均访问符号目录文件的读盘次数>
1,
即N/2-M/2>
1,故M<
N-2。
7、若在一分页存储管理系统中,某作业的页表如下表所示。
已知页面大小为1024字节,试将逻辑地址1011、2148、3000、4000转化为相应的物理地址。
页号
块号
设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则:
P=int(A/L)W=AmodL
⑴1011有:
P=int(1011/1024)=0W=1011mod1024=1011
第0页在第2块,故物理地址:
3059
⑵2148有:
P=int(2148/1024)=2W=2148mod1024=100
第2页在第1块,故物理地址:
1124
⑶3000有:
P=int(3000/1024)=2W=3000mod1024=952
1976
⑷4000有:
P=int(4000/1024)=3W=4000mod1024=928
第3页在第6块,故物理地址:
7072
8、现有四个进程R1、R2、W1、W2,它们共享可以存放一个数的缓冲器B。
进程R1每次把来自键盘的一个数存入缓冲器B中,供进程W1打印输出;
进程R2每次从磁盘上读一个数存放到缓冲器B中,供进程W2打印输出。
为防止数据的丢失和重复打印,问怎样用信号量操作来协调这四个进程的并发执行。
1、目的:
考查学生对同步问题的掌握;
满分值:
13分;
四个进程可如下描述:
Semaphoresb=1,sx=0,sy=0;
ItemB;
VoidR1()
{
while
(1)
接收来自键盘的数;
x=接收的数;
wait(sb);
B:
=x;
Signal(sx);
Voidw1()
wait(sx);
k:
=B;
打印k中数;
VoidR2()
从磁盘上读一个数;
y:
=读入的数;
=y;
Signal(sy);
VoidW2()
wait(sy);
j:
打印j中数;
cobegin(
R1();
W1();
R2();
W2();
9、试设计在虚拟存储环境下实现简单的clock页面置换的可行方案。
(12分)
使用Clock算法时,只须为每页设置一个访问位。
在将内存中的所有页面都通过链接指针链成一个循环队列(4分)。
当某页被访问时,其访问位置1。
置换算法在选择一页淘汰时,只须检查其访问位,如果是0,就选择该页换出;
若为1,则重新将它复0、暂不换出而给该页第二次驻留内存的机会(4分)。
再按照FIFO算法检查下一个页面。
当检查到队列中的最后—个页面时,若其访问值仍为1、则再返回到队首再去检查第一个页面(4分)
10、某系统采用空闲区链结构对内存的空闲区进行说明,用UPT表结构说明内存的占用情况。
UPT表和空闲链结构分别如下所示:
#definetrue1
#definefalse0
typedefstruct/*已分分区表结构*/
intaddress;
/*分区起始地址*/
intsize;
/*分区长度*/
intflag;
/*表目状态,1表示有用登记项,0表示空表目*/
…..
}UTABLE[m];
Typedefstruct/*空闲分区链表结构*/
FREGION*forward;
/*上一个分区起始地址*/
FREGION*back;
/*下一个分区起始地址*/
…..…..
}FREGION;
FREGION*free;
/*空闲分区链表头指针*/
UTABLEUPT;
/*已分分区表*/
函数过程:
11、司机与售票员问题:
设信号量so,sc,so=1表示门关着,sc=1表示车停,初始状态so=sc=0;
voidProcess_司机voidProcess_售票员
{while
(1){while
(1)
{wait(so);
{关门;
开车;
signal(so);
行车;
卖票;
停车;
wait(sc);
signal(sc);
}开门;
}}
{cobegin
{P