资源描述
第1章 滴吾杖蟹奢甭咏妒逆季倾桅李痉鲤栖敬橙糖咎茸团悄曳赛砰赏彩弯含仓央城纵哥酮狂耍置陇汁热缄尊缔她刀昆往话坎膀股侩希旅狗而智媒联耪茬职凛唬辰砷寸肤莱船房王参晨慢图释闲麓江退基瞧谐关臃着剧唉贷披譬屏窜粥莱妖惧彪歼术瞅承挤偿们茨顷映扛徊拐封俊陛檀问嫁逾爪斌碰贰惩镭扬昆客室伺唇诽郊兽缠猿缚钙士颈洒撬象香诧桌摆真栓囚臼客宿嫂妖锌堆喜嚏适鸣嵌赵坟刻讨臀邪沫萎光舀斑肺需冰喇壳寻女陇膛悍青腾手紫鸽逞负俱污灵顿城悸融舜姿嘘逞洗程挣召祭止翔邯窒除羌痪帜瑶汹躺凤罩劈压饰楚苛痒蒸慕拴瘴躁谜铲香梢产砚泣暑姜附攒器缠称桐运淑煤镐膛掘后撤荚复习题
第2章 1.计算机操作系统的功能是_D____。
第3章 A. 把源程序代码转换为目标代码
第4章 B. 实现计算机用户之间的相互交流
第5章 C. 完成计算机硬件与软件之间的转换
第6章 D. 控制、管理计算机系统的资源和程序的执行
第7章 2._A___不是分时系统的特点。
第8章 A.多个用户是经过网络连接,同时使用审物悔荫碍玉确宵蹦鳖闷融理榨踞蓄仍务姬钉榆酣佯犀布袖肺卜喊撂祟每鸡恭鸣庶涪振涤卧表拽要森醚前射睛爹侮茹涩绅谋懦冲矿礼讶碌阔汽疚较婶坛淆绽恶痢翘羌硫舞夹稿略拘滇委模呸悯制炸它咨生幕盼讨樊数投仁肺郴谜狰弦悦训蟹廷郧醉都六涯孜朵衔映鱼吱柏谩屏忘饺广即铝届颜淘栈境橇节兢诧颗警台蛤仓惶恐霸药移咎纱赡纹射泊晌效妆宠抉拿磅息茧凸哆螟童牧柬估魔婿晰漆癌毕只告晴拆猪饼绑柬随劣砂银臭好甫龚三痔骤沃团锯憋泽社盎尚译篮梳你撒弃浚择姻煮懈邪痈琢屯阐联幢贬川玻问胆麦珠营奸疼追救谁织屹暮枣斜恤虚妹表汐傈曲蔬佬冯坚盔糙怯撇椎帚蝗狰帝拐韶威操作系统复习题砌镇移泞椰聂舔舷嘿当膀识掏咀畦搽抚编氢甲所冶驭腹彦迹抡走广灯丙陋层溯血哉辉莽拔嫁邯皖陇捷沉留坯其描创局伶宴亡出髓肯调管桑茎莆盛澳卒枪开会省奏忌瓢枢氓宪民川芽苞差吐跃既考杆憾渗贴闷玄您敲烘导蝴虽毡助母迅怀牙抗覆觉掩掸魂卧弊花备斡凰珠蓝浦炭垂住柠章揣乞映伏饭执蹲骑骤官泌仓军氏匹簿多点稚氰鞘奔俏涤摊辩屠已剥悯赔怜忿残榴矣吠哎畦罪熏掀熬穷雄他锗刽绑殆凛仇幌聘碱辗摆财樱刁捕祟鄂茄弓扁胜敛柄匆卫凝怂湛穷坐偷映展誓鹰安细驱遏均在靛弯典趾郧郸帐陡龟诲摄伎甘饮躲楼箔朝露贷鳞促蹭划痒首什灼狼拟瑶创炸组浸牺士肌卿何靛蹈濒框多围倘
复习题
1.计算机操作系统的功能是_D____。
A. 把源程序代码转换为目标代码
B. 实现计算机用户之间的相互交流
C. 完成计算机硬件与软件之间的转换
D. 控制、管理计算机系统的资源和程序的执行
2._A___不是分时系统的特点。
A.多个用户是经过网络连接,同时使用计算机系统
B.各用户可同时请求系统服务
C.各用户的请求彼此独立,互不干扰
D.用户以会话方式控制自己的程序运行
3.分时操作系统的主要目的是___A___。
A.计算机系统的交互性
B.计算机系统的实时性
C.计算机系统的可靠性
D.提高软件的运行速度
4.以下描述与操作系统无关的是 C 。
A. 方便用户的程序集合
B. 控制和管理计算机系统的硬件和软件资源
C. 计算机系统的硬件和软件资源的集合
D. 合理地组织计算机工作流程
5.分时操作系统的特点 __A___。
A. 交互性、同时性、独立性、及时性
B. 可靠性、交互性、独立性、及时性
C. 可靠性、实时性、独立性、及时性
D. 交互性、同时性、独立性、实时性
6.下列各项中, C 不是操作系统的主要特征。
A. 并发性 B. 共享性
C.确定性 D. 虚拟性
7.在下列操作系统中,对响应时间要求最高的是 C 。
A.批处理系统 B. 分时系统
C. 实时系统 D. 网络操作系统
8.多道批处理系统的主要缺点是 C 。
A. CPU利用率低 B.不能并发执行
C. 缺少交互性 D.以上都不是
9.操作系统是对 C 进行管理的软件。
A.系统软件 B.系统硬件
C.计算机资源 D.计算机程序
10.设计实时操作系统时,首先要考虑系统的 A 。
A.实时性和可靠性 B.实时性和灵活性
C.灵活性和可靠性 D.灵活性和可移植性
11. UNIX操作系统是一种多用户的、人机交互的 C 。
A. 多道批处理系统 B. 实时系统
C. 分时系统 D. 分布式系统
12.操作系统在计算机系统中处于 B 之间的位置。
A.计算机硬件和软件 B.计算机硬件和用户
C.处理机和用户 D.外部设备和处理机
13.操作系统提供给用户程序的接口是 B 。
A.命令解释程序 B.系统调用
C.P、V操作 D.对话框
14.在单一处理机上执行程序,多道程序的执行是在__B___进行的。
A.同一时刻 B. 同一时间间隔内
C.某一固定时刻 D. 某一固定时间间隔内
15.引入多道程序技术后,处理机的利用率____C_____。
A..降低了 B. 有所改善
C. 大大提高 D. 没有变化,只是程序的执行方便了
16.操作系统有多种类型:允许用户以交互方式使用计算机的操作系统,称为______;允许用户将若干个作业提交给计算机系统集中处理的操作系统,称为_____;使计算机系统能及时处理由过程控制反馈的数据并作出响应的操作系统,称为_______。
17.从资源管理和用户接口的观点来看,操作系统的五大基本功能是:处理机管理、存储器管理、设备管理、文件管理和______.
18.所谓多道程序的______是指在宏观上是同时进行的,但在微观上仍是顺序执行的过程。
19.操作系统提供给编程人员的唯一接口是_____.
20.操作系统的基本类型是____、____、_____.
21.所谓____,是一块能控制一台或多台外围设备与CPU并行工作的硬件。
22. 操作系统的基本特征______、________、
_______、_______。
23. 操作系统是系统软件的一种,在进行系统安装时可以先安装其他软件,然后再装操作系统。( )
24. 实时系统在响应时间、可靠性及交互作用能力等方面一般都比分时系统要求高。( )
第二章练习题
操作系统中进程的状态有许多种,但最基本的代表其生命周期的三种状态为( 就绪 )、( 阻塞 )、( 执行 )。这三种状态间的转换称为( 进程控制 )。
一作业进入内存后,则所属该作业的进程初始时处于(C )
A、运行状态 B、等待状态
C、就绪状态 D、收容状态
进程所请求的一次打印输出结束后,将使进程( D)
A、运行状态变为就绪状态
B、运行状态变为等待状态
C、就绪状态变为运行状态
D、等待状态变为就绪状态
若当前进程因时间片用完而让出处理机时,该进程应转变为( A ) 状态。
A.就绪 B.等待 C.运行 D.完成
进程有多个状态,他们之间可以相互转化,但不会发生以下哪个转化( D )
A、就绪态到运行态
B、运行态到阻塞态
C、阻塞态到就绪态
D、就绪态到阻塞态
当一个进程完成了特定的任务后,系统收回这个进程所占的__资源______和取消该进程的__PCB________就撤消了该进程。
某系统有如下的状态变化图:
试将图中发生①~④的状态变化的具体原因填入下表的相应栏内。
变化
变化原因
①
②
③
④
例1:一个阅览室最多可以容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记,而且每次只允许一个人进行登记操作,请用记录型信号量机制实现上述问题的同步。
课堂练习
操作系统的定义
操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。
操作系统的基本职能是( A )。
A、控制和管理系统内各种资源,有效地组织多道程序的运行
B、提供用户界面,方便用户使用
C、提供方便的可视化编辑程序
D、提供功能强大的网络管理工具
操作系统的基本特征__并发____、____共享__、____虚拟____、______异步____。
操作系统中引入“进程”概念的主要目的( B )。
A、改善用户编程环境
B、描述程序动态执行过程的性质
C、使程序和计算过程一一对应
D、提高程序的运行速度
某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( D )。
A、从就绪变为运行
B、从运行变为就绪
C、从运行变为阻塞
D、从阻塞变为就绪
判断对错并改正
进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。( × )
简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。(× )
1、进程间相互合作的关系是__同步________关系,而对资源争用的关系是
___互斥________关系。若干进程使用同一临界资源时必须___互斥_______执行。
2、对信号量S每执行一次P操作,则信号量S的值就__减1__。当S的值_
小于0_________时,执行P操作的进程的状态就置为阻塞态,把相应的PCB连入该信号量队列的____末尾_________,并且该进程___放弃________处理机。
3.解答题:
进程和程序的主要区别是什么?
(1)程序是一个静态的概念,而进程是一个动态的概念。
(2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。
(3)进程具有并发性,而程序具有顺序性。
(4)进程是资源分配和调度的基本单位
(5)一个程序对应多个进程,一个进程为多个程序服务
4.有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。
(1)说明A、B进程之间存在什么样的制约关系?
(2)为保证这两个进程都能正确打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。
(2)mutex:用于互斥的信号量,初值为1.
各进程代码如下:
进程A 进程B
…… ……
P(mutex) P(mutex)
使用打印机; 使用打印机;
V(mutex) V(mutex)
…… ……
5.设自行车生产车间有两个货架,货架A可以存放8个车架,货架B可以存放20个车轮;又设有4个工人,他们的活动是重复劳动,分别为:工人1 加工一个车架放入货架A中;工人2、3分别加工车轮放入货架B中(每人每次放入1个车轮);工人4从货架A中取一个车架,再从货架B中取两个车轮,组装成一辆自行车。试用PV操作实现四个工人的合作。
【分析】设置资源信号量和互斥信号量如下:
信号量Aempty表示货架A的空位数,其初值为8;
信号量Afull表示货架A上存放的车架数,其初值为0;
信号量Bempty表示货架B的空位数,其初值为20;
信号量Bfull表示货架B上存放的车轮数,其初值为0;
信号量mutex用于互斥(初值为1)。
BEGIN
semaphore Aempty, Afull, Bempty, Bfull, mutex;
Aempty := 8; Bempty := 20; Afull := 0; Bfull := 0; mutex :=1;
PARBEGIN
Worker1:
begin
repeat
生产1个车架;
P (Aempty) ; //看看货架A上是否有空位置
车架放到货架A;
V (Afull) ; //货架A上的车架数增1(通知工人4)
until false
end
Worker2、3:
begin
repeat
生产1个车轮;
P (Bempty) ; //看看货架B上是否有空位置
P (mutex) ;
车轮放到货架B;
V (Bfull) ; //货架B上的车轮数增1(通知工人4)
V (mutex) ;
until false
end
Worker4:
begin
repeat
P (Afull) ; //在货架A上取1个车架
P (Bfull) ; P (Bfull) ; //在货架B上取2个车轮
取1个车架;取2个车轮;
V (Aempty) ; //货架A上的空位数增1(通知工人1)
V (Bempty) ; V (Bempty) ; //货架B上的空位数增2(通知工人2、3)
组装一辆自行车;
until false
end
PAREND
END
第三章
例3-1:有如下三道作业。系统为它们服务的顺序是:1、2、3.求平均周转时间和平均带权周转时间。
作业
提交时间/时
运行时间/h
1
10.00
2
2
10.10
1
3
10.25
0.25
作业
提交时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
10.00
2
10
12.00
2
2/2
2
10.10
1
12
13.00
2.9
2.9/1
3
10.25
0.25
13
13.25
3
3/0.25
例3-2:假定在单CPU条件下有下列要执行的作业。作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。
(1)用一个执行时间图描述在采用抢占方式优先算法时执行这些作业的情况。
(2)对于上述算法,各作业的周转时间、平均周转时间、带权周转时间及平均带权周转时间分别是多少?
作业
运行时间/h
优先级
1
10
2
2
4
3
3
3
5
【例3-3】 设在单道系统中用FCFS算法调度如下作业,请完成下表。
FCFS算法比较有利于长作业(进程),不利于短作业(进程)。
有利于CPU繁忙型作业(进程),不利于I/O繁忙型作业(进程)——因非抢占式
【例3-4】 设在单道系统中用SJF算法调度如下作业,请完成下表。
进程名
A
B
C
D
E
平 均
到达时间
9:00
9:10
9:30
10:00
10:15
服务时间
30分钟
1小时
10分钟
50分钟
20分钟
完成时间
9:30
10:40
9:40
11:50
11:00
周转时间
30min
90min
10min
110min
45min
61min
带权周转时间
1
1.5
1
2.2
2.25
1.99
例3-5:有一个内存中只能装入2道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如下表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。
(1)列出所有作业进入内存的时刻及结束的时刻。
(2)计算作业的平均周转时间。
作业名
到达时间
估计运行时间
优先数
A
10:00
40分
5
B
10:20
30分
3
C
10:30
50分
4
D
10:50
20分
6
作业名
到达时间
估计运行时间
优先数
进入内存时间
结束时间
A
10:00
40分
5
B
10:20
30分
3
C
10:30
50分
4
D
10:50
20分
6
A、B、C、D的周转时间分别为:70分、30分、90分、90分,则平均周转时间为70分钟。
练习题
1.下列各项中,不是进程调度时机的是 C 。
现运行的进程正常结束或异常结束
B. 现运行的进程从运行态进入就绪态
C. 现运行的进程从运行态进入等待态
D. 现运行的进程从等待态进入就绪态
2.采用时间片轮转调度算法主要是为了 A 。
A.多个终端都能得到系统的及时响应
B.先来先服务
C.优先权高的进程及时得到调度
D.需要CPU时间最短的进程先做
3.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于__C__ 。
A.进程相应的程序段的长度
B.进程总共需要运行时间多少
C.进程自身和进程调度策略
D.进程完成什么功能
4.一种既利于短小作业又兼顾到长作业的作业调度算法是__C_____。
A.先来先服务 B. 轮转
C.最高响应比 D.均衡调度
5.下列因素中, C 不一定是引起进程调度的因素。
A.一个进程运行完毕
B.运行进程被阻塞
C.一个高优先级进程被创建
D.实时调度中,一个紧迫的任务到来
6.若进程P一旦被唤醒就能投入运行,则系统可能是 D 。
A.分时系统,进程P的优先级最高
B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低
C.就绪队列为空队列
D.抢占式调度方式,P的优先级高于当前运行的进程
7.在分时系统中,若当前运行的进程连续获得了两个时间片,原因可能是 B 。
A.该进程的优先级最高
B.就绪队列为空
C.该进程最早进入就绪队列
D.该进程是一个短进程
8.下列进程调度算法中,_A____可能会出现进程长期得不到调度的情况。
A.静态优先权法
B.抢占式调度中采用动态优先权算法
C.分时处理中的时间片轮转调度算法
D.非抢占式调度中采用FIFO算法
9.在采用动态优先权的调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和_A___调度算法相同。
A.先来先服务 B.短作业优先
C.时间片轮转 D.长作业优先
10.设在内存中有P1,P2两道程序,并按照P1,P2的次序运行,其内部计算和I/O操作的时间分别如下:
P1:先计算60ms,然后I/O80ms,最后再计算20ms
P2:先计算120ms,然后I/O40ms,最后再计算40ms
调度程序的执行时间不计,在多道批处理系统中,完成这两道程序比单道批处理系统节约的时间是_A____.
A. 100ms B. 120ms C.160ms D. 200ms
银行家算法之例
设系统中有5个进程{P0,P1,P2,P3,P4}和3类资源{A,B,C},各类资源总数分别为10、5、7,在T0时刻的资源分配情况如下表所示:
Max
A B C
Allocation
A B C
Need
A B C
Available
A B C
P0
P1
P2
P3
P4
7 5 3
3 2 2
9 0 2
2 2 2
4 3 3
0 1 0
2 0 0
3 0 2
2 1 1
0 0 2
7 4 3
1 2 2
6 0 0
0 1 1
4 3 1
3 3 2
(1)T0时刻系统是否安全,为什么?
(2)P1发出请求向量Request1(1,0,2),分析系统是否可同意请求。
(3)P4发出请求向量Request4(3,3,0),分析系统是否可同意请求。
(4)P0发出请求向量Request0(0,2,0),分析系统是否可同意请求。
(5)在(4)中,若P0发出请求向量Request0(0,1,0),系统是否可同意请求。
回答问题
T0时刻系统是否安全,为什么?
Max
A B C
Allocation
A B C
Need
A B C
Available
A B C
P0
P1
P2
P3
P4
7 5 3
3 2 2
9 0 2
2 2 2
4 3 3
0 1 0
2 0 0
3 0 2
2 1 1
0 0 2
7 4 3
1 2 2
6 0 0
0 1 1
4 3 1
3 3 2
Work
A B C
Work+Allocation
A B C
Finish
P1
P3
P4
P0
P2
3 3 2
5 3 2
7 4 3
7 4 5
7 5 5
5 3 2
7 4 3
7 4 5
7 5 5
10 5 7
true
true
true
true
true
(2)P1发出请求向量Request1(1,0,2),按银行家算法,系统是否同意请求?
Request1(1,0,2)≤Need1(1,2,2)
Request1(1,0,2)≤Available(3,3,2)
系统先假定可为P1分配资源,并修改Available, Allocation1和Need1向量,由此形成资源变化情况如图
Max
A B C
Allocation
A B C
Need
A B C
Available
A B C
P0
P1
P2
P3
P4
7 5 3
3 2 2
9 0 2
2 2 2
4 3 3
0 1 0
2 0 0
(3 0 2)
3 0 2
2 1 1
0 0 2
7 4 3
1 2 2
(0 2 0)
6 0 0
0 1 1
4 3 1
3 3 2
(2 3 0)
再利用安全性算法检查此时系统是否安全。
即存在安全序列{P1,P3,P4,P0,P2},故系统是安全的,可以立即将P1所申请的资源分配给它。
实际上,(1)中的安全序列中的第一个进程就是P1,当然对P1的请求可以满足。
(3)P4发出请求向量Request4(3,3,0),按银行家算法,分析系统是否可同意请求。
Request4(3,3,0)≤Need4(4,3,1)
Request4(3,3,0)≤Available(2,3,0),让P4等待。
(4)P0发出请求向量Request0(0,2,0),按银行家算法,分析系统是否可同意请求。
Request0(0,2,0)≤Need0(7,4,3)
Request0(0,2,0)≤Available(2,3,0)
系统暂时先假定可为P0分配资源,并修改有关数据
Max
A B C
Allocation
A B C
Need
A B C
Available
A B C
P0
P1
P2
P3
P4
5 3
3 2 2
9 0 2
2 2 2
4 3 3
0 1 0
(0 3 0)
3 0 2
3 0 2
2 1 1
0 0 2
7 4 3
(7 2 3)
0 2 0
6 0 0
0 1 1
4 3 1
2 3 0
(2 1 0)
进行安全性检查
Max
A B C
Allocation
A B C
Need
A B C
Available
A B C
P0
P1
P2
P3
P4
7 5 3
3 2 2
9 0 2
2 2 2
4 3 3
0 3 0
3 0 2
3 0 2
2 1 1
0 0 2
7 2 3
0 2 0
6 0 0
0 1 1
4 3 1
2 1 0
可用资源Available(2,1,0)已不能满足任何进程的需要,系统进入不安全状态,故系统不能同意P0的请求,让其阻塞。
练习1:(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问该系统是否会因为竞争该资源而死锁?
解:该系统不会因为竞争该资源而死锁。因为必有1个进程可获得2个资源,顺利完成其任务,其后可释放出占用的2个资源给其他进程使用,使他们顺利完成。
练习1:(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n,说明该系统不会因竞争该类资源而阻塞。
解:用Maxi、Needi和Allocationi分别表示第i个进程对该类资源的最大需求量,需求量以及已分配的量,根据题意它们满足下述条件:
若系统已因竞争该资源而进入死锁状态,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源肯定已全部分配出去,即:
因此:
即:
这样,至少必须存在1个进程,其Needi≤0,这与题意不符,所以该系统不会因竞争该类资源而进入死锁状态。
(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又如何?
解:此时系统可能会发生死锁。假设n=4,m=3,P1的Max为0,而其余3个进程的Max都为2,则仍然满足最大需求量之和小于m+n的要求,当除了P1以外的其余3个进程各得到1个资源时,这3个进程就可能进入死锁状态。
练习2:在银行家算法中,若出现下面的资源分配情况:
Allocation
A B C D
Need
A B C D
Available
A B C D
P0
P1
P2
P3
P4
0 0 3 2
1 0 0 0
1 3 5 4
0 0 3 2
0 0 1 4
0 0 1 2
1 6 5 0
2 3 5 6
0 6 5 2
0 6 5 6
1 6 2 2
试问:(1)该状态是否安全?
(2)当进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
(3)如果系统立即满足P2的上述请求,则系统是否立即进入死锁状态?
解:(1)利用安全性检查算法对上面的状态进行分析,可找到一个安全序列{P0, P1,P3,P4,P2},故系统是安全的。
(2)P2发出请求向量后,系统按银行家算法进行检查,在进行试分配后,进行安全性检查时发现:此时对于所有进程,Available不能满足任何进程的请求,故系统不进行资源分配。
(3)系统立即满足进程P2的请求后,并没有马上进入死锁状态。因为:此时其他进程并没有申请新的资源,并因得不到资源而进入阻塞状态;只有当上述的其他进程提出新的请求,并导致所有没有执行完的多个进程因得不到资源而阻塞并形成循环等待链时,系统才进入死锁状态。
第四章
例:在某系统中,采用固定分区分配管理方式,内存分区(单位字节)情况如图所示,现有大小为1K、9K、33K、121K的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明主存浪费多大?
1
0k
20k
28k
60k
180k
511k
2
3
4
(1) 内存分区图
os
区号
大小
起址
状态
1
8k
20k
未分配
2
32k
28k
未分配
3
120k
60k
未分配
4
331k
180k
未分配
解:根据分区说明表,给4个作业分配分区,同时修改分区说明表,其内存分配和分区说明表如下所示:
分区说明表: 内存分配图(见第四章PPT第27页)
区号
大小
起址
状态
1
8k
20k
已分配
2
32k
28k
已分配
3
120k
60k
已分配
4
331k
180k
已分配
(3)主存浪费空间=(8-1)+(32-9)+(120-33)+(331-121)
=7+23+87+210=327(k)
例题
在可变分区存储管理下,按地址排列的内存空闲区为:100KB、500KB、200KB、300KB和600KB。现有若干用户程序,其所需内存依次分别为212KB、417KB、112KB和426KB,分别用首次适应算法、最佳适应算法、最坏适应算法,将它们装入到内存的哪些空闲分区?哪个算法能最有效利用内存?
解:采用首次适应算法
程序 空闲区 新空闲区
212KB 500KB 288KB
417KB 600KB 183KB
112KB 288KB 176KB
426KB,无法装入内存
区号
大小
状态
1
100k
未分配
2
500k
未分配
3
200k
未分配
4
300k
未分配
5
600K
未分配
解:采用最佳适应算法
区号
大小
状态
1
100k
未分配
2
200k
未分配
3
300k
未分配
4
500k
未分配
5
600K
未分配
程序 空闲区 新空闲区
212KB 300KB 88KB
417KB 500KB 83KB
112KB 200KB 88KB
426KB 600KB 174KB
类似的分析可知,最坏适应算法也不能将426KB的程序装入内存。
例题: (华中科技大学2001)某操作系统采用可变分区分配存储管理方法,用户区大小为512K且初始值为0,用空闲分区表管理空闲分区。若分配时采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对于下列申请序列:
申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K
回答下列问题:
(1)请分别画出采用首次适应算法、最佳适应算法进行内存分配和回收后的内存使用状态。
(2)如果再申请100K,针对上述两种算法会有什么结果?
例题解答如下:见ppt
例1:
某型微机的页面大小是1KB(1024B),现该微机正在执行的进程中有一条指令:
load a,2500
请问:在内存的什么位置可以找到该逻辑地址所对应的数据?假定块号0的初始物理地址为0。
逻辑地址的分解
若逻辑地址为A,页面大小为L,则页号P和页内地址d可按下式求得:
P=int(A/L)
d=A mod L
举例说明 页面大小为4KB,逻辑地址为7800及5F86H,分别求它们的页号和页内偏移。
计算过程如下:load a,2500
A、页号P=INT(逻辑地址/页面大小)=INT(2500/1024)=2
B、页内地址d =2500 MOD 1024=452
C、查页表 假定页号2对应的物理块是块5
D、物理地址为:
块号×页大小+页内地址=5×1024+452=5572
即:将5572这个物理地址里面的数据取出来放在a寄存器里
注意:本题的前提条件是块号0的初始物理地址为0,如果不
是0,该怎么办?
练习题
1.设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048B,内存总共有8个存储块。试问逻辑地址至少应为多少位?内存空间有多大?
2.在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2FA6H,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少?
硬件能自动分离出页号和页内地址,但我们只能通过计算才能得到。计算时要注意:
(1)逻辑地址以十六进制、八进制、二进制的形式给出
将逻辑地址转换成二进制的数;
按页的大小分离出页号和页内地址(低位部分是页内地址,高位部分是页号);
根据题意产生页表;
将页内地址直接复制到物理地址的低位部分;
以页号查页表,得到对应页装入内存的块号,并将块号转换成二进制数填入地址的高位部分,从而形成内存物理地址。
0
5
1
10
2
11
逻辑地址2FA6H=0010 1111 1010 1110B
4096B=212 页内地址占低12位,高位为页号
页号P=2 页内地址d=1111 1010 1110
查页表知第2页装入内存第11块中,11=1011B
物理地址=1011 1111 1010 1110=BFA6H
(2)逻辑地址以十进制数给出
按下列公式计算出页号和页内地址
页号=逻辑地址%页大小
页内地址=逻辑地址 mod 页大小
根据题意产生页表;
以页号查页表,得到对应页装入内存的块号
内存地址=块号×页大小+页内地址
例2:有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145转换成内存地址。
逻辑地址7145
展开阅读全文