计算机操作系统第五章优秀PPT.ppt

上传人:l*** 文档编号:86830395 上传时间:2023-04-15 格式:PPT 页数:208 大小:1.12MB
返回 下载 相关 举报
计算机操作系统第五章优秀PPT.ppt_第1页
第1页 / 共208页
计算机操作系统第五章优秀PPT.ppt_第2页
第2页 / 共208页
点击查看更多>>
资源描述

《计算机操作系统第五章优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统第五章优秀PPT.ppt(208页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本章书目本章书目4/15/20231高校课件5.1 程序的装入和链接程序的装入和链接5.2 连续安排存储管理方式连续安排存储管理方式5.3 覆盖和对换覆盖和对换5.4 分页存储管理方式分页存储管理方式(离散安排离散安排方式方式)5.5 分段存储管理方式分段存储管理方式作业作业返回起先返回起先4/15/20232高校课件 一个计算机系统由计算子系统、存一个计算机系统由计算子系统、存储子系统和储子系统和I/O子系统组成。出于性能与子系统组成。出于性能与价格的权衡考虑,存储子系统通常由多价格的权衡考虑,存储子系统通常由多种不同的存储介质共同构成。种不同的存储介质共同构成。4/15/20233高校课件

2、寄存器寄存器内存内存外存外存粗层次图粗层次图寄存器寄存器Cache内存内存盘交换区盘交换区(辅存辅存)联机外存联机外存 海存海存(脱机外存脱机外存)细层次图细层次图Cache还可以再分三层:片内一级和二级,片外还可以再分三层:片内一级和二级,片外Cache外存外存自顶向下,存取速度越来越慢,成本越来越低,容量越来越大,存取频度越来越低自顶向下,存取速度越来越慢,成本越来越低,容量越来越大,存取频度越来越低4/15/20234高校课件任一程序对计算机的运用,首先是对内任一程序对计算机的运用,首先是对内存的运用存的运用(先装入内存先装入内存),然后是对处理然后是对处理机的运用,再后才是通过处理机实

3、现对机的运用,再后才是通过处理机实现对I/O设备与文件等其他资源的运用。设备与文件等其他资源的运用。4/15/20235高校课件内存是指用来存放当前正在运行的程序的代码内存是指用来存放当前正在运行的程序的代码和数据及其数据的,是程序中指令本身地址所和数据及其数据的,是程序中指令本身地址所指的,亦即程序计数器所指的,亦即指的,亦即程序计数器所指的,亦即CPU取指取指时所用地址所隐含访问的那个存储层次。时所用地址所隐含访问的那个存储层次。内存并不是确定不行缺少的,但内存的存在可内存并不是确定不行缺少的,但内存的存在可以达到性能与价格的更好权衡以达到性能与价格的更好权衡操作系统内存管理功能的大部分内

4、容,是为了操作系统内存管理功能的大部分内容,是为了解决内存速度与容量不足的问题。它实现的是解决内存速度与容量不足的问题。它实现的是与硬件相关和应用无关的内容。与硬件相关和应用无关的内容。4/15/20236高校课件帕金森帕金森ParkinsonParkinson定律:存储器有定律:存储器有多大,程序就会有多大。程序的多大,程序就会有多大。程序的增大正好填满增大的存储器。增大正好填满增大的存储器。4/15/20237高校课件计算机领域,历史总是在重复自身。当计算机领域,历史总是在重复自身。当最简洁的存储管理方案不再用于台式机最简洁的存储管理方案不再用于台式机时,这些方案仍被一些掌上电脑、嵌入时,

5、这些方案仍被一些掌上电脑、嵌入式系统和智能卡系统所接受。式系统和智能卡系统所接受。4/15/20238高校课件内存管理的功能和任务硬件相关和应用无关的内容1、如何才能运用户和用户程序不涉及内存物理细微环节:、如何才能运用户和用户程序不涉及内存物理细微环节:操作系统、编译程序和硬件共同完成。操作系统、编译程序和硬件共同完成。2、如何为用户程序完成程序装入工作:操作系统在编译、如何为用户程序完成程序装入工作:操作系统在编译程序的协作下完成。程序的协作下完成。3、如何提高内存利用率和弥补用户对内存容量要求与内、如何提高内存利用率和弥补用户对内存容量要求与内存实际容量之间的差距。存实际容量之间的差距。

6、4、如何解决内存速度与、如何解决内存速度与CPU速度不匹配的问题。速度不匹配的问题。5、如何满足系统和用户的平安要求。内存爱护、如何满足系统和用户的平安要求。内存爱护6、如何满足用户程序的动态扩缩要求、如何满足用户程序的动态扩缩要求7、共享、共享8、代价、代价4/15/20239高校课件5.1.1 5.1.1 装入方式装入方式 一、确定装入方式一、确定装入方式 二、可重定位装入方式二、可重定位装入方式 三、动态运行时装入方三、动态运行时装入方式式5.1.2 5.1.2 程序的链接程序的装入程序的链接程序的装入 一、静态链接一、静态链接 二、装入时动态链接二、装入时动态链接 三、运行时动态链接三

7、、运行时动态链接返回本章书目4/15/202310高校课件存储器管理存储器管理 主存储器主存储器(又称内部存储器,处理机存储器又称内部存储器,处理机存储器),存储器管理,探讨的主要对象就是主存储器。,存储器管理,探讨的主要对象就是主存储器。BACK 返回本节书目返回本节书目 NEXT4/15/202311高校课件 很多操作系统之间最明显的区分特征之一是所运很多操作系统之间最明显的区分特征之一是所运用的存储管理方法不同。用的存储管理方法不同。主存储器管理技术分为两大类:主存储器管理技术分为两大类:实存储器管理和虚拟存储器管理。实存储器管理和虚拟存储器管理。本章探讨常用的几种实存储管理技术。下章将

8、探讨本章探讨常用的几种实存储管理技术。下章将探讨虚拟存储管理技术虚拟存储管理技术BACK 返回本节书目返回本节书目 NEXT4/15/202312高校课件实存储管理技术:实存储管理技术:分连续安排和离散安排。分连续安排和离散安排。连续安排又分:单一连续、固定分区、可变分区和动连续安排又分:单一连续、固定分区、可变分区和动态重定位可变分区。态重定位可变分区。离散安排分:分页、分段和段页式。离散安排分:分页、分段和段页式。虚拟存储管理技术:虚拟存储管理技术:恳求分页、恳求分段和段页虚拟式。恳求分页、恳求分段和段页虚拟式。对每一种管理方式从以下五个方面来理解并驾驭:安对每一种管理方式从以下五个方面来

9、理解并驾驭:安排、去配(释放或回收)、地址重定位、爱护(防止排、去配(释放或回收)、地址重定位、爱护(防止地址越界和限制正确存取)和共享。地址越界和限制正确存取)和共享。4/15/202313高校课件 整个计算机系统的功能很大程度上取决于主存储整个计算机系统的功能很大程度上取决于主存储器的结构组织和实现方法,就主存的功能而言,首先器的结构组织和实现方法,就主存的功能而言,首先是存放系统和用户程序的指令和数据,每一项信息都是存放系统和用户程序的指令和数据,每一项信息都存放在主存的特定位置上。存放在主存的特定位置上。BACK 返回本节书目返回本节书目 NEXT4/15/202314高校课件 信息在

10、主存是按信息在主存是按“位位”存放的。为了能对信息进存放的。为了能对信息进行访问,要对这些位置进行编号,这些编号称为地址。行访问,要对这些位置进行编号,这些编号称为地址。以什么为单位进行编址呢?早期的计算机中,存以什么为单位进行编址呢?早期的计算机中,存储器是按字组织,每个字安排一个地址。储器是按字组织,每个字安排一个地址。目前多数计算机以字节为单位进行编址。目前多数计算机以字节为单位进行编址。BACK 返回本节书目返回本节书目 NEXT4/15/202315高校课件 为了更多的存放并更快地处理用户信息,目前很为了更多的存放并更快地处理用户信息,目前很多计算机把存储器分为三级多计算机把存储器分

11、为三级(高速缓冲存储器、主存储高速缓冲存储器、主存储器和外部存储器器和外部存储器),用户的程序在运行时应存放在主存,用户的程序在运行时应存放在主存中。所以把那些不立刻运用的程序、数据放在外部存中。所以把那些不立刻运用的程序、数据放在外部存储器储器(又称次级存储又称次级存储)中。当用到时再把它们读入主存。中。当用到时再把它们读入主存。BACK 返回本节书目返回本节书目 NEXT4/15/202316高校课件主存储器管理中的探讨课题 单道程序阶段,人们探讨了覆盖技术来解决用户单道程序阶段,人们探讨了覆盖技术来解决用户作业空间大于实际的主存空间的冲突。作业空间大于实际的主存空间的冲突。多道程序系统出

12、现后,主存容量不足的冲突更为多道程序系统出现后,主存容量不足的冲突更为突出。由于多道程序共享主存,所以对主存的管理工突出。由于多道程序共享主存,所以对主存的管理工作又出现了如何在各程序间安排主存空间的问题。同作又出现了如何在各程序间安排主存空间的问题。同时还要考虑如何防止各程序有意无意地相互干扰和破时还要考虑如何防止各程序有意无意地相互干扰和破坏的问题。坏的问题。BACK 返回本节书目返回本节书目 NEXT4/15/202317高校课件 再者,程序是相对编址的可浮动的程序,这些程再者,程序是相对编址的可浮动的程序,这些程序被装入主存时就需重定位。序被装入主存时就需重定位。综上所述,目前关于主存

13、储器管理的主要探讨课综上所述,目前关于主存储器管理的主要探讨课题归纳为四个方面:题归纳为四个方面:BACK 返回本节书目返回本节书目 NEXT4/15/202318高校课件(1)主存安排:是存储管理探讨的主要内容。主存安排:是存储管理探讨的主要内容。本章将探讨各种主存安排算法,以及每种算本章将探讨各种主存安排算法,以及每种算法所要求的数据结构,但不涉及某个具体的存储法所要求的数据结构,但不涉及某个具体的存储管理系统的程序。管理系统的程序。读者只要驾驭了算法,了解其数据结构,就可读者只要驾驭了算法,了解其数据结构,就可以编写一个程序模块了。以编写一个程序模块了。BACK 返回本节书目返回本节书目

14、 NEXT4/15/202319高校课件(2)地址映象或重定位:主要探讨各种软件和硬件的地址地址映象或重定位:主要探讨各种软件和硬件的地址转换技术和机构。转换技术和机构。(3)存储爱护:探讨如何爱护各程序区中信息不被破坏和存储爱护:探讨如何爱护各程序区中信息不被破坏和偷窃。偷窃。BACK 返回本节书目返回本节书目 NEXT4/15/202320高校课件(4)存储器扩充:用存储管理软件来实现逻辑上的扩充存储器扩充:用存储管理软件来实现逻辑上的扩充-即所谓的虚拟存储技术。即所谓的虚拟存储技术。BACK 返回本节书目返回本节书目 NEXT4/15/202321高校课件 如何使一个用户程序到内存中去执

15、行,分如下几步:如何使一个用户程序到内存中去执行,分如下几步:(1)编译。编译。Compile:转换成机器指令,将符号地址转换:转换成机器指令,将符号地址转换为内存地址。为内存地址。(2)链接。链接。Link:将各模块中的相对地址统一转换成相对:将各模块中的相对地址统一转换成相对于该程序起址的位移。于该程序起址的位移。(3)装入。装入。Load 本节,简要地讲解并描述了程序的链接和装入过程。本节,简要地讲解并描述了程序的链接和装入过程。BACK 返回本节书目返回本节书目 NEXT4/15/202322高校课件库链接程序链接程序装入模块装入程序装入程序内存内存 第一步编译第一步编译其次步链接其次

16、步链接第三步装入第三步装入编编译译程程序序产产生生的的目目标标模模块块BACK 返回本节书目返回本节书目 NEXT4/15/202323高校课件5.1.1 程序的装入程序的装入单个目标模块,是如何装入内存的。三种方式:单个目标模块,是如何装入内存的。三种方式:(1)确定装入方式。程序中运用确定地址,只适用于单道程序环境。确定装入方式。程序中运用确定地址,只适用于单道程序环境。(2)可重定位方式。依据内存当时的实际运用状况,装入到内存的可重定位方式。依据内存当时的实际运用状况,装入到内存的适当位置适当位置(与目标模块中的地址不一样时,要进行转换与目标模块中的地址不一样时,要进行转换)。装入时。装

17、入时一次完成,又称静态重定位。不允许程序在运行时在内存中移动。一次完成,又称静态重定位。不允许程序在运行时在内存中移动。(3)动态运行时装入方式。装入内存后,并不马上转换地址。而是动态运行时装入方式。装入内存后,并不马上转换地址。而是到真正执行时才进行转换。须要重定位寄存器。到真正执行时才进行转换。须要重定位寄存器。BACK 返回本节书目返回本节书目 NEXT4/15/202324高校课件一、确定装入方式一、确定装入方式absolute loading modeP119二、可重定位装入方式二、可重定位装入方式relocatable loading modeBACK 返回本节书目返回本节书目 N

18、EXT4/15/202325高校课件 可重定位装入程序,依据内存的当前运用状可重定位装入程序,依据内存的当前运用状况,将程序装入到内存的某个位置,把有效地址况,将程序装入到内存的某个位置,把有效地址(相对地址相对地址)与本程序在内存中的起始地址相加,与本程序在内存中的起始地址相加,得到正确的物理地址。得到正确的物理地址。BACK 返回本节书目返回本节书目 NEXT4/15/202326高校课件 指令地址和数据地址同样都要进行修改,我们把指令地址和数据地址同样都要进行修改,我们把装入时对程序中的指令和数据地址进行装入时对程序中的指令和数据地址进行修改的过程称为重定位修改的过程称为重定位(即进行地

19、址转换即进行地址转换)。这种地址变换若只是在装入时一次完成的,称为这种地址变换若只是在装入时一次完成的,称为静态重定位(静态重定位(static relocating address)。用在早期的。用在早期的单用户单任务系统中。单用户单任务系统中。BACK 返回本节书目返回本节书目 NEXT4/15/202327高校课件三、动态运行时装入方式三、动态运行时装入方式 dynamic run-time loading 确定装入方式,只能将程序装入到内存中事先确定装入方式,只能将程序装入到内存中事先指定的地址。指定的地址。多道程序环境下,不行能事先知道每一道程序多道程序环境下,不行能事先知道每一道程

20、序在内存中的位置,该方式只适合于单道程序环境。在内存中的位置,该方式只适合于单道程序环境。BACK 返回本节书目返回本节书目 NEXT4/15/202328高校课件 可重定位装入方式,可将程序装入到内存中的任可重定位装入方式,可将程序装入到内存中的任何允许的地方,可用于多道程序环境,但它不允许程何允许的地方,可用于多道程序环境,但它不允许程序在运行时,在内存中移动。序在运行时,在内存中移动。因为,程序在内存中移动,要求相应地变更它们因为,程序在内存中移动,要求相应地变更它们的物理地址,必需对程序和数据的地址的物理地址,必需对程序和数据的地址(确定地址确定地址)进进行修改,才能正常运行。行修改,

21、才能正常运行。BACK 返回本节书目返回本节书目 NEXT4/15/202329高校课件 但在多进程并发运行中,程序在内存中的但在多进程并发运行中,程序在内存中的位置,须要常常进行变更。这种状况下,应接受位置,须要常常进行变更。这种状况下,应接受动态运行时装入方式。动态运行时装入方式。BACK 返回本节书目返回本节书目 NEXT4/15/202330高校课件 动态运行时的装入程序,将程序装入内存后,并动态运行时的装入程序,将程序装入内存后,并不马上把程序中的相对地址转换为确定地址,而是当不马上把程序中的相对地址转换为确定地址,而是当程序真正执行时才进行转换。这叫动态重定位程序真正执行时才进行转

22、换。这叫动态重定位(dynamic relocating address)。须要硬件支持。)。须要硬件支持。BACK 返回本节书目返回本节书目 NEXT4/15/202331高校课件5.1.2 程序的链接程序的链接 链接是将一组目标模块及它们所需的库函数,链接是将一组目标模块及它们所需的库函数,装配成一个装入模块。装配成一个装入模块。必需将目标模块中的相对地址和外部调用符号必需将目标模块中的相对地址和外部调用符号转换成装入模块中的统一的相对地址。转换成装入模块中的统一的相对地址。方法有三种:静态链接,装入时动态链接和运方法有三种:静态链接,装入时动态链接和运行时动态链接。行时动态链接。BACK

23、 返回本节书目返回本节书目 NEXT4/15/202332高校课件 静态链接:程序运行前链接成装配模块,以后不静态链接:程序运行前链接成装配模块,以后不再拆开。即事先进行链接。再拆开。即事先进行链接。装入时动态链接:目标模块在装入内存时,边装装入时动态链接:目标模块在装入内存时,边装入边链接。入边链接。运行时动态链接:程序执行中须要该模块时,才运行时动态链接:程序执行中须要该模块时,才对它进行链接。对它进行链接。4/15/202333高校课件一、静态链接一、静态链接 三个目标模块三个目标模块A、B、C,长度分别为,长度分别为L、M和和N,A中有语句中有语句Call B,B中有语句中有语句Cal

24、l C。B和和C都是外部调都是外部调用符号。用符号。P120 若将若将A、B、C链接装配成一个目标模块,应如下处理:链接装配成一个目标模块,应如下处理:BACK 返回本节书目返回本节书目 NEXT4/15/202334高校课件1、对相对地址进行修改、对相对地址进行修改 一般,由编译程序产生的目标模块,其起始地址一般,由编译程序产生的目标模块,其起始地址为为0(A的地址为的地址为0),每个模块中的地址是相对于,每个模块中的地址是相对于0的。的。链接成一个目标程序后,链接成一个目标程序后,B和和C的起始地址不再是的起始地址不再是0,而是,而是L和和L+M。须修改。须修改B和和C中的相对地址,即中的

25、相对地址,即B中中全部的相对地址加上全部的相对地址加上L,C中的全部相对地址加上中的全部相对地址加上L+M。BACK 返回本节书目返回本节书目 NEXT4/15/202335高校课件2、变换外部调用符号、变换外部调用符号 将每个模块中所用的外部调用符号,变换为相将每个模块中所用的外部调用符号,变换为相对地址。即把对地址。即把Call B中的中的B(起始地址起始地址)变换为变换为L,把,把Call C中的中的C变换为变换为L+M。BACK 返回本节书目返回本节书目 NEXTP1204/15/202336高校课件 先进行链接而形成的一个完整的装入模块,称为可先进行链接而形成的一个完整的装入模块,称

26、为可执行文件,一般不再拆开它,运行时干脆装入内存。执行文件,一般不再拆开它,运行时干脆装入内存。这种事先进行链接,以后不再拆开的链接方式,这种事先进行链接,以后不再拆开的链接方式,称为静态链接方式。称为静态链接方式。BACK 返回本节书目返回本节书目 NEXT4/15/202337高校课件二、装入时动态链接二、装入时动态链接 load-time dynamic linking是指,程序编译形成若干个目标模块,在是指,程序编译形成若干个目标模块,在装入内装入内存时,边装入边链接存时,边装入边链接。即在装入一个目标模块时,发。即在装入一个目标模块时,发生一个外部模块调用,将引起装入程序去找相应的外

27、生一个外部模块调用,将引起装入程序去找相应的外部目标模块,并将它装入内存。部目标模块,并将它装入内存。BACK 返回本节书目返回本节书目 NEXT4/15/202338高校课件 它的优点:它的优点:1、便于软件版本的修改和更新、便于软件版本的修改和更新 接受装入时动态链接方式,可比较简洁的修改接受装入时动态链接方式,可比较简洁的修改或更新各个目标模块,而静态链接方式下,形成的或更新各个目标模块,而静态链接方式下,形成的装入模块,要重新打开装入模块来修改,一般是不装入模块,要重新打开装入模块来修改,一般是不行能的。行能的。BACK 返回本节书目返回本节书目 NEXT4/15/202339高校课件

28、2、便于实现目标模块共享、便于实现目标模块共享 接受装入时动态链接的方式,一个目标模块可链接受装入时动态链接的方式,一个目标模块可链接到几个应用模块。接到几个应用模块。而接受静态链接方式,每个应用模块都必需含有而接受静态链接方式,每个应用模块都必需含有该目标模块的拷贝。该目标模块的拷贝。BACK 返回本节书目返回本节书目 NEXT4/15/202340高校课件三、运行时动态链接三、运行时动态链接 run-time dynamic linking动态装入方式,可将一个程序装入到内存的任何动态装入方式,可将一个程序装入到内存的任何位置,但装入模块的结构是静态的。表现在:位置,但装入模块的结构是静态

29、的。表现在:一是在进程一是在进程(程序程序)的整个运行期间,装入模块是的整个运行期间,装入模块是不变更的,不变更的,再者,每次运行时的装入模块是相同的。再者,每次运行时的装入模块是相同的。BACK 返回本节书目返回本节书目 NEXT4/15/202341高校课件 事实上,每次要运行的模块可能是不相同的,但事实上,每次要运行的模块可能是不相同的,但事先无法知道本次要运行哪些模块,只能把全部可能事先无法知道本次要运行哪些模块,只能把全部可能要运行的模块,装入时全部链接在一起,每次执行时要运行的模块,装入时全部链接在一起,每次执行时的装入模块是相同的。这种方式是低效的。的装入模块是相同的。这种方式是

30、低效的。如:错误处理模块,若在程序整个运行期间,始如:错误处理模块,若在程序整个运行期间,始终不出现错误,便不会用到该模块。终不出现错误,便不会用到该模块。BACK 返回本节书目返回本节书目 NEXT4/15/202342高校课件 为避开上述状况,出现了运行时动态链接方式,该为避开上述状况,出现了运行时动态链接方式,该方式将某些目标模块的链接,延迟到执行时再进行。方式将某些目标模块的链接,延迟到执行时再进行。即在执行过程中,发觉一个被调用模块尚未装入即在执行过程中,发觉一个被调用模块尚未装入内存中时,由内存中时,由OS找到该模块,装入内存,并链接到调找到该模块,装入内存,并链接到调用者模块上。

31、用者模块上。BACK 返回本节书目返回本节书目 NEXT4/15/202343高校课件5.2.1 单一连续安排单一连续安排5.2.2 固定分区安排固定分区安排 一、划分分区的方法一、划分分区的方法 二二、内存安排、内存安排5.2.3 动态分区安排动态分区安排 一、分区安排中的数据结构一、分区安排中的数据结构 二、分区安排算法二、分区安排算法 三、分区安排操作三、分区安排操作5.2.4 动态重定位分区安排动态重定位分区安排 一、紧凑一、紧凑 二、动态重定位二、动态重定位 三、动态重定位分区安排算法三、动态重定位分区安排算法返回本章书目4/15/202344高校课件 连续安排是指程序在内存中要占一

32、个连续的内存连续安排是指程序在内存中要占一个连续的内存空间。两种方式:空间。两种方式:1、单一连续安排方式、单一连续安排方式 单道环境中,内存分为系统区和用户区。适于单单道环境中,内存分为系统区和用户区。适于单用户、单任务用户、单任务OS中。中。BACK 返回本节书目返回本节书目 NEXT4/15/202345高校课件2、分区式安排方式进一步分为:、分区式安排方式进一步分为:(1)固定分区式。固定分区式。(2)动态分区,又称可变分区。动态分区,又称可变分区。分区式要求将一个用户程序安分区式要求将一个用户程序安排到一个连续的内存空间中,可能排到一个连续的内存空间中,可能会产生一些不行利用的内存零

33、头会产生一些不行利用的内存零头(碎碎片片)。BACK 返回本节书目返回本节书目 NEXT4/15/202346高校课件5.2.1 单一连续安排单一连续安排 接受这种存储管理方式,内存分为两个分区:接受这种存储管理方式,内存分为两个分区:(1)系统区。低址部分,驻留系统区。低址部分,驻留OS。BACK 返回本节书目返回本节书目 NEXT4/15/202347高校课件(2)用户区。系统区以外的全部内存空间,供应应用户用用户区。系统区以外的全部内存空间,供应应用户用的。的。为防止为防止OS受到用户程序的破坏,设置一个爱护机受到用户程序的破坏,设置一个爱护机构。基址寄存器和界限寄存器,存放该程序的逻辑

34、构。基址寄存器和界限寄存器,存放该程序的逻辑地址范围,以此来实现数据爱护。地址范围,以此来实现数据爱护。BACK 返回本节书目返回本节书目 NEXT4/15/202348高校课件BACK 返回本节书目返回本节书目 NEXT用户程序用户程序位于位于RAM中中的操作系统的操作系统位于位于ROM中的操作中的操作系统系统用户程序用户程序早期的大型机早期的大型机和小型机,现和小型机,现在很少用了在很少用了掌上计算机和掌上计算机和 嵌嵌入式系统入式系统位于位于ROM中的中的设备驱动程序设备驱动程序(bios)用户程序用户程序位于位于RAM中的中的操作系统操作系统早期的个人计算机早期的个人计算机MSDOS4

35、/15/202349高校课件5.2.2 固定分区安排固定分区安排(fixed partition,定长分区或静态,定长分区或静态分区分区)固定分区式安排,最早用于多道程序环境的存储固定分区式安排,最早用于多道程序环境的存储管理方式管理方式(60年头的年头的IBM-360的的MFT系统中系统中),它将内,它将内存空间划分为若干个固定大小的区域,每个分区中可存空间划分为若干个固定大小的区域,每个分区中可装入一道作业。装入一道作业。BACK 返回本节书目返回本节书目 NEXT4/15/202350高校课件一、划分分区的方法一、划分分区的方法1、分区大小相等、分区大小相等 缺点:碎片缺点:碎片,(ho

36、le,空洞)或称零头。,空洞)或称零头。该方式,主要用于利用一台计算机去限制多个相该方式,主要用于利用一台计算机去限制多个相同对象同对象(所需的内存空间大小相等所需的内存空间大小相等)的场合。的场合。BACK 返回本节书目返回本节书目 NEXT4/15/202351高校课件2、分区大小不等、分区大小不等 在内存中划分多个较小的分区、适量的中等分区在内存中划分多个较小的分区、适量的中等分区和少量的大分区。和少量的大分区。系统初次启动时,系统操作员依据当天的作业状系统初次启动时,系统操作员依据当天的作业状况把主存储器划分成大小不等但数目固定的分区。况把主存储器划分成大小不等但数目固定的分区。BAC

37、K 返回本节书目返回本节书目 NEXT4/15/202352高校课件二、内存安排二、内存安排 实现内存安排,由小到大建立一张分区运用表(主存安排表)。实现内存安排,由小到大建立一张分区运用表(主存安排表)。每个分区要登记一个表项,包含分区的起始地址、大小及状态每个分区要登记一个表项,包含分区的起始地址、大小及状态(是否已安排是否已安排)。BACK 返回本节书目返回本节书目 NEXT4/15/202353高校课件固定分区存储管理的主存安排表固定分区存储管理的主存安排表分区号分区号起始地起始地址址长度长度占用标占用标志志18KB8KB0216KB16KBJob1332KB16KB0448KB16K

38、B0564KB32KBJob2696KB32KB04/15/202354高校课件由内存安排程序检索该表,找出一个满足要求的、由内存安排程序检索该表,找出一个满足要求的、尚未安排的分区,将它安排该程序。尚未安排的分区,将它安排该程序。修改分区运用表中该分区表项中的状态,若找不修改分区运用表中该分区表项中的状态,若找不到大小足够的分区,则拒绝为该用户程序安排内存。到大小足够的分区,则拒绝为该用户程序安排内存。BACK 返回本节书目返回本节书目 NEXT4/15/202355高校课件分区号分区号大小大小(KB)始址始址(K)状态状态11530已分配已分配23045已分配已分配35075已分配已分配4

39、100125未分配未分配操作系统操作系统作业作业A作业作业B作业作业C0304575125225固定分区安排表固定分区安排表A:B:C=15:30:50A:B:C=15:30:50(a)分区说明表分区说明表(b)(b)存储空间安排状况存储空间安排状况BACK 返回本节书目返回本节书目 NEXT4/15/202356高校课件固定分区的缺点无法装入大作业,覆盖技术无法装入大作业,覆盖技术有碎片有碎片4/15/202357高校课件*数据库*在多道固定分区状况下,操作系统的存储安排在多道固定分区状况下,操作系统的存储安排模块和存储释放模块都要用到关于主存分区状况的模块和存储释放模块都要用到关于主存分区

40、状况的说明信息,以及这些存储区的运用状况信息说明信息,以及这些存储区的运用状况信息-即即存储管理的数据库,常被称为存储分块表,其中包存储管理的数据库,常被称为存储分块表,其中包含三项信息:含三项信息:BACK 返回本节书目返回本节书目 NEXT4/15/202358高校课件(1)大小:是指该存储块的大小,以字节为单位。大小:是指该存储块的大小,以字节为单位。(2)位置:指该存储块在主存中的起始地址。位置:指该存储块在主存中的起始地址。(3)状态:表明该存储块是否已被运用。状态:表明该存储块是否已被运用。还有一项信息还有一项信息“区号区号”,起存储键作用,未包含,起存储键作用,未包含在表格中。在

41、表格中。BACK 返回本节书目返回本节书目 NEXT4/15/202359高校课件 存储分块表是存储安排和释放这两个模块的数存储分块表是存储安排和释放这两个模块的数据库。在程序中这个表用相应语言的数据类型来表据库。在程序中这个表用相应语言的数据类型来表示。在示。在Pascal中用一维数组表示,数组元素是记录中用一维数组表示,数组元素是记录结构,数组下标是分区的序号。描述如下:结构,数组下标是分区的序号。描述如下:BACK 返回本节书目返回本节书目 NEXT4/15/202360高校课件 type N:integer;Entry=record size:integer;location:inte

42、ger;status:boolean;end var MBT:array1.N of Entry;BACK 返回本节书目返回本节书目 NEXT4/15/202361高校课件 固定分区的存储安排算法和可变分区的安排算固定分区的存储安排算法和可变分区的安排算法是一样,所运用的安排算法要求法是一样,所运用的安排算法要求 是查表时间要短,是查表时间要短,且分区内的碎片奢侈要最少。最好是最佳适应法和且分区内的碎片奢侈要最少。最好是最佳适应法和最先适应安排算法的结合。最先适应安排算法的结合。MBT中的各分区按分区中的各分区按分区大小排序,最小分区在表头。大小排序,最小分区在表头。BACK 返回本节书目返回

43、本节书目 NEXT4/15/202362高校课件5.2.3 动态分区安排(可变分区安排动态分区安排(可变分区安排variable partition)依据进程的实际须要,动态地为之安排连续的内依据进程的实际须要,动态地为之安排连续的内存空间。要解决如下问题:存空间。要解决如下问题:(1)分区安排中所用的数据结构分区安排中所用的数据结构(2)分区的安排算法分区的安排算法(3)分区的安排和回收操作分区的安排和回收操作BACK 返回本节书目返回本节书目 NEXT4/15/202363高校课件一、分区安排中的数据结构一、分区安排中的数据结构记录内存的运用状况,已安排区表和记录内存的运用状况,已安排区表

44、和未安排区表,形式:未安排区表,形式:1、空闲分区表可用表、空闲分区表可用表为内存中每个尚未安排出去的分区为内存中每个尚未安排出去的分区登记一个表项,每个分区的表项包含分登记一个表项,每个分区的表项包含分区序号、分区始址、分区大小及状态等区序号、分区始址、分区大小及状态等信息。信息。缺点:表格自身要占用空间。缺点:表格自身要占用空间。BACK 返回本节书目返回本节书目 NEXT4/15/202364高校课件2、空闲分区、空闲分区(双向双向)链链-自由链自由链-自由主存队列自由主存队列在每个分区的起始部分,设置一些用于限制分区在每个分区的起始部分,设置一些用于限制分区安排的信息,及通过,前、后向

45、指针将全部的分区链安排的信息,及通过,前、后向指针将全部的分区链接成一个双向链。接成一个双向链。若某一分区被安排出去后,应把状态位由若某一分区被安排出去后,应把状态位由0改为改为1,此时,前、后向指针失去意义。,此时,前、后向指针失去意义。BACK 返回本节书目返回本节书目 NEXT4/15/202365高校课件序号序号分区大小分区大小(KB)分区始址分区始址(K)状态状态16444可用可用224132可用可用340210可用可用430270可用可用5空闲分区表空闲分区表空闲分区链空闲分区链BACK 返回本节书目返回本节书目 NEXT4/15/202366高校课件二、分区安排算法二、分区安排算

46、法 从空闲分区表或空闲分区链中,选择一个分区安从空闲分区表或空闲分区链中,选择一个分区安排给作业的算法。排给作业的算法。1、首次适应算法、首次适应算法FF 最先适应算法最先适应算法First Fit 以空闲分区链为例,以空闲分区链为例,FF要求空闲分区链以地址递要求空闲分区链以地址递增的次序链接。增的次序链接。BACK 返回本节书目返回本节书目 NEXT4/15/202367高校课件 该算法,优先利用内存中低址部分的空闲分区,该算法,优先利用内存中低址部分的空闲分区,在高址部分的空闲分区很少被利用,保留了高址部分在高址部分的空闲分区很少被利用,保留了高址部分的大空闲区。为以后到达的大作业安排大

47、的内存空间的大空闲区。为以后到达的大作业安排大的内存空间创建了条件。创建了条件。BACK 返回本节书目返回本节书目 NEXT4/15/202368高校课件 缺点,缺点,是低址部分不断被划分,会留下很多碎片,是低址部分不断被划分,会留下很多碎片,每次查找又都从低址部分起先,增加了查找的时间开每次查找又都从低址部分起先,增加了查找的时间开销销BACK 返回本节书目返回本节书目 NEXT4/15/202369高校课件2、循环首次适应算法、循环首次适应算法(next fit,NF)下次适配算法下次适配算法该算法为进程安排内存空间时,从上次找到的空该算法为进程安排内存空间时,从上次找到的空闲分区的下一个

48、空闲分区起先查找,直至找到第一个闲分区的下一个空闲分区起先查找,直至找到第一个满足要求的空闲分区,并从中划出一块与恳求的大小满足要求的空闲分区,并从中划出一块与恳求的大小相等的内存空间安排给作业。相等的内存空间安排给作业。BACK 返回本节书目返回本节书目 NEXT4/15/202370高校课件需设置一个起始查寻指针,以指示下一次起先查需设置一个起始查寻指针,以指示下一次起先查寻的空闲分区,并接受循环查找方式。即若最终一个寻的空闲分区,并接受循环查找方式。即若最终一个(链尾链尾)空闲分区,其大小不能满足要求时,返回到第空闲分区,其大小不能满足要求时,返回到第一个空闲分区,从头起先查寻,找到所需

49、分区后,要一个空闲分区,从头起先查寻,找到所需分区后,要相应调整起始查寻指针。相应调整起始查寻指针。BACK 返回本节书目返回本节书目 NEXT4/15/202371高校课件 该算法,能使内存中的空闲分区更匀整,削减了查该算法,能使内存中的空闲分区更匀整,削减了查找的开销,但不利于大作业的调入。找的开销,但不利于大作业的调入。Bays(1977)的仿真程序证明下次适配算法的性能略低于首的仿真程序证明下次适配算法的性能略低于首次适配算法。次适配算法。BACK 返回本节书目返回本节书目 NEXT4/15/202372高校课件3、最佳适应算法、最佳适应算法(best fit,BF)全部的空闲分区,按

50、大小递增的依次形成空闲分区链。全部的空闲分区,按大小递增的依次形成空闲分区链。缺点是,碎片会更小。缺点是,碎片会更小。4、最坏适应算法、最坏适应算法(worst fit,WF)空闲分区按大小递减的次序排列。空闲分区按大小递减的次序排列。BACK 返回本节书目返回本节书目 NEXT4/15/202373高校课件 特点:特点:总选择满足作业要求的最大的分区安排给作业,总选择满足作业要求的最大的分区安排给作业,使剩下的部分也比较大,可接着运用。使剩下的部分也比较大,可接着运用。缺点:缺点:当再有大作业时,可能得不到满足。当再有大作业时,可能得不到满足。BACK 返回本节书目返回本节书目 NEXT4/

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

当前位置:首页 > pptx模板 > 商业计划书

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

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