ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:1,013.71KB ,
资源ID:17983811      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17983811.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机操作系统第四章存储器管理Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机操作系统第四章存储器管理Word下载.docx

1、1、静态地址重定位是程序装入时集中一次进行的地址变换计算。物理地址 = 重定位的首地址 + 逻辑地址 优点:简单,不需要硬件支持; 缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。2、动态地址重定位:在程序执行的过程中,每当Cpu访问一个内存地址之前对要访问的地址进行地址变换计算。一个作业可以使用非连续存储空间;能实现虚拟存储;有利于程序段的共享。需要硬件支持。五、存储分配与回收在程序运行开始时、运行过程中,OS根据一定的存储管理方法,在内存中为程序及其数据找到合适的位置,将它们装入内存; 程序运行结束后,OS收回程序释放的内存资源,并进行适当的整理,以便再

2、分配给其他的程序使用。六、存储保护为多道并发程序共享内存提供保障,使在内存中的各道程序“各行其道”,只能访问属于自己的区域(自己的物理地址空间),避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序的运行。通常由硬件完成保护功能,由软件辅助实现。存储保护可以实现: 保护系统程序区不被用户侵犯(有意或无意的); 不允许用户程序读写不属于自己地址空间的数据(系统区地址空间、其他用户程序的地址空间)。存储保护的过程:每个进程都有自己独立的进程空间。如果一个进程在运行时所产生的要访问的地址在其地址空间之外,称为发生了地址越界。每当程序要访问某个内存单元时,由硬件检查是否允许,如果允许

3、则执行,否则产生地址越界中断,由操作系统进行相应处理。七、存储共享 内存共享:多道环境中,两个或多个并发进程共用内存中相同区域。 目的:节省内存空间,提高内存利用率,实现进程通信(数据共享)。 共享内容:代码共享(要求代码为纯代码);数据共享。八、存储“扩充”为了给大作业提供方便,由OS把内存和外存统一管理起来,实现自动覆盖。当一个大作业在执行时,有一部分逻辑地址空间的内容在内存,另一部分在外存。当要访问的信息不在内存时,由os(而不是程序员安排的I/O指令)自动把它们从外存调入内存。从效果上看,这样的os好象为这个用户作业提供了一个容量比实际内存大的存储器,从而实现了存储“扩充”。扩充后的存

4、储器称为虚拟存储器。九、存储管理方法1、连续分配方式 (1) 单一连续存储区管理(单道环境下) (2) 分区式存储管理2、离散分配方式 (1) 分页式存储管理 (2) 分段式存储管理 (3) 段页式存储管理3、实现虚拟存储的分配方式 主要是一些请求式的分配方式,如请求分页式存储管理、请求分段式存储管理等。对于以上每一种存储管理方法我们应该掌握: 基本原理(思想方法) 存储管理使用的数据结构 逻辑地址的格式 地址变换的方式 存储的分配和回收过程 特点(优、缺点)第一节 程序的装入(和链接)一、程序的装入就是OS的装入程序(Loader)将用户程序的装入模块装入内存。1、绝对装入方式编译时产生绝对

5、地址的目标代码。程序被装入内存后,逻辑地址与实际装入的内存地址完全相同,故执行过程中,不需对指令和数据进行地址变换。程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。 但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。2、可重定位装入方式编译时产生相对地址的目标代码。程序被装入内存时,进行地址变换,然后在访问时直接取指令和数据。3、动态运行时装入方式 编译时产生相对地址的目标代码。程序被装入内存后,并不立即把装入模块

6、中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。当要对一条指令或一个数据进行访问时,才对它的地址进行转换。因此,装入内存后的所有地址都仍是相对地址。第二节 连续分配存储管理方式一、单一连续分配1、基本原理把内存分为系统区和用户区两部分,系统区提供给OS使用(通常是内存的低址部分);用户区(指除系统区以外的全部内存空间)提供给用户使用。用户区是一个连续的存储区,每次装入一道用户作业,整个系统的用户空间被一道用户作业独占。2、存储分配和回收过程 如下图所示的主存分配与回收法。并且由装入程序进行静态地址重定位,检查其绝对地址是否超越,即可达到保护系统的目的。工作流程:3、

7、特点: 存储管理简单,只适用于单道环境 内存利用率很低 程序的运行受主存容量限制 基本不需要管理的数据结构二、固定分区分配固定分区式存储管理是满足多道程序的最简单的存储管理方案。它的基本思想是:将内存的用户区划分成若干个固定的空间,称为分区。当程序到达时,由系统给它分配一个适当大小的分区,将程序和数据连续存入,使进程得以并发执行。每个分区只能存储一个程序,而且程序也只能在它所驻留的分区中运行;作业的逻辑地址空间是线性的,物理地址空间是连续的;主要采用静态地址重定位方式进行地址变换。系统生成时,把可分配的主存储器空间分割成若干个区域,每个区域称为一个分区(每个分区的内部是连续的)。每个分区的大小

8、可以相同也可以不同,但分区大小固定不变,每个分区能装一个且只能装一个作业。P27-282、管理使用的数据结构分区说明表:记录系统中的现有内存分区及其使用状态。3、存储分配与回收过程当有一个用户作业要装入时,由OS检索分区说明表,从中找一个大小能满足要求的、空闲的分区,将用户作业装入,并在分区说明表中将该分区的状态置为“已分配”;若没有找到大小足够的分区,则拒绝为该程序分配内存。当一个用户作业完成后,由OS将其占有的分区收回,将该分区的状态改为“未分配”。4、特点 可以支持多道程序运行 程序的运行受主存容量和分区大小限制 内存利用率仍很低三、动态分区分配1、基本思想系统在启动时,除了OS常驻内存

9、部分占用的内存空间外,系统中只有一个空闲分区;当有作业要装入内存时,检索空闲分区表,找一个能满足作业要求的空闲分区,从中划出一个大小正好满足要装入作业要求的存储区,分配给这一作业,剩下的部分被作为一个新的空闲分区记录在空闲分区表中。2、存储管理的数据结构(二选一)(1) 空闲区表-记录目前系统中每个空闲区的起始地址和长度;(2) 空闲分区链-将目前系统中的空闲分区按一定的顺序链接起来。在每个分区的头、尾设置指向前后分区的指针,并记录本分区的一些分配控制信息。系统设立一个链首指针,指向第一个空闲块。(1) 分配(2) 回收-会出现四种情况 回收区与它前面的一个空闲区相邻(a) 回收区与它后面的一

10、个空闲区相邻(b) 回收区与它前、后的两个空闲区相邻(c) 回收区前后都没有相邻的空闲区当某一块归还后,要根据不同的情况,前后空间合并,再分别处理存储管理的数据结构。4、存储分配的算法-空闲分区表或空闲分区链中分区排列顺序的组织方法(1) 首次适应算法:按空闲区首地址从低到高来组织空闲分区表或空闲分区链;每次分区时,总是从表头或链首开始扫描,找到第一个足够大的空白区分配。(2) 循环首次适应算法(下次适应算法):类似首次适应法的数据组织。每次分区时,总是从上次查找结束的地方开始扫描,找到一个足够大的空白区分配,并循环查找。(3) 最佳适应算法:按空闲区容量大小从小到大来组织组织空闲分区表或空闲

11、分区链。每次分区时,总是从表头或链首开始扫描。所以,接到内存申请时,会在空闲区中找到一个满足要求的最小空闲区进行分配。(4) 最坏适应算法:与最佳适应法相反,它在作业选择存储块时,总是寻找一个满足要求的最大的空闲分区。讨论以上算法的优缺点.6、动态分区方式中的“碎片”问题经过一段时间的分配回收后,内存中会出现很多很小的空闲块。它们每一块都较小,不足以满足一般作业的分配要求;但其容量总和却有着相当的规模。这些空闲块被称为碎片。碎片的存在造成了存储资源的浪费。解决办法:碎片整理,通过在内存移动程序,将所有小的空闲区域合并为大的空闲区域。问题:系统开销大(?)。四、可重定位分区1、动态重定位引入的原

12、因在动态分区分配中,“碎片”整理,是定时进行或在存储回收时进行的,所有用户程序的存储分区都要进行改动,并重新进行静态地址重定位。这样的“碎片”整理工作将花费较多的系统开销。2、动态重定位分区分配处理流程可重定位分区分配,与动态分区方法基本相同,但它的碎片拼接是在存储分配时进行的,以满足新作业需求为目的,并采用动态地址重定位。五、对换(交换)技术“对换”引入的原因:P58所谓“对换”,是指系统允许在一个作业已经进入内存执行的过程中,仍能把它调出内存、再调入内存。把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数

13、据,调入内存。对换是提高内存利用率的有效措施。 可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。P59对换空间的管理:在具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程。P60-61进程的换出:系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动磁盘,将该进程的程序和数据传送到磁盘的对换区上。若传送过程未出现错误,便可回收该进程所占用的内存空间,并对该进程的PCB做相应的修改。当目前没有阻塞进程时,也可将优先级低的就绪进程换出。进程的换入: 系统定时

14、查看所有进程的状态,从中找出“就绪”状态但已换出的进程,将其中换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。以上谈到的是整体交换,部分交换在虚拟存储中介绍。六、动态分区式存储管理特点的讨论1、作业连续存放(作业的逻辑地址空间和物理地址空间都是一维的)2、有限的虚拟存储分区式管理不能实现那种用户进程所需空间只受内外存容量之和限制的虚拟存储,只能使用覆盖和交换等存储扩充技术,实现进程挂起,这是一种有限的虚拟存储-并发进程的总容量可以大于内存容量,但每一个进程的容量小于内存。3、存储保护:使用界限寄存器。一般由硬件提供一对寄存器:基址寄存器:存放

15、起始地址,限长寄存器:存放长度(或上界寄存器/下界寄存器)4、主要优缺点: 实现了多进程对内存的共享,支持多道程序设计; 要求较少的硬件支持,管理方法简单,容易实现。 内存利用率仍不高(碎片问题); 用户作业的大小受分区大小的限制; 不能实现信息的共享。第三节 基本(静态)分页存储管理方式一、基本原理将系统的物理地址空间划分成大小相同的片,称为块;将作业的逻辑地址空间划分成和块大小一样的片,称为页(最后不足一页的也算一页);给作业进行存储分配时,将作业的一页存入存储器的一块中。逻辑上相邻的页,物理上可以不相邻。块的大小与页的大小一致,与系统内存的大小以及内、外存间数据的传输速度相关,通常是2n

16、B。二、逻辑地址的格式作业的逻辑地址空间是一维的,每个逻辑地址由页号和页内地址组成,见下图左;对某特定机器,其地址结构是一定的,页的大小固定为L。若给定一个逻辑地址A,则页号P和页内地址d可按下式求得,见下图右。三、存储管理的数据结构1、页表:每个进程一张,在初次为进程分配内存时建立进程的页表。一个进程分为多少页,它的页表就有多少行(表目)。每一行中记录着进程的一页对应的块。另外,页表的每一个表目还包括一个存取控制字段。页表用于进行地址变换。2、存储分块表:整个系统一张,每一项对应一个内存存储块,记录该存储块的使用状态:已分配或空闲。通常用位示图来表示存储分块表。四、地址变换进程的页表一般是常

17、驻内存、连续存放的,页表的首地址和长度存在进程的PCB中。系统为执行态的用户进程提供了一个页表寄存器,用来存放这个进程的页表首地址和长度。采用动态地址重定位。1、基本的地址变换过程:例: 0100:LOAD 2452,A(1) 指令的逻辑地址0100,它存在0页,第100号单元中;查页表:0页 10块 算出指令的物理地址:10100 到内存单元10100中取指令 LOAD 2452,A;(2) 目的操作数的逻辑地址2452,它排在2页第452号单元中; 2页 8块 算出操作数的物理地址:08452 将A送入08452号内存单元。2、引入快表:由于页表也存放在主存中,这样,每读写一个内存单元,首

18、先必须读内存一次,访问页表,之后根据形成的实际地址再访问内存,这样使访问主存的次数加倍,因而使总的处理速度明显下降。为了解决这个问题人们采用一组寄存器,存放最近访问过的页的页表表项-引入“快表”每次地址变换时,首先查找快表,若找到所需页的表项,则快速形成物理地址。否则,再去页表中查找后形成物理地址,同时把该页的表项写入快表。如果设计得当,快表的命中率可以很高。五、存储的分配和回收1、存储分配 计算一个作业所需要的总块数N 查位示图,看看是否还有N+1个空闲块,如果不够,就拒绝分配 如果有足够的空闲块,则首先申请一块,为作业建立页表,将页表的首地址和长度N存入进程的PCB中 分配N个空闲块给该作

19、业,依次装入作业的N个页,将页号和对应的块号填入页表 修改位示图2、存储回收进程执行结束,系统对照页表,依次收回分给它的N个块,修改位示图;撤消它的页表,收回页表所占块,修改位示图。六、两级和多级页表现代的大多数计算机系统,都支持非常大的逻辑地址空间(232264)。页表就变得非常大,超过了1页可以容纳的范围。可采用两个方法来解决这一问题: 采用离散分配方式来解决难以找到一块连续的大内存空间的问题; 只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入。1、两级页表逻辑地址的格式为:2、多级页表字长32位的计算机,进程页表多大?用户逻辑地址空间最大 232=4GB设:页面

20、大小为 212=4KB则:一个进程最多 220 页页表的每个表项占4B进程页表最长为4B220=210212B = 1024 页外页表最长 10244B=4KB,正好一页。当计算机的字长增加到64位时,如果仍以4KB为一页,一个作业可以有252页。页表与外页表的长度将是。此时,必须采用多级页表,将外层页表再进行分页,再将各分页离散地装入到不相邻接的物理块中,再利用第2级的外层页表来映射它们之间的关系。 此即多级页表。七、基本(静态)页式存储管理的特点1、作业的逻辑地址空间是一维的2、是一种离散分配的存储管理方法,用户作业不要求连续的存储空间,碎片的规模小于1页,而且数量很少3、要求进程在执行前

21、全部装入内存,所以进程的大小仍受内存空间的限制4、“页”是存储的单位,在逻辑上没有意义,很难实现信息共享和存储保护第四节 基本(静态)分段存储管理方式一、分段式存储管理的引入在分页式存储管理中: 进程的逻辑地址空间是连续的。一个进程(程序与数据)是一个整体; “页”是一个存储的单位,在逻辑上没有意义,不便进行程序段或数据段的共享; 进程所需的存储块是一次性、静态分配的,程序和数据都不能动态增长。引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:P84-87(1) 方便编程 (2) 信息共享(3) 信息保护 (4) 动态增长 (5) 动态链接二、基本原理一个用户作业的程序和数据按

22、其逻辑结构可以分为若干段,每一段在逻辑上都是完整的,每段内有从0开始的、连续的逻辑地址空间。在存储分配时,系统为每一段分配一个连续的存储区,而不同段之间的存放的空间可以是不连续的。三、逻辑地址格式分段式存储管理中,用户作业的逻辑地址空间是二维的(可能不连续),一个单元的逻辑地址格式为:段号段内地址每一个段号和一个逻辑段的名称对应。四、存储管理的数据结构段表:每个进程设置一个,属于进程的现场信息。段表的格式:段表中的每一行对应一个逻辑段。作业有几逻辑段,段表的长度就有几行。段表中最重要的信息是它的前三项,依靠它进行地址重定位。五、地址变换进程的段表一般是常驻内存、连续存放的,段表的首地址和长度存

23、在进程的PCB中。系统为执行态的用户进程提供了段表寄存器,用来存放这个进程的段表首地址和长度。六、存储分配与回收在段式存储管理中,内存的空闲空间,采用类似动态分区式存储管理的方式组织、分配和回收。只是在这里,存放的对象是进程的一个逻辑段,而不是整个进程。首先,程序开始的若干逻辑段,按照类似动态分区分配的方法被逐一放入内存。当作业执行完毕时,系统将段表中各行记录的分区,采用类似动态分区分配的回收方法进行逐一回收,然后撤消段表,回收段表占用的分区。七、分页和分段的主要区别1、页是信息的物理(存储)单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需

24、要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。2、页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序的逻辑,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。3、分页的作业地址空间是一维的,即单一的线性的逻辑地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。八、信息共享的实现当多个进程都要执行某一程序段或访问某一数

25、据段时,可以在内存中只保留该段的一个副本,在不同进程的段表中分别记录该段的起始地址和长度,就可以实现共享。九、分段式存储管理的特点1、作业的逻辑地址空间是二维的;2、管理和使用统一化;3、可以方便地实现完整逻辑段的共享、地址空间的动态增长和动态链接;4、需要较多的硬件支持;5、碎片问题。十、段页式存储管理1、基本原理:一个进程中逻辑上相对独立的程序段或数据段被划分成一段,每个段有自己的段号S。整个作业的逻辑地址空间是二维的。只需将程序起始的若干段装入内存,程序就可以开始运行。这反映和继承了分段式管理的特征。每个段S,段内地址是连续(一维)的,将每段的逻辑地址空间划分成大小相等的页,段尾不足一页

26、的占一页;将系统内存的物理地址空间划分为与页大小相同的块,将进程逻辑段中的一页放入内存的一块中。在内存分配时不需要给一段分配连续的存储空间。这反映和继承了分页式存储管理的特征。存储保护和存储共享的实现2、快速联想存储器:由于在段页式存储管理中,一次读取内存中的指令或数据要三次访问内存,这大大降低了程序的执行速度,于是引进快速联想存储器(寄存器)-快表。将一个表存放在寄存器或高速缓存中,其中记录常用页的段号、页号、块号,它的功能类似于分页式存储管理中的快表。3、段页式存储管理的特点:具有段式和页式存储管理二者的优点,但是管理软件、复杂性和系统开销也随之增大,管理需要的硬件支持和占用的内存也增加。如果不引进快速联想寄存器,则对内存的访问速度会大大下降。本章作业:P152 2、8、13、19、23

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1