版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 主存储器是仅次于CPU的宝贵资源。 众多进程共用一个存储器,必然涉及到存储器的分配、安全、利用率、共享以及扩展等诸多问题(wnt)。 存储管理需要做的事情是: 将用户程序所用的地址空间转换为主存储器中的实际地址空间,将用户程序的操作地址变换为存储器上的具体位置。 为存储空间提供安全和共享的手段。 为用户程序实现虚拟存储空间等。第1页/共100页第一页,共101页。概述(i sh) DOS分区(fn q)及分段 Windows XP的存储器 Linux存储管理 实用系统实用系统(xtng)中的存储管理方法中的存储管理方法第2页/共100页第二页,共101页。DOS分区(fn q)及分段 主存储
2、器被限制为主存储器被限制为1MB的内存空间。的内存空间。 低端的低端的640KB的基的基本内存。本内存。高端的扩展内存。高端的扩展内存。 系统启动后将操作系系统启动后将操作系统调入基本内存的低端统调入基本内存的低端位置,大概位置,大概(dgi)占几占几十十KB的空间。的空间。 基本内存的剩余部分便基本内存的剩余部分便是是(bin sh)用来存放用用来存放用户程序的用户区。户程序的用户区。在在DOS发展的后期,已发展的后期,已经可以利用扩展内存来经可以利用扩展内存来存放系统的数据结构、存放系统的数据结构、驱动程序以及某些库文驱动程序以及某些库文件等内容,但用户不能件等内容,但用户不能对扩展存储器
3、中的内容对扩展存储器中的内容进行修改。进行修改。 程序和数据不能突程序和数据不能突破基本内存的限制,因破基本内存的限制,因此,用户程序的大小必此,用户程序的大小必须低于须低于640KB。 用户区内只能存放用户区内只能存放一个用户程序,因此,一个用户程序,因此,DOS系统只支持单道程系统只支持单道程序。序。 第3页/共100页第三页,共101页。Windows xp的存储器 Windows xp要求存储器最低为要求存储器最低为64MB。内存被划分为大小为内存被划分为大小为4KB的页面。内存中可以存放多个用户任务的页面。内存中可以存放多个用户任务的页面,因此,的页面,因此,Windows支持多任务
4、同时运行。支持多任务同时运行。用户在编制程序时,其大小最高可达用户在编制程序时,其大小最高可达4GB,但在程序运行时,并,但在程序运行时,并不是全部程序都装入内存,而是只装入程序的部分页面来运行。不是全部程序都装入内存,而是只装入程序的部分页面来运行。当需要装入新的程序页面而内存中又没有足够当需要装入新的程序页面而内存中又没有足够(zgu)的空闲区域的空闲区域时,操作系统将内存中长期未使用的页面换出到辅助存储器上早时,操作系统将内存中长期未使用的页面换出到辅助存储器上早已安排的页面(已安排的页面(paging file)文件中,腾出空间后再将需要换进的)文件中,腾出空间后再将需要换进的页面调入
5、。页面调入。Windows 支持虚拟存储器。支持虚拟存储器。 第4页/共100页第四页,共101页。Windows xp的存储器 页页面面(y min)在在内内存存中中换换出出换换进进 Page Faults/sec 是每秒钟发是每秒钟发生页面生页面(y min)缺失的平均缺失的平均数量。页面数量。页面(y min)缺失将缺失将直接导致页面直接导致页面(y min)换进。换进。 Pages Input/sec 是从磁盘换是从磁盘换进页面的速度。进页面的速度。当一个进程当一个进程(jnchng)引用引用一个虚拟内存的页面,而此一个虚拟内存的页面,而此页面不存在于内存,就会发页面不存在于内存,就会
6、发生页面缺失。生页面缺失。 Pages Output/sec 是指为是指为了释放物理内存空间而了释放物理内存空间而将页面写入磁盘的速度。将页面写入磁盘的速度。当 物 理 内 存 不 足 时 ,当 物 理 内 存 不 足 时 ,Windows 会将页面写回会将页面写回到磁盘以便释放空间。到磁盘以便释放空间。 出页的峰值往往与进页出页的峰值往往与进页峰值接近。峰值接近。说明出页多是因为有进页说明出页多是因为有进页需求,即只有当内存中没需求,即只有当内存中没有可分配空间,同时又必有可分配空间,同时又必须调入内存新的页面时,须调入内存新的页面时,才需要换出页面。才需要换出页面。 第5页/共100页第五
7、页,共101页。Windows xp的存储器 可可用用物物理理(wl)内内存存Available MBytes 是计是计算机上运行的进程的可算机上运行的进程的可用物理内存用物理内存(ni cn)大大小。它是将零的、空闲小。它是将零的、空闲的和备用内存的和备用内存(ni cn)列表的空间添加在一起列表的空间添加在一起来计算的。来计算的。 第6页/共100页第六页,共101页。Linux存储管理 Linux系统也是将存储器空间划分成页面,根据进程运系统也是将存储器空间划分成页面,根据进程运行时的需要来对页面进行换进、换出的。行时的需要来对页面进行换进、换出的。 同样在磁盘上也安排了交换区来与内存协
8、调工作,以达同样在磁盘上也安排了交换区来与内存协调工作,以达到扩大内存的目的。到扩大内存的目的。 但是但是Linux系统的交换区多采用在硬盘上划分出一个指系统的交换区多采用在硬盘上划分出一个指定区域来作为交换区,因此定区域来作为交换区,因此(ync),交换区的大小不可变化。,交换区的大小不可变化。第7页/共100页第七页,共101页。4.1 内存(ni cn)管理功能 用户实体与存储空间 分配(fnpi)、释放及分配(fnpi)原则 地址映射 虚拟存储器 存储保护与共享 存储区整理 第8页/共100页第八页,共101页。用户实体(sht)与存储器的关系n任务在被激活之前存放在辅助存储器上。任务
9、在被激活之前存放在辅助存储器上。n当任务被激活时,它成为进程进入主存储器。当任务被激活时,它成为进程进入主存储器。n进程的描述部分及主程序部分始终存放于主存储器,其进程的描述部分及主程序部分始终存放于主存储器,其他程序和数据部分视需要由操作系统在内存他程序和数据部分视需要由操作系统在内存(ni cn)与外与外存之间交换。存之间交换。n当用户向计算机提交自己的任务时,存储管理是以一种当用户向计算机提交自己的任务时,存储管理是以一种逻辑形式来进行描述。逻辑形式来进行描述。n而当操作系统处理用户的任务时,是对具体的存储器地而当操作系统处理用户的任务时,是对具体的存储器地址进行操作。址进行操作。n存储
10、管理的工作就是圆满地处理发生在衔接逻辑和物理存储管理的工作就是圆满地处理发生在衔接逻辑和物理存储时所产生的各种问题。存储时所产生的各种问题。第9页/共100页第九页,共101页。存储(cn ch)空间与存储(cn ch)地址概念(ginin):逻辑地址逻辑地址空间物理地址物理地址空间用户的每一条程序指令要访问的数据都用户的每一条程序指令要访问的数据都有一个对应的地址,这个地址被称为有一个对应的地址,这个地址被称为逻逻辑地址辑地址。由于它是相对于由于它是相对于0的地址,因此又被称的地址,因此又被称为为相对地址相对地址。当用户程序被编译为当用户程序被编译为目标代码目标代码时也使用时也使用的是相对地
11、址。的是相对地址。原则上讲,因此用户可以无限制地加长原则上讲,因此用户可以无限制地加长自己的程序。自己的程序。在具体应用中在具体应用中相对地址的大小受相对地相对地址的大小受相对地址寄存器位数的限制址寄存器位数的限制,如在,如在Windows 中中相对地址寄存器为相对地址寄存器为32位,表示相对地址位,表示相对地址最大可达最大可达4GB。逻辑地址空间可以逻辑地址空间可以定义定义为:实体(用户、为:实体(用户、作业、任务、进程或程序)所用的所有作业、任务、进程或程序)所用的所有逻辑地址的集合逻辑地址的集合。不同的操作系统赋予逻辑地址空间不同不同的操作系统赋予逻辑地址空间不同的表现形式,它的大小也是
12、可以确定的。的表现形式,它的大小也是可以确定的。用户可以直接对逻辑地址和逻辑地址空用户可以直接对逻辑地址和逻辑地址空间进行访问和操作间进行访问和操作。逻辑地址空间又称为逻辑地址空间又称为相对地址空间相对地址空间,有,有时候也被简称为用户空间或者作业空间。时候也被简称为用户空间或者作业空间。逻辑地址空间的大小被限制在逻辑地址空间的大小被限制在0到相对到相对地址最大值之间。地址最大值之间。内存中的实际地址被称为物理地址。内存中的实际地址被称为物理地址。由于它并不和任何相对地址相关,因由于它并不和任何相对地址相关,因此,物理地址又称为绝对地址。此,物理地址又称为绝对地址。物理地址的最小值为物理地址的
13、最小值为0,最大值取决,最大值取决于内存的大小和内存地址寄存器的所于内存的大小和内存地址寄存器的所能表现的最大值,二者中较小的那一能表现的最大值,二者中较小的那一个值为物理地址的最大值。个值为物理地址的最大值。 物理地址空间可以定义为:当逻辑地物理地址空间可以定义为:当逻辑地址空间址空间被映射到内存被映射到内存时所对应的物理时所对应的物理地址的集合。地址的集合。物理地址空间又称为物理地址空间又称为绝对地址空间绝对地址空间。物理地址空间并不是指物理内存,只物理地址空间并不是指物理内存,只有当逻辑地址空间存在时,才会有物有当逻辑地址空间存在时,才会有物理地址空间。理地址空间。物理地址空间受存储器大
14、小的限制,物理地址空间受存储器大小的限制,也就是说物理地址空间最大只能达到也就是说物理地址空间最大只能达到内存的大小。内存的大小。第10页/共100页第十页,共101页。一、地址(dzh)重定位装入后的作业并不能立即运行,因为装入后的作业并不能立即运行,因为作业中每一个指令要访问作业中每一个指令要访问(fngwn)的的地址依然是相对地址,相对地址是逻地址依然是相对地址,相对地址是逻辑地址空间中的地址,并不是内存中辑地址空间中的地址,并不是内存中的 实 际 地 址 , 因 此 不 能 够 访 问的 实 际 地 址 , 因 此 不 能 够 访 问(fngwn)。 装入是指将逻辑地址空间安装入是指将
15、逻辑地址空间安排到内存中具体的物理位置上。排到内存中具体的物理位置上。 装入针对的是整个逻辑地址空装入针对的是整个逻辑地址空间。间。1.装入装入2.地址映射地址映射对于指令要访问的地址进行相对对于指令要访问的地址进行相对地址到绝对地址的变换,就是地地址到绝对地址的变换,就是地址映射。址映射。地址映射就是将逻辑地址空间中地址映射就是将逻辑地址空间中的地址映射到物理地址空间中去。的地址映射到物理地址空间中去。采用的办法为重定位。采用的办法为重定位。 1.装入程装入程序序(chngx) 在装入过程完成后,根据装入的起始位在装入过程完成后,根据装入的起始位置来修改程序中指令要访问的地址,将置来修改程序
16、中指令要访问的地址,将相对地址改为绝对地址就是重定位。相对地址改为绝对地址就是重定位。绝对地址绝对地址 (BR)相对地址)相对地址 根据不同的根据不同的地址修改时间地址修改时间可可将重定位划分为将重定位划分为静态静态重定位和重定位和动态动态重定位。重定位。第11页/共100页第十一页,共101页。2.重定位:重定位:静态静态(jngti)重重定位定位动态重定位动态重定位 mov AL, nn mov AL, nn+m 逻辑空间 0 内存 m nn L nn+m L+m 静态重定位是在装入过程完成后在静态重定位是在装入过程完成后在程序运行程序运行前前,一次一次将所有的指令要访问的地址全部修改将所
17、有的指令要访问的地址全部修改为绝对地址,在程序运行过程中不再修改。为绝对地址,在程序运行过程中不再修改。静态重定位要求程序一旦装入其静态重定位要求程序一旦装入其绝对地址空间绝对地址空间就就不能发生变化不能发生变化了。了。 mov AL, nn m nn+m nn + mov AL, nn m L+m 0 L nn 逻辑空间 L 基址寄存器 L 地址寄存器 内存 L 动态重定位是在程序的动态重定位是在程序的运行过程运行过程中,当指令需中,当指令需要执行时对将要访问的要执行时对将要访问的地址地址进行进行修改修改。 动态重定位动态重定位允许允许在在程序运行过程程序运行过程中,其中,其绝对地绝对地址址
18、空间发生变化或被分割为不同的区域,空间发生变化或被分割为不同的区域,变化变化后后只需要将基地址寄存器中的内容作对应修改。只需要将基地址寄存器中的内容作对应修改。 采用静态重定位方式的主要优点是:采用静态重定位方式的主要优点是:(1)可以在一般机器上全部用软件实现。)可以在一般机器上全部用软件实现。(2)装入程序可以实现静态连接。)装入程序可以实现静态连接。静态重定位方式主要缺点是:静态重定位方式主要缺点是:(1)执行期间程序不能在主存储器中移动,所以)执行期间程序不能在主存储器中移动,所以对提高主存储器的利用率不利。对提高主存储器的利用率不利。(2)若程序空间大于被分配的物理空间,由程序)若程
19、序空间大于被分配的物理空间,由程序员自行采取某种手段员自行采取某种手段(shudun)来空间不足问题,来空间不足问题,如采用覆盖结构。如采用覆盖结构。(3)用户不能共享已经存放在主存中的同一个程)用户不能共享已经存放在主存中的同一个程序,如果几个用户要使用同一个程序,则每个用户序,如果几个用户要使用同一个程序,则每个用户必须在各自的主存空间中存放一个程序副本。必须在各自的主存空间中存放一个程序副本。 采用动态重定位方式的主要优点有:采用动态重定位方式的主要优点有:(1)在程序开始执行之前,不一定要把整个)在程序开始执行之前,不一定要把整个程序都调入到主存中。一个程序可以被分配在程序都调入到主存
20、中。一个程序可以被分配在多个不连续的主存物理空间内,以提高多个不连续的主存物理空间内,以提高(t go)主存储器的利用率。主存储器的利用率。(2)几个程序可以共享存放在主存中的同一)几个程序可以共享存放在主存中的同一个程序段。个程序段。(3)支持虚拟存储器。)支持虚拟存储器。动态重定位方式的主要缺点有:动态重定位方式的主要缺点有:(1)需要有硬件支持。)需要有硬件支持。(2)实现存储管理的软件算法比较复杂。)实现存储管理的软件算法比较复杂。第12页/共100页第十二页,共101页。二、 内存(ni cn)分配与回收 1.存储分配存储分配(fnpi) 2.存储释放存储释放 3.分配分配(fnpi
21、)原则原则 在设计分配程序时需要考虑诸多因素:(1)内存空间的划分(2)数据结构的确定 (3)作业空间的划分(4)淘汰算法(sun f) (5)分配算法(sun f) 存储分配实际上是将作存储分配实际上是将作业的逻辑地址空间映射成业的逻辑地址空间映射成为内存中的物理地址空间。为内存中的物理地址空间。 内存中有许多尚未使用内存中有许多尚未使用的区域即自由区都可以被的区域即自由区都可以被分配,但到底选择哪一自分配,但到底选择哪一自由区必须依据分配算法来由区必须依据分配算法来确定。确定。 存储释放实际上是解除逻存储释放实际上是解除逻辑地址空间与物理地址空间辑地址空间与物理地址空间的联系,并释放物理空
22、间。的联系,并释放物理空间。 存储释放程序将回收的存储释放程序将回收的内存区域重新设定为自由内存区域重新设定为自由区,并将其安排进入自由区,并将其安排进入自由区队列。进入自由区队列区队列。进入自由区队列的具体位置也必须依据分的具体位置也必须依据分配算法。配算法。 第13页/共100页第十三页,共101页。三、 存储保护与共享 存储保护就是要保护进程的数据不被非法访问者破坏(phui)。 (1)界地址寄存器保护法(2)访问授权保护第14页/共100页第十四页,共101页。 (1)界地址寄存器保护法 采用硬件(yn jin):基地址寄存器BR长度寄存器LR 采用软件: 当进程之间需要共享当进程之间
23、需要共享某些数据时,使用界地址某些数据时,使用界地址寄存器就表现得无能为力。寄存器就表现得无能为力。 第15页/共100页第十五页,共101页。 (2)访问(fngwn)授权保护当进程访问某个区域时,若进程的访问权限当进程访问某个区域时,若进程的访问权限(qunxin)大于等于被访问区域的权限大于等于被访问区域的权限(qunxin)值,访问可以进值,访问可以进行,否则视为非法。行,否则视为非法。系统为每一个存储系统为每一个存储(cn ch)区域都给定一个访问权限值区域都给定一个访问权限值。同时也为每一个同时也为每一个进程进程赋予一个赋予一个访问权限值访问权限值。 一个进程可以对不同存储区域有一
24、个进程可以对不同存储区域有不同的访问权限;不同的访问权限; 一个存储区域也可以被多个具有一个存储区域也可以被多个具有不同访问权限的进程按权限级别进不同访问权限的进程按权限级别进行访问。行访问。 访问授权保护还有一个好处是它访问授权保护还有一个好处是它允许存储区域的共享。允许存储区域的共享。 第16页/共100页第十六页,共101页。四、 虚拟存储器 (1)实际内存空间实际内存空间 (2)辅助存储器上的内存交换辅助存储器上的内存交换(jiohun)区区 (3)虚拟地址虚拟地址 (4)换进、换出机制换进、换出机制 虚拟存储器是将内存进行虚拟,使用户能使用比实际内存大得多的虚拟空间。 要实现虚拟内存
25、必须具备(jbi)如下条件: 目前目前的操作系的操作系统几乎全统几乎全部具备虚部具备虚拟存储器拟存储器功能功能(gngnng),虽然,虽然不同的系不同的系统其实现统其实现虚拟存储虚拟存储器的基本器的基本条件都相条件都相似,但在似,但在数据的换数据的换进、换出进、换出策略上是策略上是可以不同可以不同的。的。 第17页/共100页第十七页,共101页。存储(cn ch)区整理 当系统运行一段时间后,可能出现如下问题:产生许多碎片;进程过分分散存储;换进、换出的次数(csh)过多,导致系统运行缓慢;不断“内存空间不够”。存储区需要整理。第18页/共100页第十八页,共101页。 存储器的整理方法:(
26、1)定期将内存中的碎片合并;(2)将某些进程的分散存储区域移动到一起。 经过整理后 系统中有更大的自由(zyu)分区,提高存储管理的效率;在整理时中断所有进程,并且需要消耗较多的CPU时间。第19页/共100页第十九页,共101页。4.2 分区(fn q)管理 单一分区分配方式多重固定(gdng)分区分配方式多重动态分区分配方式伙伴系统 第20页/共100页第二十页,共101页。一、单一连续(linx)分配方式 1.原理(yunl) 连续的用户逻辑地址空间,经过装入程序直接装入分区的低地址部分的单一的连续的区域。第21页/共100页第二十一页,共101页。2.分配(fnpi)与释放 第22页/
27、共100页第二十二页,共101页。3.地址映射 采用静态重定位的方式在作业装入时一次采用静态重定位的方式在作业装入时一次性对所有指令将要访问的地址进行修改。性对所有指令将要访问的地址进行修改。 由于作业的物理地址空间不会发生变化,由于作业的物理地址空间不会发生变化,因此,单一连续分区因此,单一连续分区(fn q)(fn q)不适合使用动不适合使用动态重定位。态重定位。 第23页/共100页第二十三页,共101页。4.存储保护 使用界地址寄存器保护法。其中,基址寄存器的内容是操作系统常驻内存部分以后的首地址,长度寄存器的内容便是用户可用区域(qy)的长度。 由于操作系统不会发生变化,甚至可以不使
28、用界地址寄存器,而将基址和长度用两个常量来代替 。第24页/共100页第二十四页,共101页。5.单一(dny)连续分区的优缺点(1)管理简单。管理简单。(2)使用安全。)使用安全。(3)不需要任何附加的硬件设备。)不需要任何附加的硬件设备。(1)作业的大小受用户区大小的限制。作业的大小受用户区大小的限制。(2)不支持多用户。)不支持多用户。(3)容易造成系统资源的浪费。)容易造成系统资源的浪费。第25页/共100页第二十五页,共101页。二、多重固定分区分配(fnpi)方式 将内存空间由小到大将内存空间由小到大划分为若干个位置固定大划分为若干个位置固定大小不等的区域,每个区域小不等的区域,每
29、个区域可以存放一个作业,存放可以存放一个作业,存放于不同区域的作业可以并于不同区域的作业可以并行。行。 用户逻辑用户逻辑(lu j)(lu j)地地址空间依然是一个连续的址空间依然是一个连续的整体,在作业申请进入内整体,在作业申请进入内存时一次性装入。存时一次性装入。 描述内存中每一个区描述内存中每一个区域域(qy)(qy)的情况的情况描述存放于区域中的作描述存放于区域中的作业业 第26页/共100页第二十六页,共101页。地址映射地址映射 由于作业被分配进入内存后位置不再发生由于作业被分配进入内存后位置不再发生变化,因此,地址映射可以采用静态重定位变化,因此,地址映射可以采用静态重定位方法。
30、不过我们要注意到每一个作业的物理方法。不过我们要注意到每一个作业的物理地址空间的起始位置是不相同的,因此,对地址空间的起始位置是不相同的,因此,对每一个作业进行重定位时要修正基址每一个作业进行重定位时要修正基址(j (j zh)zh)寄存器的值。寄存器的值。存储保护存储保护 存储保护可以采取界地址寄存器的方法存储保护可以采取界地址寄存器的方法和访问授权保护,由于作业在内存中的位置和访问授权保护,由于作业在内存中的位置保持不变,可以用两个常量替代界地址寄存。保持不变,可以用两个常量替代界地址寄存。 第27页/共100页第二十七页,共101页。优缺点:优缺点:(1)提高了)提高了CPU的利用率。的
31、利用率。(2)作业)作业(zuy)大小受到最大小受到最大分区大小的限制。大分区大小的限制。(3)空间浪费。)空间浪费。(4)碎片问题。)碎片问题。第28页/共100页第二十八页,共101页。三、 可变分区(fn q)分配方式 根据作业根据作业(zuy)(zuy)对内存对内存空间的申请来划分主存空间的申请来划分主存区域,区域的大小可变区域,区域的大小可变、位置可变、数量也可、位置可变、数量也可变变 描述描述(mio sh)(mio sh)已被分已被分配的区域配的区域 描述内存中的自由区域描述内存中的自由区域 为每一个为每一个自由分区自由分区设置一设置一个个链接链接指针来指向下一个指针来指向下一个
32、自由分区,使所有的自由自由分区,使所有的自由分区形成一个链表分区形成一个链表 第29页/共100页第二十九页,共101页。多重分区分配多重分区分配(fnpi)(fnpi)与释放与释放 将作业分配将作业分配(fnpi)(fnpi)到内到内存中第一个碰到的大于或存中第一个碰到的大于或等于作业申请空间的未分等于作业申请空间的未分配配(fnpi)(fnpi)区。区。将作业申请大小将作业申请大小(dxio)(dxio)与内存中所有未分配区的与内存中所有未分配区的大小大小(dxio)(dxio)进行比较,进行比较,直到找到最小的大于或等直到找到最小的大于或等于作业空间的区分配给作于作业空间的区分配给作业。
33、业。 将作业申请大小与内存中所将作业申请大小与内存中所有未分配区的大小进行比较有未分配区的大小进行比较,直到找到,直到找到最大的最大的大于或等大于或等于作业空间的区分配给作于作业空间的区分配给作业。业。算法简单但分配比较盲目,算法简单但分配比较盲目,可能造成较小的作业分割了可能造成较小的作业分割了较大的空间,使大作业无法较大的空间,使大作业无法被分配。被分配。 优先使用小的自由空间,优先使用小的自由空间,但每次分配以后的剩余空但每次分配以后的剩余空间可能变得过小而成为碎间可能变得过小而成为碎片。片。 使用大的自由空间,在进使用大的自由空间,在进行分割后剩余空间还可以行分割后剩余空间还可以被使用
34、,但也使大的自由被使用,但也使大的自由空间无法保留给需要大空空间无法保留给需要大空间的作业。间的作业。 另外可以有:另外可以有:最佳适应算法也是最先适应最佳适应算法也是最先适应算法算法最坏适应算法也是最先适应最坏适应算法也是最先适应算法算法如何实现?如何实现?几种方法比较几种方法比较第30页/共100页第三十页,共101页。4.4.地址映射地址映射 动态分区采用动态重定位方式来实现地址动态分区采用动态重定位方式来实现地址映射,这样作业的基地址发生变化也不会影响映射,这样作业的基地址发生变化也不会影响执行。执行。 当作业被选择运行时,其物理空间起始地当作业被选择运行时,其物理空间起始地址被装入基
35、地址寄存器中,址被装入基地址寄存器中,CPUCPU每执行一条指令每执行一条指令之前重定位硬件对指令要访问的地址进行修改。之前重定位硬件对指令要访问的地址进行修改。5.5.存储保护存储保护 存储保护可以采用界地址寄存器的方法存储保护可以采用界地址寄存器的方法(fngf)(fngf)和访问授权保护,不过由于作业被分和访问授权保护,不过由于作业被分配于内存一个连续的区域中,访问授权保护的配于内存一个连续的区域中,访问授权保护的作用似乎并不大,因为作业并没有对其他作业作用似乎并不大,因为作业并没有对其他作业空间的访问权力。空间的访问权力。第31页/共100页第三十一页,共101页。6.6.存储区整理存
36、储区整理经过不断地分配和释放后,内存中自由分区会变经过不断地分配和释放后,内存中自由分区会变得越来越多和越来越小,这就使很多小自由分区得越来越多和越来越小,这就使很多小自由分区成为碎片。成为碎片。可以用紧缩的方法来解决碎片。紧缩是将内存中可以用紧缩的方法来解决碎片。紧缩是将内存中已使用区域经过移动沉淀到低地址部分,从而使已使用区域经过移动沉淀到低地址部分,从而使碎片浮动到内存的高地址部分合并成较大的可使碎片浮动到内存的高地址部分合并成较大的可使用空间。用空间。用紧缩方法来消除碎片需要占用大量的用紧缩方法来消除碎片需要占用大量的CPUCPU时间时间(shjin)(shjin),并且在移动过程中稍
37、有不慎就有可能,并且在移动过程中稍有不慎就有可能破坏全部数据。破坏全部数据。第32页/共100页第三十二页,共101页。7.7.多重动态分区多重动态分区(fn q)(fn q)的优缺点的优缺点(1 1)多道程度得以提高。)多道程度得以提高。(2 2)提高了内存的利用率。)提高了内存的利用率。(3 3)作业大小依然受内存容量的限制。)作业大小依然受内存容量的限制。(4 4)对碎片问题的解决需要以增加系统开销)对碎片问题的解决需要以增加系统开销为代价。为代价。(5 5)不便共享。)不便共享。第33页/共100页第三十三页,共101页。举例:举例: 作业作业A要求要求18KB;作业;作业B要求要求2
38、5KB;作业作业C要求要求30KB。用首次适应算法、。用首次适应算法、最佳最佳(zu ji)适应算法来处理该作业序适应算法来处理该作业序列,看哪种算法合适。列,看哪种算法合适。 os在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB- -1第34页/共100页第三十四页,共101页。 (1) 首次首次(shu c)适应算法中的自由适应算法中的自由主存队列主存队列 (a) 首次适应算法中的自由主存队首次适应算法中的自由主存队列列 20KB 0 30KB 100KB 0 20KB 160KB 0 5KB 210KB 0 46KB
39、 os在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB- -1第35页/共100页第三十五页,共101页。 (2) 最佳适应算法中的自由最佳适应算法中的自由(zyu)主主存队列存队列 (b) 最佳适应算法中的自由主存队列最佳适应算法中的自由主存队列 160KB 0 5KB 100KB 0 20KB 20KB 0 30KB 210KB 0 46KB os在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB- -1第36页/共100页第三十六页,共101页。(
40、a) 首次适应算法中的自由主存队首次适应算法中的自由主存队列列 20KB 0 30KB 100KB 0 20KB 160KB 0 5KB 210KB 0 46KB (b) 最佳适应算法中的自由主存队最佳适应算法中的自由主存队列列 160KB 0 5KB 100KB 0 20KB 20KB 0 30KB 210KB 0 46KB 作业作业(zuy)A要求要求18KB作业作业(zuy)B要求要求25KB作业作业(zuy)C要求要求30KB第37页/共100页第三十七页,共101页。 分页存储管理方式分页存储管理方式(fngsh)(fngsh) 页式系统应解决的问题页式系统应解决的问题 分区分区(f
41、n q)存储管理的主要问题是碎存储管理的主要问题是碎片问题。片问题。 在采用分区在采用分区(fn q)存储管理的系存储管理的系统中,会形成一些非常小的分区统中,会形成一些非常小的分区(fn q),最终这些非常小的分区,最终这些非常小的分区(fn q)不能被系统中的任何用户(程序)利不能被系统中的任何用户(程序)利用而浪费。用而浪费。 造成这样问题的主要原因是用户造成这样问题的主要原因是用户程序装入内存时是整体装入的,为解程序装入内存时是整体装入的,为解决这个问题,提出了分页存储管理技决这个问题,提出了分页存储管理技术。术。第38页/共100页第三十八页,共101页。页式存储管理要解决( jij
42、u)如下问题页式存储管理系统的地址映射;调入策略;淘汰策略;放置策略第39页/共100页第三十九页,共101页。 一、一、 页式系统的基本概念页式系统的基本概念 (1) 页面页面 程序程序(chngx)的地址空间的地址空间被等分成大小相等的片,称为被等分成大小相等的片,称为页面,又称为虚页。页面,又称为虚页。 (2) 主存块主存块 主存被等分成大小相等的主存被等分成大小相等的片,称为主存块,又称为实页。片,称为主存块,又称为实页。第40页/共100页第四十页,共101页。(3 3) 页表页表 为了实现从地址为了实现从地址(dzh)(dzh)空间到空间到物理主存的映象,系统建立的记录页与内存物理
43、主存的映象,系统建立的记录页与内存块之间对应关系的地址块之间对应关系的地址(dzh)(dzh)变换的机构变换的机构称为页面映像表,简称页表。称为页面映像表,简称页表。 第41页/共100页第四十一页,共101页。01KB01KB2KB3KB 1主存主存作业作业2地址地址(dzh)空间空间2KB3KB4KB5KB6KB7KB8KB9KB10KB 101KB2KB 1作业作业1地址地址(dzh)空间空间01KB 1作业作业3地址地址(dzh)空间空间0516页号页号块号块号02140827作业作业1页表页表作业作业2页表页表作业作业3页表页表osos 分页映像存储的例分页映像存储的例 第42页/共
44、100页第四十二页,共101页。 (4 4)虚地址结构)虚地址结构( (程序字程序字) ) 虚地址是用户程序中的逻辑地址,它包括虚地址是用户程序中的逻辑地址,它包括页号和页内地址(页内位移)。页号和页内地址(页内位移)。 区分页号和页内地址的依椐是页的大小,区分页号和页内地址的依椐是页的大小,页内地址占虚地址的低位部分,页号占虚地址的高位页内地址占虚地址的低位部分,页号占虚地址的高位部分。部分。 假定页面大小假定页面大小10241024字节字节(z ji)(z ji),虚地址,虚地址共占用共占用2 2个字节个字节(z ji)(16(z ji)(16位位) ) 页号页号 页内地址(位移量)页内地
45、址(位移量) P W P W 15 10 9 15 10 9 0 0第43页/共100页第四十三页,共101页。(5) 页式地址变换页式地址变换页式地址变换举例页式地址变换举例 作业作业(zuy)2地址空间中,设地址空间中,设100号单元处有如下指号单元处有如下指令:令: mov r1,2500。当这条指令执行时,如何进。当这条指令执行时,如何进行正确的地址变换。行正确的地址变换。mov r1 ,250012301KB1KB3KB 1作业作业2地址地址(dzh)空间空间 2500 2 2* *1024 + 452 1024 + 452 p=2 w=452 p=2 w=452第44页/共100页
46、第四十四页,共101页。l 页式地址变换过程页式地址变换过程(guchng) 000111 011100010015 10 9 0页号页号P页内位移页内位移(wiy)W页表始址寄存器页表始址寄存器mov r1 ,250012301KB2KB3KB 1作业作业2地址地址(dzh)空间空间+021427页表页表 000010 011100010015 10 9 0页号页号P页内位移页内位移W250001KB主存主存2KB3KB4KB5KB6KB7KB8KB9KB10KB 1ososmov r1 , 2500123第第1页页7*1024+452=7620第45页/共100页第四十五页,共101页。l
47、 页式地址变换的步骤页式地址变换的步骤(bzhu)l CPU给出操作数地址给出操作数地址(为为2500) ;l 由分页机构自动地把逻辑地址分为两部分,由分页机构自动地把逻辑地址分为两部分,得到页号得到页号p和页内相对位移和页内相对位移w (p =2, w =452); l 根据页表始址寄存器指示的页表始地址,根据页表始址寄存器指示的页表始地址,以页号为索引,找到第以页号为索引,找到第2页所对应的块号页所对应的块号(为为7) ;l 最后,将块号最后,将块号b和页内位移量和页内位移量w拼接在一起,拼接在一起,就形成了访问主存的物理地址就形成了访问主存的物理地址l (7*1024+452=7620)
48、。第46页/共100页第四十六页,共101页。二、静态(jngti)分页管理 1、分配与回收在静态分页管理时,作业的一页可分配到存储空间的任何一个可用的物理块中 作业完成(wn chng)后,系统回收分配给该作业的内存块 作业完成(wn chng)后,系统回收分配给该作业的内存块 第47页/共100页第四十七页,共101页。2、优缺点、优缺点(1)管理简单(2)每访问一次内存数据需要经过二次寻址。(3)解决了碎片(su pin)问题。无须内存碎片(su pin)整理。(4)无法实现共享。(5)作业大小受内存可用页面数的限制。 如果想在内存中运行较大的作业,则必须利用内存以外的存储空间。 第48
49、页/共100页第四十八页,共101页。 例:有一系统采用页式存储管理,有一作业大小是例:有一系统采用页式存储管理,有一作业大小是8KB8KB,页大小为,页大小为2KB2KB,依次装入内存,依次装入内存(ni cn)(ni cn)的第的第7 7、9 9、1010、5 5块,试将虚地址块,试将虚地址71457145,34123412转换成内存转换成内存(ni cn)(ni cn)地址。地址。虚地址虚地址(dzh) 3412(dzh) 3412P P3412 3412 2048 2048 1 1W W 3412 mod 2048 3412 mod 2048 1364 1364MR=9MR=9* *2
50、048+1364=197962048+1364=19796虚地址虚地址(dzh)3412(dzh)3412的内存的内存地址地址(dzh)(dzh)是:是:1979619796第49页/共100页第四十九页,共101页。三、 请求分页管理(gunl) 1.原理(yunl) 与静态分页管理与静态分页管理(gunl)不同不同 :按需分配。将需要按需分配。将需要运行的页面存放于内存,运行的页面存放于内存,暂时不需要运行的页面暂时不需要运行的页面存放于辅存,当需要运存放于辅存,当需要运行存放于辅存上的页面行存放于辅存上的页面时,再将对应的页面调时,再将对应的页面调入内存。入内存。 注意页表变化注意页表变
51、化第50页/共100页第五十页,共101页。2.分配与淘汰(toti)算法动态分配 第51页/共100页第五十一页,共101页。分配(fnpi)与淘汰算法淘汰算法衡量淘汰算法衡量淘汰算法(sun f)依据:依据:所有页面访问次数淘汰页面数淘汰率所有页面访问次数缺页次数缺页率 好的淘汰算法好的淘汰算法(sun f)(sun f)应该有较低的缺页应该有较低的缺页率和淘汰率。率和淘汰率。 第52页/共100页第五十二页,共101页。选择在最远的将来才被访问的页面淘汰。选择在最远的将来才被访问的页面淘汰。 谁是最远的、将来才被访问的页面?选择最早进入内存的页面淘汰 这种方法包含一个假定:这种方法包含一
52、个假定:最早进入内存的页面就是目前最不会被使最早进入内存的页面就是目前最不会被使用的页面。用的页面。 假定不成立?假定不成立?系统抖动!系统抖动!第53页/共100页第五十三页,共101页。选择最近一段时间内最长时间未被使用选择最近一段时间内最长时间未被使用的页面淘汰的页面淘汰 该算法的该算法的假定假定:长时间未使用的页面不会马上被使用。:长时间未使用的页面不会马上被使用。这正好符合内存这正好符合内存局部性原理局部性原理(内存中某个位置现在被(内存中某个位置现在被访问,很快将再次被访问;某个位置现在被访问,其访问,很快将再次被访问;某个位置现在被访问,其邻近位置也将被访问。)邻近位置也将被访问
53、。) 问题:问题:需要确定一个需要确定一个比较时间段比较时间段来反映哪一个页面长期未被来反映哪一个页面长期未被使用,时间段使用,时间段过长过长时该算法将变为时该算法将变为先进先出先进先出算法,时算法,时间段间段过短过短又会使系统频繁地记录访问次数并进行比较,又会使系统频繁地记录访问次数并进行比较,从而增加系统从而增加系统开销开销。第54页/共100页第五十四页,共101页。(4)最近(zujn)未使用算法(NRU) 选择页面选择指针遇到的选择页面选择指针遇到的最近最近(zujn)(zujn)未被访问的未被访问的页面淘汰。页面淘汰。简化简化(jinhu)(jinhu)的方法是:的方法是:页面选择
54、指针下移,只要遇到刚才页面选择指针下移,只要遇到刚才未使用的页面就可以淘汰。未使用的页面就可以淘汰。 第55页/共100页第五十五页,共101页。例例: : 某作业有某作业有a,b,c,da,b,c,d四个页面四个页面, ,作业在运行过程中的访问作业在运行过程中的访问次序为次序为:a,b,c,a,d,a,:a,b,c,a,d,a,试计算采用试计算采用FIFOFIFO和和LRULRU淘汰算法淘汰算法, ,各会各会产生几次缺页中断产生几次缺页中断(zhngdun)?(zhngdun)?(注:系统为该作业分配注:系统为该作业分配个内存块个内存块) ) 缺页中断次数淘汰的页面进入主存的页面1-a2-B
55、3-C4ad5ba缺页中断次数淘汰的页面进入主存的页面1-a2-b3-c4bd LRU LRUFIFOFIFO第56页/共100页第五十六页,共101页。举例(j l)FIFO算法的异常现象(Belady)设进程( jnchng)共有8页,且已在内存中分配有3个页面,程序访问内存的顺序为7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1.求缺页次数和缺页率,当分配4个页面时,缺页次数和缺页率为多少?第57页/共100页第五十七页,共101页。又进程P有5页,访问串为分得3个页面(y min),情况如何?当分配4个页面(y min)时,会出现什么情况?第58页/共100页第五十八
56、页,共101页。虚拟存储器 动态分页技术实现(shxin)了虚拟存储器。 虚拟要素?第59页/共100页第五十九页,共101页。3.加速(ji s)寻址 二次寻址? 一次寻址?第60页/共100页第六十页,共101页。举例(j l)有一页式系统,页表放在主存中如对主存的一次存取需,试问实现一次页面(y min)访问的存取时间是多少?如系统有快表,平均命中率为85%,当页表在快表中时,查找时间忽略为0。此时的存取时间为多少?解:(1)1.5*2=3us(2)0.85*1.5+()*。第61页/共100页第六十一页,共101页。4.分页管理的优缺点(1)管理简单。(2)支持虚拟存储器。(3)无法(
57、wf)实现共享。作业空间按逻辑意义分割!第62页/共100页第六十二页,共101页。4.4 段式管理(gunl) 简单分段管理(gunl) 请求分段管理(gunl)第63页/共100页第六十三页,共101页。一、 基本概念 作业地址空间按逻辑意义划分成段,每段作业地址空间按逻辑意义划分成段,每段都有其对应都有其对应(duyng)的段号和段长,对分的段号和段长,对分段数量和分段的长度没有限制。段数量和分段的长度没有限制。 内存空间采用多重动态分区内存空间采用多重动态分区(fn q)(fn q)的形式,分区的形式,分区(fn (fn q)q)的长度和位置没有限制。的长度和位置没有限制。 段表将作业
58、段表将作业(zuy)(zuy)中的段对应中的段对应于内存中的分区。有缺段机制。于内存中的分区。有缺段机制。1.分段第64页/共100页第六十四页,共101页。2.逻辑(lu j)地址 段号段号S S 段内位移段内位移(wiy)d (wiy)d 每个段的段内位移每个段的段内位移(wiy)(wiy)的范围是不同的。的范围是不同的。 分页管理分页管理中,逻辑地址是中,逻辑地址是线性地址线性地址。分段管理分段管理中,段号中,段号S和段内位移和段内位移d不能形成一个线不能形成一个线性地址,因为它实际上是代表着段长和段内位移性地址,因为它实际上是代表着段长和段内位移两两个变量个变量。由于这两个变量没有特定
59、的限制范围而无法用由于这两个变量没有特定的限制范围而无法用一个变量来替代,因此分段管理的一个变量来替代,因此分段管理的逻辑地址是二维地逻辑地址是二维地址址,分段管理的逻辑地址空间是,分段管理的逻辑地址空间是二维空间二维空间。 第65页/共100页第六十五页,共101页。3.数据结构(sh j ji u) 段表段表段表寄存器段表寄存器内存分块表内存分块表OrOr已使用分区表已使用分区表自由自由(zyu)(zyu)分区表分区表自由自由(zyu)(zyu)分区块链分区块链作业表作业表第66页/共100页第六十六页,共101页。4.地址映射 段表中段段表中段(zhn dun)(zhn dun)号为号为
60、S S的表的表目地址(段表寄存器)表目长目地址(段表寄存器)表目长度度S S 段表起始段表起始(q sh)(q sh)地址(段表寄存地址(段表寄存器)器) 对应的内存对应的内存(ni cn)(ni cn)分区地分区地址址S S 绝对地址绝对地址SSd d 第67页/共100页第六十七页,共101页。二、简单(jindn)分段 系统(xtng)为每一个段分配一个连续的存储空间,而段和段之间可以不连续,离散地分配到内存的不同区域。 系统(xtng)为每个进程建立一张段表 第68页/共100页第六十八页,共101页。三、请求(qngqi)分段1、分配(fnpi)与释放 首先首先(shuxin)为作业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化赋能:济宁市投资重大项目电子监察系统的构建与实践
- 数字化细胞微注射机器人的图像采集与处理:技术、算法与应用的深度剖析
- 数字化浪潮下集装箱船舶信息管理系统的设计与实现探索
- 数字化浪潮下GS银行HN分行远程运维服务的转型与突破
- 2025 奇妙的声音探索作文课件
- 2025 高中阅读理解之情感态度推断课件
- 谵妄综合征护理课件
- 照明设备选型与安装方案
- 屋面施工环境监测方案
- 养猪场生物安全设施建设方案
- 骨质疏松的分子生物学机制研究进展
- 精细化成本管理在介入科成本控制中的应用
- 码头现场调度培训课件
- 2026年政府采购培训试题200道及参考答案【新】
- 铁路职工法治知识竞赛参考题库及答案
- 技术部门月报
- 加油站与货运企业供油协议样本
- DB13-T 5884-2024 1:5000 1:10000数字线划图外业调绘技术规程
- 大学生该不该创业
- DB61T 1986-2025《林木采伐技术规范》
- 洗手液的泡泡课件
评论
0/150
提交评论