资源描述
第一章
一.思考题
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?P11
操作系统:管理系统资源,控制程序执行,改善人机界面,提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件。
主要作用:①服务用户观点——操作系统作为用户接口和公共服务程序。②进程交互观点——操作系统作为进程执行的控制者和协调者。③系统实现观点——操作系统作为扩展机或虚拟机。④资源管理观点——操作系统作为资源的管理者和控制者
15.什么是多道程序设计?多道程序设计技术有什么特点?P17
多道程序设计:多道程序设计是指允许多个作业(程序)同时进入计算机系统的内存并启动交替计算的方法。
特点:从宏观上看是并行的,多道程序都处于运行过程中,但尚未运行结束;从微观上看是串行的,各道程序轮流占用CPU交替地执行。
19.在分时系统中,什么是响应时间?它与什么因素有关?P22
响应时间:从用户发出请求或指令到系统做出反应的时间。
有关因素:①CPU的处理速度②联机终端的数目③所用是时间片的长短④系统调度开销⑤对换信息量的多少
23.现代操作系统具有哪些基本功能?请简单叙述之。P12
①处理器管理:对处理器的管理和调度最终归结为对进程和线程的管理和调度,包括进程控制和管理,线程控制和管理,确定处理器调度策略,设计处理器调度算法,做好处理器分配和回收。
②存储管理:存储管理的主要任务是管理内存资源,为多道程序运行提供有力支撑,提高存储空间利用率,具体来说有内存分配与回收,地址转换与存储保护,内存共享与存储扩充等。
③设备管理:设备管理的除妖任务是管理各种外部设备,完成用户提出的I/O请求;加快数据传输速度,发挥设备的并行性,提高设备的利用率;提供设备驱动程序和中断处理请求。
④文件管理:文件库案例的主要任务有提供文件逻辑组织方法,提供文件物理组织方法,提供文件存取和使用方法,实现文件目录管理,实现文件共享和安全性控制,实现文件存储空间管理等。
⑤联网与通信管理:操作系统至少应具有以下与网络有关的功能:①网络资源管理②数据通信管理③应用服务④网络管理
二.应用题
在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A先开始运行,程序B后开始运行。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:
(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?
(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
处理器
输入机
打印机
程序A
程序B
A计算
B计算
计算
计算
时间(ms)
0 50 100 150 180 200 250 300
打印
计算
打印
输入
计算
A打印
A打印
B输入
A计算
B计算
一
画出两道程序并发执行图如下:
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
(2)程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中有色部分)。
5.在单CPU和两台I/O设备(I1、I2)的多道程序设计环境下,同时投入3个作业Job1、Job2、Job3运行。这3个作业对CPU和输入/输出设备的使用顺序和时间如下:
Job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms)。
Job2:I1(20ms);CPU(20ms);12(40ms)。
Job3:CPU(30ms);I1(20ms);CPU(10ms);I1(10ms)。
很定CPU和I/O设备之间、两台I/O设备之间都能并行工作,Job1优先级最高,Job2次之,Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU。试求:
(1)3个作业从投入到完成分别需要的时间。
(2)CPU的利用率。
(3)I/O设备的利用率。
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
CPU
I1
I2
Job1
Job2
Job3
时间(ms)
CPU
CPU
0 10 20 30 40 50 60 70 80 90
I1
I1
CPU
CPU
I2
I2
CPU
I1
CPU
Job1
Job2
Job3
Job2
Job1
Job2
Job3
Job1
Job2
Job1
Job3
(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。
(2)CPU空闲时间段为:60ms至70ms,80ms至90ms。所以CPU利用率为(90-20)/90=77.78%。
(3)设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。设备I2空闲时间段为:30ms至50ms,故I2的利用率为(90-20)/90=77.78%。
第二章
一. 思考题
18. 什么是进程?计算机操作系统中为什么要引入进程?P71.72
进程时具有独立功能的程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。
为什么引入进程:①刻画程序的并发性②解决资源的共享性
20. 进程最基本的状态有哪些?那些事件可能引起不同状态间的转换?P74
26. 何谓进程控制块(PCB)?它包含哪些基本信息?P75
PCB:它是进程存在的唯一标示,是操作系统用来记录和刻画进程 状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
基本信息:①标识信息:标识信息用于唯一地标识一个进程,分为用户使用的外部标识符合系统使用的内部标识号。②现场信息:现场信息用于保存进程在运行时存放在处理器现场中的各种信息。③控制信息:控制信息用于管理和调度进程。
38.试从调度,并发性,拥有资源和系统开销等4个方面对传统进程和多线程进程进行比较。
调度性:在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,
在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
并发性:在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;、
拥有资源:无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源;
系统开销:由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。
48. 处理器调度分为哪几种类型?简述各类调度的主要任务。P94
1. 高级调度2.中级调度3.低级调度 详细 书94页
二. 应用题
5. 若在后备作业队列中等待运行的同时有三个作业1、2、3,已知它们各自的运行时间为a、b、c,且满足关系a<b<c,试证明采用短作业优先调度算法能获得最小平均周转时间
采用短作业优先算法调度时,三个作业的总周转时间为:
T1=a+(a+b)+(a+b+c)=3a+2b+c ①
若不按短作业优先算法调度,不失一般性,设调度次序为:J2、J1、J3。则三个作业的总周转时间为:
T2=b+(b+a)+(b+a+c)=3b+2a+c ②
令②-①式得到:
T2-T1=b-a>0
可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
12.有5个批处理作业A到E均已到达计算中心,其运行时间分别为10,6,2,4和8分钟;各自的优先级分别规定为3,5,2,1和4,这里5为最高级.若不考虑系统切换开销,计算出平均作业周转时间.(1)按FCFS(按A,B,C,D,E);(2)优先级调度算法,(3)时间片轮转法.
(1) FCFS调度算法
执行次序 执行时间 等待时间 周转时间 带权周转时间
A 10 0 10 1
B 6 10 16 2.66
C 2 16 18 9
D 4 18 22 5.5
E 8 22 30 3.75
作业平均周转时间 T=(10+16+18+22+30)/5=19.2
作业平均带权周转时间 W=(1+2.66+9+5.5+3.75)/5=4.38
(2)优先级调度算法
执行次序 执行时间 等待时间 周转时间 带权周转时间
B 6 0 6 1
E 8 6 14 1.75
A 10 14 24 2.4
C 2 24 26 13
D 4 26 30 7.5
作业平均周转时间 T=(6+14+24+26+30)/5=20
作业平均带权周转时间 W=(1+1.75+2.4+13+7.5)/5=5.13
(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)
按次序A B C D E A B D E A B E A E A轮转执行。
作业 执行时间 等待时间 周转时间 带权周转时间
A 10 20 30 3
B 6 16 22 3.66
C 2 4 6 3
D 4 12 16 4
E 8 20 28 3.5
作业平均周转时间 T=(30+22+6+16+28)/5=20.4
作业平均带权周转时间 W=(3+3.66+3+4+3.5)/5=3.43
16. 若有4个作业进入系统,其提交时刻和估计运行时间为
作业
提交时刻
估计运行时间/min
1
8:00
120
2
8:50
50
3
9:00
10
4
9:50
20
分别计算在FCFS,SJF和HRRF算法下的品均周转时间和平均带权周转时间。
答:
FCFS SJF HRRF
作业 开始 完成 周转 开始 完成 周转 开始 完成 周转
时间 时间 时间 时间 时间 时间 时间 时间 时间
1 8.00 10:00 2.00 8:00 10.00 120 8:00 10.00 120
2 10.00 10:50 2.00 10:30 11.20 150 10:10 11.00 130
3 10.50 11:00 2.00 10:00 10:10 70 10:00 10:10 70
4 11.00 11:20 1.5 10:10 10:30 40 11:00 11.20 90
平均周 T=112.5分 T=95分 T=102.5分
转时间=
带权平均 W=4.975 W=3.25 W=3.775
周转时间=
20.有一个4道作业的操作系统,若在一段时间内先后到达6个作业,其提交时刻和估计运行时间为
作业
提交时刻
估计运行时间/min
1
8:00
60
2
8:20
35
3
8:25
20
4
8:30
25
5
8:35
5
6
8:40
10
系统采用剩余SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被剩余时间更短的作业所抢占。
(1) 分别给出6个作业的执行时间序列,即开始执行时间,作业完成时间,作业周转时间。
(2) 计算平均作业周转时间。
执行次序
提交时间
执行时间
开始时间
完成时间
周转时间
J1
J5
J6
J3
J4
J2
8:00
8:35
8:40
8:25
8:30
8:20
60
5
10
20
25
35
8:00
9:00
9:05
9:15
9:35
10:00
9:00
9:05
9:15
9:35
10:00
10:35
60
30
35
70
90
135
作业平均周转时间:T=(60+30+35+70+90+135)/6=70
注意,J1被调度运行后,直到它执行结束,才会引出作业调度程序工作。所以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。当J1撤离后,作业调度程序工作,按SJF算法,显然有执行次序:J5、J6、J3、J4、和J2。
25. 有一个具有两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法。在下表所示的作业序列中,作业优先数即为进程优先数,优先数越小则优先级越高。
作业名
到达时刻
估计运行时间/min
优先数
A
10:00
40
5
B
10:20
30
3
C
10:30
50
4
D
10:50
20
6
(1) 列出所有作业进入内存的时刻及结束时刻。
(2) 计算作业的平均周转时间。
每个作业运行将经过两个阶段:作业调度(SJF算法)和进程调度(优先数抢占式)。另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。
进程就绪队列
作业后备队列
时间(分钟) 10:00 10:20 10:30 10:50 11:10 12:00 12:20
A B A C D
A D D
C
CPU
(1) 10:00,作业A到达并投入运行。
(2) 10:20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队列等待。
(3) 10:30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。
(4) 10:50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入内存进入就绪队列。而由于作业A的优先级高于作业D,故作业A投入运行。
(5) 11:10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,故作业C投入运行。
(6) 12:00,作业C运行结束,作业D投入运行。
(7) 12:20,作业D运行结束。
作业 进入内存时间 运行结束时间
A 10:00 11:10
B 10:20 10;50
C 11:10 12:00
D 10:50 12:20
各作业周转时间为:作业A 70,作业B 30,作业C 90,作业D 90。平均作业周转时间为70分钟。
28. 某多道程序系统采用可变分区存储管理,供用户使用的内存空间为200KB,磁带机5台。采用今天方式分配外部设备,且不能移动内存中的作业,进程调度采用FCFS算法,忽略用户作业I/O操作时间。现有作业序列如下:
作业号
进入输入井时刻
运行时间/min
内存需求量/kb
磁带机需求/台
A
8:30
40
30
3
B
8:50
25
120
1
C
9:00
35
100
2
D
9:05
20
20
3
E
9:10
10
60
1
现求:(1)FCFS算法选中作业执行的次序及作业平均周转时间;(2)SJF算法选中作业执行的次序及作业平均周转时间。
(1) FIFO算法选中作业执行的次序为:A、B、D、C和E。作业平均周转时间为63分钟。
(2) SJF算法选中作业执行的次序为:A、B、D、E和C。作业平均周转时间为58分钟。
第三章
一. 思考题
3. 解释并发性与并行性。
计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。
并行性是指硬件的并行性,两个或多个事件在同一时刻发生。
并发性是指进程的并发性,两个或多个事件在同一时间段内发生。
9. 什么是临界区和临界资源?临界区管理的基本原则是什么?
临界区:每个进程中访问临界资源的那段程序叫做临界区。进程对临界区的访问必须互斥,每次只允许一个进程进去临界区,其他进程等待。
临界资源:指每次只允许一个进程访问的资源,分硬件临界资源、软件临界资源。
临界区管理的基本原则是: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
24. 什么是死锁?什么是饥饿?试举日常生活中的例子加以说明。
死锁:所谓死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。如:假如双方都拥有部分资源(P1拥有A,P2拥有B,且A,B均只有一个),但这时P1还需要B,P2还需要A,于是P1与P2都会处在无限等待状态,发生了死锁。
饥饿:操作系统在一个分配资源时,当多个进程同时申请某类资源时,由分配策略确定资源分配给进程的次序。当资源分配策略是不公平的(unfair)的情况下,即不能保证等待时间上界的存在,即使系统没有发生死锁,某些进程也可能会长时间等待。当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿(starvation)。如:考虑一台打印机分配的例子,当有多个进程需要打印文件时,系统按照短文件优先的策略排序,该策略具有平均等待时间短的优点,似乎非常合理,但当短文件打印任务源源不断时,长文件的打印任务将被无限期地推迟,导致饥饿
25. 试述产生死锁的必要条件。
① 互斥条件:一个资源每次只能被一个进程使用。
② 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
③ 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
④ 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
32. 一台计算机有8台磁带机,被N个进程金正使用,每个进程可能需要三台磁带机。请问N值为多少时系统没有死锁的危险?请说明原因。
当N取不大于3的正整数时,系统没有死锁的危险。因为当N=1或2时,最多需要6台磁带机,系统不会发生死锁。当N=3时,最坏情况是3个进程都需要3个磁带机,且每个进程都已拥有2个磁带机,但此时系统还有2台未分配的磁带,能满足其中两个进程的资源请求,使进程顺利推进后再释放资源,此时另外1个进程因为得到被释放的磁带机而能够获得足够的磁带机,也可以顺利执行,不会发生死锁。
二. 应用题
5. 有一个阅览室,读者进入时必须现在一张登记表上登记,此表为每个座位列出一个表目,包括座位号,姓名,读者离开时要注销登记信息;加入阅览室共有100个座位。试用(1)信号量和PC操作和(2)管程,来实现用户进程的同步算法。
使用信号量和P、V操作:
var name: array[1..100] of A;
A=record
number:integer;
name:string;
end
for i:=1 to 100 do {A[i].number:=i; A[i].name:=null;}
mutex,seatcount:semaphore;
i:integer;mutex:=1;seatcount:=100;
cobegin
{
process readeri(var readername:string)(i=1,2,…)
{
P(seatcount);
P(mutex);
for i:=1 to 100 do i++
if A[i].name=null then A[i].name:=readername;
reader get the seat number =i; /*A[i].number
V(mutex)
进入阅览室,座位号i,座下读书;
P(mutex);
A[i] name:=null;
V(mutex);
V(seatcount);
离开阅览室;
}
}
coend.
6.在一个盒子里,混装了数量相等的围棋白子和黑子,现在要用自动分拣系统把白子和黑子分开。该系统设有两个进程P1和P2,其中P1拣白子,P2拣黑子。规定每个进程每次只拣一子,当一进程正在拣子时,不允许另一个进程去拣,当一进程拣了一子时,必须让另一进程去拣,试写出两个并发进程能正确执行的算法。
实质上是两个进程的同步问题,设信号量S1和S2分别表示可拣白子和黑子,不失一般性,若令先拣白子。
var S1,S2:semaphore;
S1:=1;S2:=0;
cobegin
{
process P1
begin
repeat
P(S1);
拣白子
V(S2);
until false;
end
process P2
begin
repeat
P(S2);
拣黑子
V(S1);
until false;
end
}
coend.
16. 一个经典同步问题:吸烟者问题(patal,1971)。三个吸烟者在一间房间内,还有一个香烟供应者。为了制造并抽掉香烟,每个吸烟者需要三样东西:烟草、纸和火柴。供应者有丰富的货物提供。三个吸烟者中,第一个有自己的烟草,第二个有自己的纸,第三个有自己的火柴。供应者将两样东西放在桌子上,允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者,供应者再放两样东西(随机地)在桌面上,然后唤醒另一个吸烟者。试采用信号量和P、V操作编写他们同步工作的程序。
var S,S1,S2,S3;semaphore;
S:=1;S1:=S2:=S3:=0;
flag1,flag2,flag3:Boolean;
flag1:=flag2:=flag3:=true;
cobegin
{
process 供应者
begin
repeat
P(S);
取两样香烟原料放桌上,由flagi标记; /*flage1、flage2、flage3代表烟草、纸、火柴
if flag2&flag3 then V(S1); /*供纸和火柴
else if flag1&flag3 then V(S2); /*供烟草和火柴
else V(S3); /*供烟草和纸
untile false;
end
process 吸烟者1
begin
repeat
P(S1);
取原料;
做香烟;
V(S);
吸香烟;
untile false;
process 吸烟者2
begin
repeat
P(S2);
取原料;
做香烟;
V(S);
吸香烟;
untile false;
process 吸烟者3
begin
repeat
P(S3);
取原料;
做香烟;
V(S);
吸香烟;
untile false;
}
Coend.
23. 设当前的系统状态如下,此时Available=(1,1,2)
进程
Claim
Allocation
R1 R2 R3
R1 R2 R3
P1
3 2 2
1 0 0
P2
6 1 3
5 1 1
P3
3 1 4
2 1 1
P4
4 2 2
0 0 2
(1)计算各个进程还需要的资源数Cki-Aki?
(2)系统是否处于安全状态?为什么?
(3)进程P2发出请求向量request2=(1,0,1),系统能把资源分配给它吗?
(4)若在进程P2申请资源后,P1发出请求向量request1=(1,0,1),系统能把资源分配给它吗?
(5)若在进程P1申请资源后,P3发出请求向量request3=(0,0,1),系统能把资源分配给它吗?
(1) P1,P2,P3,P4的Cki-Aki分别为:(2,2,2)、(1,0,2)、(1,0,3)、(4,2,0)
(2)系统处于安全状态,存在安全序:P2,P1,P3,P4
(3)可以分配,存在安全序列:P2,P1,P3,P4。
(4)不可以分配,因为资源不足
(5)不能,应为这样做会让系统处于不安全状态
36.假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源:
→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。
.
P1
P2
.
P1
P2
当两个进程都执行完第一步(都占用R1) 时,系统进入不安全状态。这时无论哪个进程执行完第二步,死锁都会发生。可能到达的死锁点:进程P1占有一个R1和一个R2,而进程P2占有一个R1。或者相反。这时己形成死锁。进程---资源图为:
第四章
一. 思考题
试述存储管理的基本功能
①存储分配②地址映射③存储保护④存储共享⑤存储扩充
4. 何谓地址转换(重定位)?哪些方法可以实现地址转换?
逻辑地址转换为物理地址的过程称为地址转换(重定位)。
方法:① 静态地址重定位; ② 动态地址重定位;③ 运行时链接地址重定位。
5. 分区存储管理中常采用哪种分配策略?比较其优缺点。
①固定分区存储管理:其基本思想是将内存划分成若干固定大小的分区,每个分区中最多只能装入一个作业。当作业申请内存时,系统按一定的算法为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,造成存储空间浪费。
②可变分区存储管理:可变分区存储管理不是预先将内存划分分区,而是在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。这种处理方式使内存分配有较大的灵活性,也提高了内存利用率。但是随着对内存不断地分配、释放操作会引起存储碎片的产生。
9. 什么是虚拟存储器?列举采用虚拟存储技术的必要性和可能性。
在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理内存容量大得多的,可寻址的“内储存器”。
必要性:可用较小的内存空间执行较大的程序,能容纳更多的并发执行程序。
可能性:基于程序的局部性原理。
10. 试述请求分页虚存管理的实现原理。
请求分页虚拟存储管理是将进程信息的副本存放在辅助存储器中,当它被调度投入运行时,
并不把程序和数据全部装入主存,仅装入当前使用的页面,进程执行过程中访问到不在主存的页面时,再把所需信息动态地装入。
11. 试述请求分段虚存管理的实验原理。
请求分段虚存管理是将进程信息副本存放在外存中,当它被调度投入运行时,程序和数据没有全部装入内存,仅装入当前使用段,进程执行过程中访问到不在内存的段时候,再有系统自动调入。
18. 试述实现虚拟存储器的基本原理。
虚拟存储器是指在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理内存容量大得多的、可寻址的“内存储器”。是一种具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储器的实现方式有两种:请求分页系统和请求分段系统。请求分页系统允许只装入少数页面的程序(及数据),便启动运行,以后,再通过调页功能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运行的页面换出到外存上;请求分段系统允许只装入少数段(而非所有的段)的用户程序和数据,即可启动运行。以后再通过调段功能和段的置换功能将暂不运行的段调出,同时调入即将运行的段。
二. 应用题
3. 一个页式存储管理系统使用FIFO,OPT和LRU页面替换算法,如果一个作业的页面走向为:
(1)2,3,2,1,5,2,4,5,3,2,5,2;
(2)4,3,2,1,4,3,5,4,3,2,1,5;
(3)1,2,3,4,1,2,5,1,2,3,4,5。
当分配给作业的物理块数分别为3和4时,试计算访问过程中所发生的的缺页异常次数和缺页中断率。
(1) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为7次,7/12=58%。使用OPT为6次,6/12=50%。
作业的物理块数为4块,使用FIFO为6次,6/12=50%。使用LRU为6次,6/12=50%。使用OPT为5次,5/12=42%。
(2)作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为10次,10/12=83%。使用OPT为7次,7/12=58%。
作业的物理块数为4块,使用FIFO为10次,10/12=83%。使用LRU为8次,8/12=66%。使用OPT为6次,6/12=50%。
6. 一个32 位地址的计算机系统使用二级页表,虚地址被分为9 位顶级页表,11位二级页表和页内位移。试问:页面长度是多少?虚地址空间共有多少个页面?
由于32-9-11=12,所以,页面大小为4KB,页面的个数为220 个。
13. 内存中有两个空闲区如下图所示,现有作业序列依次为:job1要求30KB,job2要求70KB,job3要求50KB;使用首次适应,最坏适应和最佳适应算法处理这个作业序列,试问哪种算法可以满足分配要求?为什么?
100KB
...
50KB
...
0KB
15KB
125KB
答:首次适应、最坏适应算法处理这个作业序列可以满足分配,最佳适应算法不行。因为后者会分割出无法使用的碎片,浪费内存,从而,不能满足所有作业的内存需求。
15. 在一个分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有逻辑地址2F6AH,且第0,1,2页依次存放在第10,12,14号物理块中,试问相应的物理地址是多少?
因为逻辑地址长度为16位,而页面大小为4096字节,所以,前面的4位表示页号。把2F6AH转换成二进制为:0010 1111 0110 1010,可知页号为2。故放在14号物理块中,写成十六进制为:EF6AH。
20.在一个请求分页存储管理系统中,用户编程空间32个页,页长1KB,主存为16KB,如果用户程序有10页长,若已知虚页0、1、2、3页已分得页框4、7、8、10,试将虚地址0AC5H和1AC5H转换成对应的物理地址
虚地址0AC5H对应的物理地址为:12C5H。而执行虚地址1AC5H会发现页表中尚未有分配的页框而发生缺页中断,由系统另行分配页框。
29.考虑下列段表:
段号
起始地址
段长
0
200
500
1
890
30
2
120
100
3
1250
600
4
1800
88
1)680 2)915 3)904 4)越界 5)1750 6) 越界。
30.请页式虚存管理系统中,进程访问地址序列
展开阅读全文