2022年《操作系统原理》综合知识复习 .pdf

上传人:Che****ry 文档编号:34269617 上传时间:2022-08-15 格式:PDF 页数:16 大小:326.63KB
返回 下载 相关 举报
2022年《操作系统原理》综合知识复习 .pdf_第1页
第1页 / 共16页
2022年《操作系统原理》综合知识复习 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年《操作系统原理》综合知识复习 .pdf》由会员分享,可在线阅读,更多相关《2022年《操作系统原理》综合知识复习 .pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、- 1 - 计算机操作系统复习第 1 章操作系统概述1.1 计算机系统计算机硬件是指组成计算机系统的设备或机器,是“看得见,摸得着”的物理部件,它是组成计算机系统的基础。计算机硬件 一般包括中央处理器(CPU) 、内存储器、外存储器、 输入设备和输出设备,其中 CPU 与内存储器合称为主机,外存储器、输入设备和输出设备合称为外部设备。计算机软件 是指组成计算机系统的程序、数据和文档。 程序是指令的有序集合;数据是信息在计算机中的表示,是计算机处理的对象;文档是各种说明文本,是软件操作的辅助性资源。组成:系统软件 :是支持和管理 计算机硬件 的软件, 是服务于硬件的,它创立的是一个平台。系统软件

2、包括操作系统、数据库管理系统、计算机编译语言和各种系统服务性程序。应用软件:应用软件是完成用户某项要求的软件,是服务于特定用户的,它满足某一个应用领域。应用软件包括计算机源程序和应用软件包。1.2 操作系统的目标、作用与模型操作系统是计算机硬件上加载的第一层软件,是对计算机硬件功能的首次扩充。其他软件只有在操作系统的支持下,才能对计算机硬件工作。操作系统是一种重要的系统软件。计算机硬件加上I/O 管理软件称为虚拟机,虚拟机再加上文件管理软件称为较强的虚拟机,较强的虚拟机再加上窗口软件称为极强的虚拟机。操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序

3、的集合. 操作系统的目标1方便性:操作系统最终是要为用户服务的。给计算机配置操作系统后必须使计算机系统方便使用。2有效性 : 操作系统要合理地组织计算机的工作流程,改善系统资源的利用率,提高系统的吞吐量从而使有限的资源完成更多的任务。3可扩充性 : 操作系统也是为应用服务的,随着应用环境的变化,操作系统自身的功能也必须不断增加和完善。4开放性:操作系统主要功能是管理计算机硬件的,必须适应和能够管理不同的硬件。操作系统的作用1.OS作为用户与计算机硬件系统之间的接口用户可通过三种方式使用计算机:命令方式、系统调用方式、图形窗口方式。2 OS作为计算机系统资源的管理者处理机管理:用于分配和控制处理

4、机I/O 设备管理:负责I/O 设备的分配与操纵文件管理:负责文件的存取、共享和保护3.OS用作扩充机器操作系统的层次模型操作系统也可以看成是一个层次结构,其最底层为操作系统对象 ,中间层为对对象进行管理的软件集合,最高层为操作系统提供给用户使用的接口1.3 操作系统的形成与发展操作系统的发展1无操作系统 : 方式:人工操作方式 , 脱机输入输出方式2批处理系统批处理系统主要是采用了批处理技术。批处理技术是指计算机系统对一批作业自动进行处理的一种技术。方式:单道批处理系统:主要特征:自动性、顺序性、单道性多道批处理系统:引入的好处:提高CPU 的利用率;可提高内存和I/O 设备利用率;增加系统

5、吞吐量特征:多道性、无序性、调度性优缺点:资源利用率高、 系统吞吐量大、 平均周转时间长、无交互能力。3分时操作系统所谓分时系统就是采用了分时技术的操作系统。分时技术就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。分时系统要解决的关键问题是一是及时接收,二是及时处理。分时系统的实现方式 单道分时系统 具有“前台”和“后台”的分时系统 多道分时系统分时系统的特征有多路性、独立性、及时性和交互性。4实时系统实时系统是指系统能及时响应外部事件的请求,在规定的时间内,完成对该事件的处理,并控制所有实时任务协调一致地运行。类型 :实时控制系统 ,实时信息处理系统实时系统

6、的特征: 有多路性、独立性、及时性、交互性和可靠性。例实时系统与分时系统特征的比较P 11 5微机操作系统类型:单用户单任务操作系统单用户多任务操作系统多用户多任务操作系统6多处理机操作系统多个处理机之间的互联系统,在多处理机系统上配置的操作系统是多处理机操作系统。类型 : 非对称多处理机模式:也称为主 -从模式,在这种模式中,把处理机分为主处理机和从处理机两类,主处理机只有一个,其上配置了操作系统,用于管理整个系统的资源,并负责为各从处理器分配任务。从处理机有若干个,它们执行预先规定的任务及由主处理机所分配的任务。对称多处理机模式:所有的处理机都是相同的。在每个处理机上运行一个相同的操作系统

7、拷贝,用它来管理本地资源和控制进程的运行以及各计算机之间的通信。7网络操作系统网络操作系统用于管理网络中的各种资源,为用户提供各种服务。其主要功能有网络通信管理、网络资源管理、网络安全管理和网络服务等。类型 :客户 /服务器模式( C/S),对等模式8分布式操作系统分布式处理系统是指由多个分散的处理单元经互联网络的连接而形成的系统。在分布式系统上配置的操作系统称为分布式操作系统。特点 分布性 并行性 透明性 共享性 健壮性1.4 操作系统的特征与功能操作系统的特征1并发性在多道程序环境下, 并发性是指两个或多个事件在同一时间间隔内发生,即宏观上有多道程序同时执行,而微观上,在名师资料总结 -

8、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - - 2 - 单处理机系统中每一个时刻仅能执行一道程序。2共享性共享是指系统中的资源可供多个并发执行的进程使用。3虚拟性是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。4异步性也称不确定性, 是指在多道程序环境下,允许多个进程并发执行,由于资源的限制,进程的执行不是“一气呵成”的,是“走走停停”的。操作系统的功能从资源管理的角度来看,操作系统的功能主要有: 处理机的管理 :进程控制、进程同步

9、、进程通信、调度存储器的管理 :内存分配、内存保护、地址映射、内存扩充设备的管理 :缓冲管理、设备分配、设备处理文件的管理 :文件存储空间的管理、目录管理、文件的读写管理和保护用户的接口 :命令接口、程序接口、图形接口第 2、3 章处理器管理复习2.1 处理器管理概述1. 处理器管理的主要任务:是对处理器进行分配,并对其运行进行有效地控制和管理。处理器管理的主要功能进程控制进程同步进程通信进程调度:包括作业调度和进程调度。作业调度 :从后备队列中按照一定的算法,选择若干个作业,为它们分配必要的资源,将它们调入主存,然后为它们建立进程,并按照一定的算法将其插入就绪队列。进程调度 :从进程的就绪队

10、列中,按照一定的算法选出一新进程,把处理器分配给它,并为它设置运行现场,使进程投入运行。2. 程序的顺序执行程序在执行时, 必须按某种先后次序逐个执行操作,只有当前一个操作执行完后,才能执行后一个操作。特征:顺序性封闭性可再现性3. 程序的并发执行是指在一个时间段内执行多个程序。特征:间断性失去封闭性不可再现性2.2 进程描述1.进程的定义一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。进程是程序的一次执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动。进程是程序在一个数据集合上运行的过程,它是系统进行资源

11、分配和调度的一个独立单位。2.进程的特征动态性:是进程的最基本的特征,它由创建而产生,由调度而执行,由撤消而消亡。并发性独立性:指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。异步性结构性3. 进程的状态进程的三种基本状态就绪状态 :当进程以分配到除处理器(CPU)以外的所有必要资源后,只要再获得处理器就可以立即执行,这时进程的状态称为就绪状态。执行状态:处于就绪状态的进程一旦获得了处理器,就可以运行,进程状态也就处于执行状态。阻塞状态:正在执行的进程因为发生某些事件(如请求输入 /输出、申请额外空间等)而暂停运行,这种受阻暂停的状态称为阻塞状态,也可以称为等待状态。就绪态阻

12、塞态执行态I/O 完成进程调度时间片完I/O 请求进程的挂起状态引入挂起状态后的进程状态转换执行状态静止就绪活动就绪静止就绪静止就绪活动就绪活动阻塞静止阻塞静止阻塞活动阻塞静止阻塞静止就绪活动就绪活动阻塞执行态激活挂起I/O 请求静止就绪静止阻塞挂起挂起激活唤醒唤醒2.3 进程控制1.进程控制块PCB :进程控制块是进程实体的重要组成部分,是操作系统中最重要的记录型数据,在进程控制块PCB(Program Contral Block)中记录了操作系统所需要的、用于描述进程情况及控制进程运行所需要的全部信息, PCB 是进程存在的惟一标志。作用通过 PCB,使得原来不能独立运行的程序(数据),成

13、为一个可以独立运行的基本单位,一个能够并发执行的进程。进程控制块是进程存在的唯一标志。进程控制块的内容:进程标识符、 处理器状态、 进程调度信息、进程控制信息链接指针:给出了本进程(PCB)所在队列中的下一个进程的 PCB 的首地址。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - - 3 - 进程控制块的组织方式:链接方式、索引方式2. 进程控制原语原语的概念原语是指具有特定功能的不可被中断的过程。它主要用于实现操作系统的一些

14、专门控制操作。原语的分类创建原语:用于为一个进程分配工作区和建立PCB,置该进程为就绪状态。撤消原语:用于一个进程工作完后,收回它的工作区和PCB。阻塞原语: 用于进程在运行过程中发生等待事件时,把进程的状态改为等待态。唤醒原语:用于当进程等待的事件结束时,把进程的状态改为就绪态。3. 进程的创建引起进程创建的事件用户登录作业调度提供服务应用请求2.4 线程的基本概念线程的概念: 线程是进程中的一个实体,是被系统独立调度和执行的基本单位。线程与进程的区别:调度单位不同:线程是独立调度和执行的基本单位,进程只作为资源分配和拥有的基本单位。并发形式不同 :在一个进程中的各个线程,可以并发执行。不同

15、进程中的线程也能并发执行。拥有资源不同 :线程中的实体基本上不拥有系统资源,进程拥有资源。共享方式 :在同一进程中的各个线程,都可以共享该进程所拥有的资源。进程的基本属性:(1)进程是一个可拥有资源的独立单位。(2)进程同时又是一个可独立调度和分派的基本单位。一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程的属性:轻型实体 。 线程中的实体基本上不拥有系统资源。独立调度和分派的基本单位。可并发执行共享进程资源。线程的类型:系统级线程 :是依赖于系统控制的,即无论是用户进程中的线程,还是系统进程中的线程,它们的创建、撤消、切换都是由系统控制实现的。用户级线

16、程:是由用户控制,对于用户级线程的创建、撤消、切换,都与系统控制无关,完全由用户自己管理。超线程的概念超线程技术就是利用特殊的硬件指令,在一颗实体处理器中放入两个逻辑处理单元,从而模拟成两个工作环境,让单个处理器都能使用线程级并行计算,同时处理多项任务,提升处理器资源的使用率。2.5 进程同步与互斥1. 进程的并发性:在并发执行的系统中,若干个作业可以同时执行,而每个作业又需要有多个进程协作完成。在这些同时存在的进程间具有并发性进程同步的主要任务: 使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。临界资源: 在系统中有许多硬件或软件资源,在一段时间内只允许一个进

17、程访问或使用,这种资源称为临界资源。临界区:每个进程中访问临界资源的那段代码称为临界区进程同步:进程同步是指多个相关进程在执行次序上的协调,这些进程相互合作,在一些关键点上需要相互等待或相互通信。进程互斥:进程互斥是指当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才被允许使用临界资源。进程同步机制应遵循的原则空闲让进忙则等待有限等待让权等待2. 利用 PV 操作实现互斥与同步信号量就是一种特殊变量,它用来表示系统中资源的使用情况。而整型信号量就是一个整型变量。说明:当其值大于“ 0”时,表示系统中对应可用资源的数目;当其值小于“ 0”时,其

18、绝对值表示因该类资源而被阻塞的进程的数目;当其值等于 “0”时,表示系统中对应资源已经都被占用,并且没有因该类资源而被阻塞的进程。信号量的操作P 操作:记为P(S) ,描述为:P(S) S=S-1;if (S0) W(S) ; W(s):将调用过程的进程插入到等待信号量S 的等待队列中V 操作:记为V( S) ,描述为:V(S) S=S+1;if (S=0) R(S) ; R(s):从该信号量的等待队列中释放第一个进程。Wait(s)操作:procedure wait(s) var S:semaphore; begin s.value:=S.value-1; if s.value0 then

19、block(S,L); end. wait(s): 将调用过程的进程插入到等待信号量S 的等待队列中Signal(s)操作:procedure Signa (s) var S:semaphore; begin s.value:=S.value+1; if s.value=0 then wakeup(S,L); end. wakeup(s):从该信号量的等待队列中释放第一个进程。利用 PV 操作实现互斥互斥信号量是根据临界资源的类型设置的。有几种类型的临界资源就设置几个互斥信号量。它代表该类临界资源的数量,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

20、- - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - - 4 - 或表示是否可用,其初值一般为“1” 。例题【例 2-1】在一个只允许单向行驶的十字路口,分别有若干由东向西, 由南向北的车辆在等待通过十字路口。为了安全,每次只允许一辆车通过。当有车辆通过时其它车辆必须等候,当无车辆在路口行驶时则允许一辆车通过。请用PV 操作实现保证十字路口安全行驶的自动管理系统。解: S :表示临界资源十字路口,S 1 int S=1; main() pew(); psn(); pew() psn() p(s); wait(s) p(s

21、); 由东向西通过十字路口;由南向北通过十字路口;v(s); signal(s) v(s); 【例 2-2】有 4 位哲学家围着一个圆桌在思考和进餐,每人思考时手中什么都不拿,当需要进餐时,每人需要用刀和叉各一把,餐桌上的布置如图2-12 所示,共有2 把刀和 2 把叉,每把刀或叉供相邻的两个人使用。请用信号量及PV 操作说明 4位哲学家的同步过程。Int fork1=1,fork2=1,knife1=1,knife2=1; Pa() while(1) p(knife1); p(fork1); 进餐;v(knife1); v(fork1); 利用 PV 操作实现同步同步信号量是根据进程的数量设

22、置的。一般情况下, 有几个进程就设置几个同步信号量,表示该进程是否可以执行,或表示该进程是否执行结束。其初值一般为“0” 。【例 2-3】桌上有一个空盘子,只允许放一个水果。爸爸可以向盘中放苹果,也可以向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时,一次只能放一只水果,请用PV 操作实现爸爸、儿子、女儿3 个并发进程的同步。Int sp=1; sa=0;so=0; Main() father(); son();daughter();Father() son() while(1) while(1) p(sp); p(so); 将水果放入盘中;从盘中取出桔子;if (放入的

23、是桔子) v(sp); v(so); 吃桔子;else v(sa); 【例 24】生产者与消费者问题(1:1:1)Sp:是否可以把物品存入缓冲区;sg:缓冲区是否存有物品。Int sp=1, sg=0; Producer() while(1) 生产一个产品;p(sp); buffer=产品;v(sg); Consumer() while(1) p(sg); 取产品从仓库中;v(sp) 消费【例 2-6】生产者与消费者问题(1:n:1)Int sp=n, sg=0;bn,k=0,t=0 Producer() while(1) 生产一个产品;p(sp); bk = 产品;k=(k+1) mod n

24、; v(sg); Consumer() while(1) p(sg); 取产品从 bt ;t=(t+1) mod n v(sp) 消费【例 2-7】生产者与消费者问题(m:n:r)Sp:是否可以把物品存入缓冲区;sg:缓冲区是否存有物品。S1:m 个生产者之间互斥地往缓冲区中存入物品;S2:r 个消费者之间互斥地从缓冲区取物品Int sp=n, sg=0;bn,k=0,t=0 ,s1=1,s2=1; Producer() while(1) 生产一个产品;p(sp); p(s1) bk = 产品;k=(k+1) mod n; v(s1) 名师资料总结 - - -精品资料欢迎下载 - - - -

25、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - - 5 - v(sg); Consumer() while(1) p(sg); p(s2) 取产品从 bt ;t=(t+1) mod n v(s2) v(sp) 消费同步与互斥的解题思路分清哪些是互斥问题(互斥访问临界资源的),哪些是同步问题(具有前后执行顺序要求的)。对互斥问题要设置互斥信号量,不管有互斥关系的进程有几个或几类,通常只设置一个互斥信号量,且初值为1,代表一次只允许一个进程对临界资源访问。对同步问题要设置同步信号量,通常

26、同步信号量的个数与参与同步的进程种类有关,即同步关系涉及几类进程,就有几个同步信号量。同步信号量表示该进程是否可以开始或该进程是否已经结束。在每个进程中用于实现互斥的PV 操作必须成对出现;用于实现同步的PV 操作也必须成对出现,但可以分别出现在不同的进程中;在某个进程中如果同时存在互斥与同步的P 操作,则其顺序不能颠倒,必须先执行对同步信号量的P 操作,再执行对互斥信号量的P 操作, 但 V 操作的顺序没有严格要求。同步与互斥的解题步骤(1)确定进程。包括进程的数量、进程的工作内容,可以用流程图描述。(2)确定同步互斥关系。根据是否使用的是临界资源,还是处理的前后关系,确定同步与互斥,然后确

27、定信号量的个数、含义,以及对信号量的P、V 操作。(3)用类 C 语言描述同步或互斥算法。2.6 进程通信进程通信是指进程间的信息交换。类型共享存储器系统消息传递系统:方式直接通信方式发送进程使用发送原语直接将消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程使用接收原语从消息缓冲队列中取出消息。Send(receiver,message): 发送一个消息给接收进程Receive(sender,message): 接收 sender发来的消息。间接通信方式发送进程使用发送原语直接将消息发送到某种中间实体(信箱) 中,接收进程使用接收原语从该中间实体中取出消息。管道通信系统2.7

28、进程调度进程调度的类型:高级调度、低级调度、中级调度高级调度又称为作业调度或长程调度,用于决定把外存上处于后备队列中的哪些作业调入主存,并为它们创建进程、分配必要的资源, 然后将新创建的进程排入就绪队列,准备执行。低级调度通常又称为进程调度或短程调度。它决定主存中的就绪队列上的哪个进程(单处理器系统)将获得处理器,然后把处理器分配给该进程,使其执行。方式:非抢占方式、抢占方式中级调度:系统将那些暂时不能运行的进程从主存调到外存(仍然保持进程状态)上的特定区域,这些在外存存放的进程所处的状态称为就绪驻外状态或挂起状态。当这些进程的运行条件具备,且主存又有空闲时,在中级调度的控制下,再将处于外存上

29、的那些重新具备运行条件的就绪驻外进程调入主存,并将其状态修改为就绪状态,放入就绪队列,等待进程调度。 目的:是为了进一步提高主存的利用率和系统的吞吐量。常用的进程调度算法先来先服务调度算法:每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。特点:利于长进程,而不利于短进程。短进程优先调度算法:它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。时间片轮转调度算法:

30、系统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度时把CPU 分配给队首进程, 让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。优先数调度算法:它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。响应比高者优先调度算法:它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。

31、所以系统开销很大,比较复杂。多级队列调度算法2.8 进程死锁死锁的概念:是指多个进程因竞争资源而造成的一种僵局,若无外力的作用,这些进程将都不能再继续执行。产生死锁的原因:竞争资源、进程推进顺序非法产生死锁的必要条件互斥条件:指进程对所分配到的资源进行排它性使用。请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其它进程占有。不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺。环路等待条件:指在发生死锁时,必然存在一个进程资源的环形链。死锁的预防该方法是通过对资源分配的原则进行限制,从而使产生死锁的四个必要条件中的第2、3、4 个条件之一不能成立,来预防

32、产生死锁。方法破坏“不剥夺”条件:当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源。破坏“请求和保持”条件:系统规定所有进程在开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源。破坏“环路等待”条件:系统将所有资源按类型进行线性排队,并赋予不同的序号。所有进程对资源的请求必须严格按照资源序号递增的次序提出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - - 6

33、- 死锁的避免死锁的避免中,所施加的限制较弱,将获得较好一些的系统性能。该方法把系统状态分为安全状态和不安全状态,只要能使系统始终处于安全状态,便可以避免发生死锁。安全状态:是指系统能按某种顺序为每个进程分配所需资源,直到最大需求,使每一个进程都可以顺利完成。例:共有 12 台磁带机,系统是安全的。安全序号:p2,p1,p3 若:这时分配一台给p3 则是不安全状态。进程最大需求已分配可用进程最 大 需求已分配可用P11053P242 &8827; &3068;&4784; &*5192;&o562;琰茞 &o312;&5682;P392 &8827; &3068;&4784; &*5192;&

34、o562;琰茞 &o312;&5682;利用银行家算法避免死锁:银行家算法分配资源时,要测试进程对资源的最大需求量,如果系统现在的资源可以满足它的最大需求量,就满足该进程当前的申请,否则就推迟分配,这样做能保证各进程可得到需要的全部资源而执行结束,然后归还资源供别的进程使用。银行家算法的处理步骤为:(1)列出某一时刻资源分配表,格式如表2-4 所示。(2)拿可用资源量与每一个进程所需资源量进行比较,可用资源量不少于所需资源量时,把资源分配给该进程。新的可用资源量为原有可用资源量加上该进程已分配资源量。(3)重复( 2) ,直到所有进程都执行完,即可判断能否获得一个安全资源分配序列。进程最大资源

35、量已分配资源量还需资源量可用资源量进程最大资源量已 分 配 资 源量还需资源量可用资源量P010 5 3 0 1 0 10 4 3 3 3 2P13 2 22 0 0 1 2 2 P29 0 2 3 0 2 6 0 0 P32 2 2 2 1 1 0 1 1p54 3 30 0 24 3 1进程最 大 资 源量已分配资源量还需资源量可用资源量P13 2 22 0 01 2 2 3 3 2P32 2 2 2 1 1 0 1 15 3 2P44 3 3 0 0 24 3 17 4 3P29 0 23 0 26 0 07 4 5名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

36、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - - 7 - p010 5 30 1 010 4 310 4 7第 4 章存储器管理复习4.1 存储器管理概述存储管理的主要任务是尽可能方便用户和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。1. 存储器管理的主要功能主存空间的分配和回收逻辑地址(相对地址):用户程序中使用的从“0”地址开始的地址。物理地址(绝对地址):把主存空间的地址编号称为主存的逻辑地址。地址转换 :将用户程序的逻辑地址转换为物理地址的过程叫地址转换。主存

37、空间的共享与保护:同时进入主存器执行的作业可能需要调用相同的程序或数据,这就是主存的共享。主存空间的扩充2. 程序的装入与链接源程序的执行:通常要经过编译、链接和装入几个步骤实现链接的方法有三种静态链接:事先进行链接,以后不再拆开的链接方式装入时动态链接:用户源程序经编译后所得到的目标模块,是在装入主存时,边装入边链接的。运行时动态链接:可将某些目标模块的链接,推迟到执行时才进行。程序的装入采用三种方式:(1)绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入主存。(2)可重定位方式:是由装入程序根据主存当前的实际使用情况,将装入模块装入到主存适当的地方。重定位:在装入时对目标程

38、序中的指令和数据地址的修改过程称为重定位。(把逻辑地址转换成绝对地址),它分为静态重定位和动态重定位。静态重定位:重定位是在装入时由重定位装入程序一次性完成的,则被称作静态重定位。(3)动态运行时装入方式:动态运行时的装入程序,在把装入模块装入主存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行,叫动态重定位3. 存储管理方式: 连续分配存储管理方式:单一连续分配存储管理方式固定分区存储管理方式动态分区存储管理方式离散分配存储管理:页式存储管理方式段式存储管理方式段页式存储管理方式 虚拟存储管理方式请求分页式虚拟存储管理方式请求分段式虚拟存储管理

39、方式4.2 单一连续存储管理方式u 在主存中仅驻留一道程序,整个用户区为一用户独占。当用户作业空间大于用户区时,该作业不能装入。u 采用这种存储管理方式时,主存分为两个分区(系统区和用户区)。u 分配过程是:首先,从作业队列中取出队首作业;判断作业的大小是否大于用户区的大小,若大于则作业不能装入,否则,可以把作业装入用户区。它一次只能装入一个作业。u 它采用静态分配方式。u 处理器设置两个寄存器:界限寄存器和重定位寄存器。界限寄存器用来存放主存用户区的长度,重定位寄存器用来存放用户区的起始地址。u 地址转换过程是:CPU 获得的逻辑地址首先与界限寄存器的值比较,若大于界限寄存器的值,产生“地址

40、越界”中断信号,由相应的中断处理程序处理;若不大于界限寄存器的值,就与重定位寄存器中的基址相加,得到物理地址,对应于主存中的一个存储单元。u 绝对地址界限寄存器逻辑地址u 存储保护:界限寄存器绝对地址主存的最大地址4.3 固定分区存储管理方式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - - 8 - 把主存中可分配的用户区域预先划分成若干个固定大小的区域,每一个区域称为一个分区,每个分区中可以装入一个作业,一个作业也只能装入一

41、个分区中,这样可以装入多个作业,使它们并发执行。当有一个空闲分区时,便可从外存的后备队列中,选择一个适当大小的作业装入该分区;当该作业运行完时,又可从后备队列中选择另一个作业装入该分区。采用的数据结构:设置了一张分区分配表。分区分配表的内容包括:分区序号、起始地址、大小、状态。采用静态重定位方式。处理器设置两个寄存器:下限寄存器和上限寄存器。下限寄存器用来存放分区低地址,即起始地址;上限寄存器用来存放分区的高地址,即末址。绝对地址分区起始地址逻辑地址4.4 可变分区存储管理方式可变分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。各分区的大小

42、是不定的,主存中分区的数目也是不定的数据结构:已分分区表和空闲分区表常用的主存分配算法:n 首次适应分配算法(FF) :对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1 条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。n 循环首次适应算法:每次分配均从上次分配的位置之后开始查找。n 最佳适应分配算法(BF):是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时

43、,顺序查找。主存空间的回收:情况分4 种采用动态重定位方式装入作业。需要设置硬件地址转换机构:两个专用寄存器,即基址寄存器和限长寄存器为了提高主存空间的利用率,可以采用移动技术和对换技术,来合并空闲区,满足作业的要求,或把暂时不运行的作业从主存中对换到外存上,运行紧迫的作业,然后再把对换到外存上的作业调入主存。移动会增加系统开销,移动是有条件的:当作业不与外围设备交换信息时,可以移动,否则不能移动。【例 4-1】主存有两个空闲区F1、F2 如图 3-15 图( a)所示。 F1 为 220KB ,F2 为 120KB ,另外依次有J1 、J2、J3 三个作业请求加载运行,它们的主存需求量分别是

44、40KB 、160KB 、100KB ,试比较最先适应算法、最优适应算法和最坏适应算法的性能。F1(220K) F2(120K) F1(20K) F2(20K) F1(60K) F2(80K) 40K 160K 40K 100K 160K 【例 4-2】 下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列: 96KB、 20KB 、 200KB。若用最先适应算法和最优适应算法。解答中的也做相应修改。来处理这个作业序列,试问哪一种算法可以满足该作业序列的请求,为什么?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -

45、 - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - - 9 - 序号始址大小1100K32K2150K10K3200K5K4220K218K5530K96K4.5 页式存储管理方式将用户作业的地址空间分成若干个大小相同的区域,称为页面或页,并为每个页从“0”开始编号;相应地,主存空间也分成与页大小相同的若干个存储块,或称为物理块. 程序的逻辑地址由页号和页内地址组成,页号的长度决定了分页的多少,页内地址的长度决定了页面的大小。在为作业分配主存时, 以块为单位将作业中的若干页分别装入多个可以不相邻接的块中。作业执行时根据逻辑地址中

46、的页号找到它所在的块号,再确定当前指令要访问的主存的物理地址。它的地址转换属于动态重定位。采用的数据结构:统设置了主存分配表、位示图和页表,记录主存空间的使用情况和每个作业的分配情况。主存分配表: 它记录主存中各作业的作业名、页表始址和页表长度,页表长度为页表中的最大序号。整个系统设置一个主存分配表。位示图:包括标志位和空闲块数,记录主存空间的使用情况和当前剩余的空闲数。页表:系统为每个作业建立一张页面映射表,简称页表。指出逻辑地址中的页号与主存块号的对应关系。地址转换:页号逻辑地址 /页长 页内地址逻辑地址mod 页长物理地址块号 *块长 +块内地址 +用户区基址【例 4-3】在一个页式存储

47、管理系统中,页面大小为1KB ,主存中用户区的起始地址为1000,假定页表如下。现有一逻辑地址,页号为 2,页内地址为20,试设计相应的物理地址,并画图说明地址转换过程。物理地址块号 *块长 +块内地址 +用户区基址=9*1024+20+1000=10236 【例 4-4】设一页式存储管理系统, 向用户提供逻辑地址空间最大为16 页,每页2048 字节,主存总共有8 个存储块,试问逻辑地址应为多少位?主存空间有多大?逻辑地址: 页号 +页内地址2416, 2112048 所以 15位主存空间: 8*2K 16K 【例 4-5】在一个页式存储管理系统中,某作业的页表如下左表所示。已知页面大小为1

48、024 字节, 用户区的基址为1000,试将逻辑地址1011、2148、3000、4000、5012 转换为相应的物理地址。页号块号0 2 1 3 2 1 3 6 解:页号 逻辑地址 /页长 页内地址逻辑地址mod 页长物理地址块号*块长 +块内地址 +用户区基址1011: 2*1024+1011+1000 4059 2148: 页号: 2 块号: 3 3*1024+100+1000 4.6 段式存储管理方式引入分段: 是为了满足用户在编程和使用上的要求。在段式存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。它以段为单位分配主存,每段分配一个连续的主存空间,但各段之间

49、不要求连续。供用户使用的逻辑地址为段号+段内地址。采用动态重定位。在段式存储管理方式下,设置了空闲分区表、段表和主存分配表。主存分配表,用于记录主存中各作业的作业名、段表始址和段表长度逻辑地址段号段内地址物理地址段始址段内地址分页和分段的主要区别:(1)页是信息的物理单位,分页是为了实现离散的分配方式,以消减主存“碎片” ,提高主存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它包含一组意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。(2)页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一

50、种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。(3)分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需要利用一个记忆符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。4.7 段页式存储管理方式先把用户程序分成若干个段,并为每个段赋予一个段名,每段可以独立从“0”编址。再把每个段划分成大小相等的若干个页,把主存分成与页大小相同的块。每段分配与其页数相同的主存块,主存块可以连续,也可以不连续。系统设置了位示图、段表和页表, 记录主存的使用情况和作业的分配情况。 位示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁