操作系统期末复习大题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设某计算机系统有一个CPU,一台输入设备,一台打印机。

现有两个进程同时进入就绪状态,且进程A先得到CPU运行,进程B后运行。

进程A的运行轨迹是:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。

进程B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。

试画出它们的时序关系图(甘特图),并说明:
1.开始运行后,CPU有无空闲等待?若有,在哪段时间内等待?计算CPU的利用率。

2.进程A运行时有无等待现象?若有,在什么时候发生等待现象?
3.进程B运行时有无等待现象?若有,在什么时候发生等待现象?
在一单道批处理系统中,一组作业的提交时间和运行时间如下表,利用先来先服
假设系统中有4个进程P1,P2和p3,P4.它们的运行时间依次是6,8,7和3(单位是ms). 如果进程以p1,p2,p3, P4的顺序在时刻0到达,并设置他们的优先级
分别为1,2,3,4,数字越大优先级越高,采用优先级调度算法,计算其平均等待时
.用pv原语解决司机与售票员的问题
分析:
为保证车辆行驶安全,售票员必须关好车门,然后通知司机启动车辆,在行驶过程中售票员不能打开车门,待车到站停稳后,司机通知售票员才能打开车门,如此不断重复。

为此,须设置两个信号量START,OPEN用来控制司机和售票员的行为,初值都为0。

司机进程:
while(1)
{
P(START)
启动车辆
正常驾驶
到站停车
V(OPEN)
}…
售票员进程:
while(1)
{
关门
V(START)
售票
P(OPEN)
开门
}…
16.用PV原语解决下图之同步问题.
提示:考虑对缓冲区S的同步
设置两个信号量Sempty=1,Sfull=0
get:
while(1)
{
P(Sempty);
将数放入S;
V (Sfull);
}
copy:
while(1)
{
P (Sfull);
将数从S取出;
V (Sempty);
}
此题类似于一个生产者一个消费者一个缓冲区的情况。

17.扩充一下:
设置四个信号量Sempty=1,Sfull=0,Tempty=1,Tfull=0;get:
while(1)
{
P(Sfull);
将数据取走;
V (Sempty);
V(Tempty)
}
copy:
while(1)
{
P (Tfull);
P (Sempty);
将数从S取出放入T;
V (Sfull);
}
put:
while(1)
{
P (Tempty);
放数据到T;
V(Tfull);
}
17.已知某分页系统,主存容量为64KB,页面大小为1KB,对于一个4页的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。

(1)将十进制的逻辑地址1023、2500、3500、4500转换成物理地址。

(2)以十进制的逻辑地址1023为例,画出地址变换过程图。

解:
(1)对上述逻辑地址,可先计算出它们的页号和页内偏移量(逻辑地址除以页面大小,得到的商为页号,余数为页内偏移量),然后通过页表转换成对应的物理地址。

对于逻辑地址1023:计算(int)1023/1KB,得到页号P1=0,页内偏移量W1=1023,查页表找到对应的物理块号为2,故物理地址E1=2×1KB+1023=3071。

对于逻辑地址2500:计算(int)2500/1KB,得到页号P2=2,页内偏移量W2=452,查页表找到对应的物理块号为6,故物理地址E2=6×1KB+452=6596。

对于逻辑地址3500:计算(int)3500/1KB,得到页号P3=3,页内偏移量W3=428,查页表找到对应的物理块号为7,故物理地址E3=7×1KB+428=7596。

对于逻辑地址4500:计算(int)4500/1KB,得到页号P4=4,页内偏移量W4=404,因页号不小于页表长度,故产生越界中断。

(2)逻辑地址1023的地址变换过程如图所示。

18. 某系统采用页式存储管理方法,主存储器容量为256MB,分成64K个块。

某用户作业有4页,其页号依次为0,1,2,3被分别放在主存块号为2,4,l,6的块中。

要求:
(1)写出该作业的页表;
(2)指出该作业总长度的字节(Byte)数;
(3)分别计算相对地址[0,100]和[2,0]对应的绝对地址(方括号内的第一元素为页号,第二元素为页内地址)。

解答:
19. 某页式存储管理系统,内存的大小为64KB,被分成16块,块号为0、1、2、 (15)
设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5块,问:(1)该进程的大小是多少字节?(2)写出该进程每一页在内存的起始地址。

(3)逻辑地址4146对应的物理地址是多少?
解答:
(1)内存的大小为64KB,被分成16块,所以块的大小是64KB/16=4KB。

因为块的大小与页面的大小相等,所以页的大小是4KB。

该进程的大小是4*4=16KB。

(2)因为进程页号为0、1、2、3,被分别装入内存的2、4、7、5。

第0页在内存的起始地址是:2*4KB=8KB;
第1页在内存的起始地址是:4*4KB=16KB;
第2页在内存的起始地址是:7*4KB=28KB;
第3页在内存的起始地址是:5*4KB=20KB。

(3)逻辑地址4146对应的物理地址:4146/4096=1,…,50。

逻辑地址4146对应的页号为1,页内位移为50。

查找页表,得知页号为1的存储块号为4,所以逻辑地址4146对应的物理地址是:4*4096+50=16434。

20. 某系统采用页式存储管理策略,某进程的逻辑地址空间为32页,页的大小为2KB,物理地址空间的大小是4MB。

(1)写出逻辑地址的格式。

(2)该进程的页表有多少项?每项至少占多少位?(3)如果物理地址空间减少一半,页表的结构有何变化?
解答:
(1)进程的逻辑地址空间为32页,故逻辑地址中的页号需要5位(二进制),由于每页的大小为2KB,因此页内位移须用11位(二进制)表示,这样逻辑地址格式如下图。

(2)因为进程的逻辑地址空间为32页,因此该进程的页表项有32项。

页表中应存储每页的块号。

因为物理地址空间的大小是4MB,4MB的物理地址空间内分成4MB/2KB=2K个块,因此块号部分需要11位(二进制),所以页表中每项占16位。

(3)如果物理地址空间减少一半,页表的页表项数不变,但每一项的长度从16位(二进制)减少到15位(二进制)。

21.
对一个将页表存放在内存中的分页系统,请回答:
(1)如果访问内存需要0.2μs,一个数据的有效访问时间是多少?
(2)如果加一个快表,且假定在快表中找到页表项的命中率为90%,则访问一个数据的有效访问时间又是多少(假定查快表需要花费的时间为0)
解:(1)在分页系统中,访问一个数据需要2次内存访问,所以有效访问时间为:2×0.2=0.4μs。

(2)在增加快表后,访问一个数据时先在快表中查找,若未找到再在页表中查找。

快表命中只需0.2μs,快表未命中需0.4μs,则有效访问时间为90%×0.2μs +10%×0.4μs=0.22μs。

22.
假设一个分页存储管理系统中具有快表,多数活动页表项都可以存在其中。

如果页表放在内存中,内存访问时间是1μs,若快表的命中率为85%,则有效访问时间是多少?若快表的命中率为50%,则有效访问时间是多少?
解:有效访问时间是指通过逻辑地址访问对应物理地址中的数据所花的时间。

有快表时,先查找快表(由于速度很快,所花时间忽略不计),若找到了对应的页表项,取出物理块号并拼成物理地址,再访问内存,只须访问内存1次;
若在快表中没有找到,再在页表中查找,需要访问内存2次。

若快表的命中率为85%,则有效访问时间=2×1μs+0-1μs×85%=1.15μs。

若快表的命中率为50%,则有效访问时间=2×1μs+0-1μs×50%=1.5μs。

由于快表的访问时间相对很短,若题目中没有给出快表访问时间,通常可以看成快表访问时间为0。

23.现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:
计算逻辑地址(2,15),(0,60),(3,18)的绝对地址是多少?
注:括号中第一个元素为段号,第二个元素为段内地址。

解:
段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。

逻辑地址(2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝对地址为480+15=495。

逻辑地址(0,60)查段表得段长度为40,段内地址60>40,地址越界,系统发出“地址越界”中断。

逻辑地址(3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=388。

相关文档
最新文档