分段存储管理方式的引入

分段存储管理方式的引入是为了满足用户的要求。

  1. 方便编程:通常一个作业是由多个程序段和数据段组成的,一般情况下,用户希望按逻辑关系对作业分段,并能根据名字来访问程序段和数据段。
  2. 信息共享:

    • 共享是以信息的逻辑单位为基础的。页是存储信息的物理单位,段却是信息的逻辑单位。
    • 页式管理中地址空间是一维的,主程序,子程序都顺序排列,共享公用子程序比较困难,一个共享过程可能需要几十个页面。
  3. 信息保护:

    • 页式管理中,一个页面中可能装有 2 个不同的子程序段的指令代码,不能通过页面共享实现共享一个逻辑上完整的子程序或数据块。
    • 段式管理中,可以以信息的逻辑单位进行保护。
  4. 动态增长:实际应用中,某些段(数据段)会不断增长,前面的存储管理方法均难以实现。
  5. 动态链接:动态链接在程序运行时才把主程序和要用到的目标程序(程序段)链接起来。

分段系统的空间划分

将用户作业的逻辑地址空间划分成若干个大小不等的段(由用户根据逻辑信息的相对完整来划分) 。各段有段名(常用段号代替) ,首地址为 0。

利用段表实现地址映射

段表

段表记录了段与内存位置的对应关系。
段表保存在内存中。
段表的基址及长度由段表寄存器给出。

访问一个字节的数据/指令需访问内存两次 (段表一次,内存一次)。
逻辑地址由段和段内地址组成。

在为作业分配内存时以段为单位,分配一段连续的物理地址空间,段间不必连续。
分页管理中,作业地址空间是一维的,逻辑地址是的线性地址。
分段管理中,整个作业的地址空间由于是分成多个段,因而是二维的,其逻辑地址由段号和段内地址所组成。

地址变换机构

系统将逻辑地址中的段号 S 与段表长度 TL 进行比较。

  • 若 S>TL,表示段号太大,是访问越界,于是产生越界中断信号。
  • 若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的始址。

再检查段内地址 d,是否超过该段的段长 SL。

  • 若超过,即 d >SL,同样发出越界中断信号。
  • 若未越界,则将该段的基址与段内地址 d 相加,即可得到要访问的内存物理地址。

信息共享

分段系统的一个突出优点,是易于实现段的共享,对段的保护也十分简单。

例:一个多用户系统,可同时接纳 40 个用户,都执行一个文本编辑程序 (Text Editor)。如果文本编辑程序有 160KB 的代码和另外 40 KB 的数据区,如果不共享,则总共需有 8 MB 的内存空间来支持 40 个用户。

可重入代码(Reentrant Code) 又称为“纯代码”(PureCode),是一种允许多个进程同时访问的代码。为使各个进程所执行的代码完全相同,绝对不允许可重入代码在执行中有任何改变。因此,可重入代码是一种不允许任何进程对它进行修改的代码。

如果 160 KB 的代码是可重入的,则无论是在分页系统还是在分段系统中,该代码都能被共享。
在内存中只需保留一份文本编辑程序的副本,此时所需的内存空间仅为 1760 KB(40×40+160),而不是(160+40)×40= 8000 KB 。

分页系统的共享

分段系统的共享

在分段系统中,实现共享容易得多,只需在每个进程的段表中为文本编辑程序设置一个段表项。

分页与分段的主要区别

  • 页是信息的物理单位,分页仅仅是由于系统管理的需要,对用户透明的。段是信息的逻辑单位,分段的目的是为了能更好的满足用户的需要。
  • 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分。段的长度却不固定,决定于用户所编写的程序。
  • 分页的作业地址空间是一维的,分段的作业地址空间是二维的。
  • 页和段都有存储保护机制。但存取权限不同:段有读、写和执行三种权限;而页只有读和写两种权限。

二者优点的结合:段页式存储管理

段页式存储管理的基本原理

  • 段页式存储管理是分段和分页原理的结合,即先将用户程序分成若干个段(段式) ,并为每一个段赋一个段名,再把每个段分成若干个页(页式) 。
  • 其地址结构由段号、段内页号、及页内位移三部分所组成。

  • 系统中设段表和页表,均存放于内存中。读一字节的指令或数据须访问内存三次。为提高执行速度可增设高速缓冲寄存器。
  • 每个进程一张段表,每个段一张页表。
  • 段表含段号、页表始址和页表长度。页表含页号和块号。

利用段表和页表实现地址映射

段页式存储管理的地址变换

  • 从 PCB 中取出段表始址和段表长度,装入段表寄存器。
  • 将段号与段表长度进行比较,若段号大于或等于段表长度,产生越界中断。
  • 利用段表始址与段号得到该段表项在段表中的位置。取出该段的页表始址和页表长度。
  • 将页号与页表长度进行比较,若页号大于或等于页表长度,产生越界中断。
  • 利用页表始址与页号得到该页表项在页表中的位置。
  • 取出该页的物理块号,与页内地址拼接得到实际的物理地址。

【操作系统】分段存储管理方式相关推荐

  1. 操作系统基本分段存储管理方式

    1.分段存储管理方式的引入 ---- 引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要: 1)方便编程 通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从0开始编址,并有自 ...

  2. 操作系统:基本分段存储管理方式

    虚拟内存采用的是分页技术,也就是将地址空间划分成固定大小的页,每一页再与内存进行映射. 下图为一个编译器在编译过程中建立的多个表,有 4 个表是动态增长的,如果使用分页系统的一维地址空间,动态增长的特 ...

  3. 基本分段存储管理方式详解

    4.4 基本分段存储管理方式 一.分段存储管理方式的引入 二.分段系统的基本原理 三.信息共享 四.段页式存储管理方式 一.分段存储管理方式的引入 分页存储管理方式存在的问题: 段间离散,段内连续! ...

  4. 操作系统 请求分页存储管理方式(含页面置换算法)

    1. 请求分页存储管理方式 请求分页系统是建立在基本分页基础上的,为了能支持虚拟存储器功能,而增加了请求调页功能和页面置换功能. 相应地,每次调入和换出的基本单位都是长度固定的页面.因此,请求分页便称 ...

  5. 分页和分段存储管理方式例题

    分页存储管理 1. 有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7.9.A.5块,试将虚地址0AFEH转换成内存地址.如果虚地址为3412D呢? (1)虚地址为0A ...

  6. 三十三、基本分段存储管理方式

    一.知识总览 二.分段 三.地址变换 四.分段.分页管理的对比 分段比分页更容易实现信息的共享和保护 不能被修改的代码成为纯代码或可重入代码(不属于临界资源),这样的代码是可以共享的.可修改的代码是不 ...

  7. 3.1.10 基本分段存储管理方式

    目录 思维导图 分段 段表 地址变换 分段 分页对比 思维导图 分段 段表 地址变换 分段 分页对比

  8. 12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理

    文章目录 1 基本分页存储管理 1.1 什么是分页存储 1.2 重要的数据结构--页表 1.3 基本地址变换机构 1.4 具有快表的地址变换机构 1.4.1 什么是快表(TLB) 1.4.2 引入快表 ...

  9. 操作系统:基本分页存储管理方式

    1.离散分配方式 ----连续分配方式(分区存储管理)要求把作业放在一个连续的存储区中,因而会形成许多"碎片",固定分区会产生内部碎片,动态分区会产生外部碎片.虽然可通过" ...

最新文章

  1. Redis-20Spring缓存机制整合Redis
  2. JAVA16版本.JDK16即将发布,你准备好了吗?
  3. 2017年------阿里大神带你详解Dubbo架构设计
  4. Subversion(SVN)/TortoiseSVN 的分支合并方法
  5. 万物皆可爬系列查看翻页翻到最后是什么
  6. SpringBoot集成Actuator健康指示器health
  7. snprintf/strncpy/strlcpy速度测试
  8. php判断电脑还是手机浏览器打开网页,PHP函数判断电脑端浏览器访问访问还是手机端浏览器访问...
  9. 一个B站下载视频的网站
  10. aspen压缩因子_利用aspen plus进行物性参数的估算
  11. python计算三角形面积_【Scratch算法编程】计算三角形面积
  12. class ts 扩展方法_ts各种类型和用法
  13. 常见的百度蜘蛛IP 日志分析
  14. python 归一化feed-dict程序代码_深度学习-中国大学mooc-题库零氪
  15. 前端react+scatter钱包+EOS的对接及账户余额查询。
  16. 2022年江苏省职业院校技能大赛中职赛项规程
  17. Web 容器、HTTP 服务器 、Servlet 容器区别与联系
  18. 显示器3d测试软件,3D显示器专题测试看上去很美.pdf
  19. NTSTATUS 状态码
  20. html 手写签名插件jSignature

热门文章

  1. hive数据增量同步方案
  2. 深度学习-nlp系列(4):Word2Vec 字词向量的训练和使用
  3. 苏春园与车品觉的私人早茶会:打数据之战,“自动化”是决胜关键
  4. iPhoneX设计稿适配Android,设计干货:iPhone X APP UI设计尺寸和适配【完整版】
  5. 清华计算机专业课程列表
  6. python tempstr 转换面积 平方米_python中的TempStr应用和温度转换
  7. 压缩解压zip文件包
  8. 眼睛流泪是什么原因?
  9. UI自动化测试之Selenium原理详解
  10. 项目经理怎样给领导汇报工作?