- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16课(段式存储管理)7
操作系统 第16课 存储管理 今日内容 分段式存储管理 段页式存储管理 虚拟存储管理 内容回顾:分页式存储管理的基本思想 内存的划分: 把整个内存储器划分成大小相等的许多分区,每个分区称为“块” 。比如把内存储器划分成n个分区,编号为0,1,2,…,n-1。块是存储分配的单位。 用户作业逻辑地址空间的划分: 操作系统按照内存块的尺寸对用户地址空间进行划分,每一个分区被称为“页”,编号从0开始。 内容回顾:逻辑地址:由页号和页内偏移量两部分组成。 内容回顾:将逻辑地址转换为物理地址 从逻辑地址算出页号和页内偏移量 从页表中找出页号对应块号 物理地址: 块号×页大小+偏移量 内容回顾:逻辑地址:由页号和页内偏移量两部分组成。 使用快表的硬件模式 内容回顾:分页式存储管理的优缺点 优点: 没有外碎片,每个内碎片不超过页大小。 一个程序不必连续存放。 程序占用空间可动态增长。即随着程序运行而动态生成的数据增多,地址空间可相应增长。 缺点: 作业虽然不占据连续的存储区,但每次仍要求一次全部进入内存。因此,如果作业很大,其存储需求大于内存,那么还是存在小内存不能运行大作业的问题。 存在内碎片:平均每一个作业要浪费半页大小的存储块。 不能实现真正意义上的共享 内存访问速度慢(取一次数据或指令至少要访问内存两次以上) 分段式存储管理 用户程序的二维结构 用户的程序结构不是一维的,多由主程序及一些子程序、过程、函数或模块构成,还包括各种数据结构,如堆栈、表格、变量等。即程序多由程序段和数据段组成。 分段式存储管理的基本思想概念 分段存储管理中的逻辑地址空间 用户程序的划分:按程序自身的逻辑关系划分为若干个程序段,例如主程序段(MAIN)、子程序段、数据段、堆栈段等,每个程序段都有一个段名,且有一个段号。段号从0开始,每一段也从0开始编址,段内地址是连续的 逻辑地址 用户通过数对:[段名,段内位移量]指定某段指令的地址。于是,用户的逻辑地址空间是二维的。 分段式存储管理中的内存分配 在段式存储管理方式中,以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少),但各段之间可以不连续存放 系统中为每个作业建立一个段映射表,称为“段表”。 分段式存储管理中的地址映射 为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表在内存中的开始地址和段表的长度。 分段地址转换过程如下: 根据段表寄存器找到该作业段表在内存中位置。 通过查询有效地址中的段号得到该段在主存中的起始地址。 将该段的主存地址和有效地址中的位移量相加,就得到所要访问的主存的物理地址。 逻辑地址被分为两部分:段号S和段内位移d。 物理地址=段始址+d 段式存储管理的硬件实现及存储保护 例:段式存储管理中由逻辑地址求物理地址 课本P68 段式存储管理存储保护与共享 分段系统易于实现段的共享,即允许若干个进程共享一个或多个段,而且对段的保护也十分简单易行。 段式存储可以规定各段的存取权限,实现段的保护。在段表表项中增加权限位:E代表可执行,不可读写;R代表允许读,不允许写;W代表允许写,而不允许读操作。 当用户违反了存取权限时,就会发生保护中断。 段式存储管理存储保护与共享 在段式存储管理中很容易实现段的共享,只需在作业的段表中都增加一个表项,让该段的基址指向共享段在内存中的起始地址即可。 页式存储管理和段式存储管理的主要区别 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。 段的长度却不固定,取决于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。 分页的作业地址空间是唯一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一个地址。 分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。 段页式存储管理 引入: 实行页式可以避免内存产生外部碎片,实行段式可以避免内存产生内部碎片。这表明分页和分段各有所长。若将分页和分段技术结合起来形成所谓的“段页式存储管理”,就必定能够取长补短,获得更好的存储管理效果。 段页式存储管理的基本思想 内存划分成大小相等的块 用户的作业地址空间按分段来管理(这与段式管理类同),系统在内部将该空间中的每一段按内存块的尺寸划分成固定大小的页(这与分页式管理类同)。 在这样的管理模式下,
文档评论(0)