操作系统考试复习-—第四章 分段式 段页式存储方式

news2024/11/15 15:56:09

分段从存储管理方式:一方面是通常的程序都可以分为若干段,另一方面是实现和满足信息共享,信息保护,动态链接以及信息的动态增长等需要。也都是以段为基本单位实现的。所以说,分段存储管理方式更符合用户和程序员多方面的需要。

分段存储管理方式的引入

1.方便编程。

通常,用户把自己的作业按照逻辑关系划分为若干个段。程序员们都迫切地需要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。
 

2.信息共享。

实现对程序和数据的共享时,是以信息的逻辑单位为基础的。分页系统中的“页”只是存放信息的物理单位(块),并无完整的意义。而段却是信息的逻辑单位,因此可以为该被共享过程建立一个独立的段,极大地简化了共享的实现。
 

3.信息保护。

信息保护同样是对信息的逻辑单位进行保护的。在分页系统中,一个函数可能要占用若干个页面,而且其中的第一个和最后一个页面还会装有其它程序段的数据,它们可能有着不同的保护属性。
4.动态增长。

在实际应用中,往往存在一些段,尤其是数据段,在他们的使用过程中,由于数据量在不断增加,而使数据段动态增长,相应地他需要的存储空间也会动态增长。
 

5.动态链接。

运行时动态链接要求的是以目标程序(即段)作为链接的基本单位,因此,分段存储管理方式非常适合动态链接。

分段系统的基本原理

1.分段。
作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。每个段都从 0 开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而呈现出二维特性。其逻辑地址由短号和段内地址组成。

 2.段表。
在分段式存储管理系统中,则是为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。在系统中为每个进程建立一张段映射表,简称“段表”。每个段在表中占有一个表项,其中记录了该段在内存中的起始地址(又称为“基址”)和段的长度。可见,段表是用于实现从逻辑段到物理内存区的映射。

3.地址变换机构。
为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度 TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL 进行比较。若 S>TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址 d 是否超过该段的段长 SL。若超过,即 d>SL,同样发出越界中断信号;若未越界,则将该段的基址与段内地址相加,即可得到要访问的内存物理地址。

像分页系统一样,当段表放在内存中时,每要访问一个数据,都须访问两次内存,从而极大地降低了计算机的速率。解决的方法也和分页系统类似,再增设一个高速缓存,用于保存最近常用的段表项。

4.分页和分段的比较
相似之处:
两者都采用离散分配方式,且都要通过地址映射机构来实现地址变换。
不同:
1)页是信息的物理单位,分页是为了提高内存的利用率。段则是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要。
2)页的大小固定且由系统决定。而段的长度却不固定,决定于用户所编写的程序。
3)分页中用户程序的的逻辑地址空间是一维的,分页完全是系统的行为,只需要一个记忆符即可表示一个地址。而分段中用户程序的逻辑地址空间是二维的,在标识一个地址时,既需给出段名, 又需给出段内地址(正是因为段的大小不固定导致的)。

信息共享

1.分页系统中对程序和数据的共享。
虽然也能实现对程序和数据的共享,但远不如分段系统来得方便。

2.分段系统中对程序和数据的共享。
可重入代码又称为“纯代码”,是一种允许多个进程同时访问的代码。可重入代码是一种不允许任何进程对它进行修改的代码。但事实上,大多数代码在执行时都可能有些改变。为此,在每个进程中,都必须配以局部数据区,把在执行中可能改变的部分拷贝到该数据区,这样,程序在执行时,只需对该数据区(属于该进程私有)中的内容进行修改,并不去改变共享的代码,这时的可共享代码即成为可重入码。

段页式存储管理

1.基本原理。

段页式存储管理是结合了两者的存储管理方式。先将用户程序分成若干个段,再把每个段分成若干页,并为每一个段赋予一个段名。在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成。

段号段内页号页内地址

为了实现从逻辑地址到物理地址的变换,系统中需要同时配置段表和页表。段表的内容与分段系统略有不同,它不再是内存始址和段长,而是页表始址和页表长度。即一个分段对应一个页表。

2.地址变换过程。

为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。进行地址变换时,首先利用段号S,将它与段长TL进行比较。若S < TL,表示未越界,于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。

在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
解决方法仍类似快表。在地址变换机构中增设一个高速缓冲寄存器。每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JWT认证

一、什么是JWT 官网地址: https://jwt.io/introduction/ jsonwebtoken&#xff08;JWT&#xff09;是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任&…

华为nqa实验拓扑案例

bqa是一种实时的网络性能探测和统计技术&#xff0c;可以对响应时间、网络抖动、丢包率等网络信息进行统计。如图1所示&#xff0c;接口备份与NQA联动功能配置相对简单&#xff0c;只需在本端RouterA上配置NQA测试例&#xff0c;并在RouterA的备份接口上配置接口备份与NQA联动&…

自定义组件中如何注入Spring底层的组件

1.概述 自定义的组件要想使用Spring容器底层的一些组件&#xff0c;比如ApplicationContext&#xff08;IOC容器&#xff09;、底层的BeanFactory等等&#xff0c;那么只需要让自定义组件实现XxxAware接口即可。此时&#xff0c;Spring在创建对象的时候&#xff0c;会调用XxxA…

搞懂 API,API 常见技术使用场景分享

API&#xff08;应用程序编程接口&#xff09;是一种允许软件应用程序之间相互交互和通信的技术。以下是API常用的使用场景&#xff1a; 应用程序开发 API通常被用于网站或应用程序的开发中&#xff0c;以便在不同平台、语言及数据库之间获取数据或进行消息传递。例如&#xff…

探索数字化转型新道路!流辰信息微服务与您一起创未来!

科技在进步&#xff0c;社会在发展&#xff0c;办公自动化也在高速发展中。数字化转型是当下企业获得长久发展的趋势之一&#xff0c;在信息瞬间万变的社会中&#xff0c;谁掌握了核心技术&#xff0c;谁能与时代同步&#xff0c;谁就能开启新的康庄大道&#xff0c;谁就能在转…

VS2017配置Qt——超详细步骤教学(看完不会算你狠)

一、环境要求 visual studio 2017 vsaddin Qt14.1 mysql 注意mysql环境与msvc2017编译器环境保持一致。 mysql32位 配 msvc2017 32位 或 mysql64位 配 msvc2017 64位 注意&#xff1a;环境不一致会导致软件运行错误&#xff0c;为了避免这些错误&#xff0c;要将…

第1章计算机系统漫游之 “源代码的编译与执行” 及 “操作系统管理硬件”

文章目录 1、信息就是位上下文2、程序被其他程序翻译成不同的格式3、了解编译系统如何工作的益处4、处理器读并解释储存在存储器中的指令4.1 系统的硬件组成4.2 执行 hello 程序 5、高速缓存6、形成层次结构的存储设备7、操作系统管理硬件7.1 进程7.2 线程7.3 虚拟存储器7.4 文…

docker容器内使用cat命令修改文件

有时候docker容器内部没装vi 或vim命令&#xff0c;无法使用vi来修改文件 可以使用cat命令来查看文件 cat 主要功能一次显示整个文件:cat filename 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件 将几个文件合并为一个文件:cat file1 file2 > fi…

最新黄金市场价格分析之干掉调整浪

等待的过程无疑是最令人心烦的。各位朋友应该试过&#xff0c;等待自己的朋友、亲人&#xff0c;等等结果&#xff0c;等待成绩公布等等。但是等待是我们干任何事都必不可少的过程&#xff0c;是我们缓冲、蓄力的阶段。最新黄金市场价格分析中的等待&#xff0c;体现在调整浪的…

Python心经(3)

这一节总结点demo和常用知识点 目录 有关字符串格式化打印的 lambda匿名函数&#xff0c;&#xff0c;将匿名函数作为参数传入 文件读写 生成器 python的装饰器 简单的网站代码&#xff1a; 有关三元运算 推导式&#xff1a; 新浪面试题&#xff1a; 有关面向对象里…

SpringBoot项目中一些常用的,工具类

推荐多使用这个&#xff1a; Hutool参考文档Hutool&#xff0c;Java工具集https://hutool.cn/docs/#/core/%E9%9B%86%E5%90%88%E7%B1%BB/%E9%9B%86%E5%90%88%E5%B7%A5%E5%85%B7-CollUtil?id%e4%bb%8b%e7%bb%8d 1&#xff1a;断言 断言是一个逻辑判断&#xff0c;用于检查不应…

芯片封装技术(三)

Interposer 是一种用于连接芯片的中间层技术&#xff0c;它的基底通常是一块硅基底&#xff0c;而硅基底也是 Substrate 的一种。因此&#xff0c;Interposer 与 Substrate 有一定的关系。对于RDL Interposer来说&#xff0c;Si Interposer的信号布线密度进一步提高&#xff0c…

[Linux] Linux文件系统

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【LINUX】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 文章目录 一、Linux文件系统1.1 磁盘1.2 inode1.3 软硬…

Philosophy of life: growing flowers in your heart

Growing flowers in your heart An aged man lived in a nice cottage with a large garden in a town in England. He is seen busy looking after his flowers all time. 第一部分介绍的是: 有一个老人在英格兰的镇上有一个带大花园的屋子&#xff0c;他一直在忙着照顾他的花…

机器学习实战:带你进入AI世界!

机器学习是人工智能领域的一个重要分支&#xff0c;可以帮助我们从大量数据中发现规律&#xff0c;进行预测和分类等任务。然而&#xff0c;想要真正掌握机器学习算法&#xff0c;并将其应用到实际问题中&#xff0c;还需要进行大量的实战练习。 本文将介绍几个常见的机器学习实…

seurat -- 细胞注释部分

文章目录 brief寻找差异基因部分注释细胞部分详细参数 brief 细胞注释大概分为两步&#xff1a;差异基因 --> marker genes —> map reference 差异基因可以是表达量上存在差异也可以是表达细胞占比上存在差异&#xff0c;通常二者兼顾考虑。 marker genes 个人理解为…

蓝牙网状网络的基本原理及应用开发

借助蓝牙 5 的网状网络功能&#xff0c;开发人员可以增强无线连接系统&#xff08;如物联网设备&#xff09;的通信范围和网络可用性。但是&#xff0c;网状网络的低功耗无线硬件设计与网状网络软件开发之间存在着复杂的层次&#xff0c;这可能会使开发人员迅速陷入混乱并危及项…

GLM论文精读-自回归填空的通用语言模型

GLM作为ChatGLM的前期基础论文&#xff0c;值得精读。本文是对GLM论文的精读笔记&#xff0c;希望对大家有帮助。GLM主要思想概述&#xff0c;利用自回归填空的思想&#xff0c;基于transformer的编码器实现了同时在NLU和有无条件生成任务上较好的表现。 基本信息 原文&#…

设计模式 -- 备忘录模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

邮件营销自动化:优化营销流程,提升转化率

对于希望与客户联系&#xff0c;并推广其产品或服务的企业来说&#xff0c;电子邮件营销是一个强大的工具。然而&#xff0c;随着电子邮件通信量的持续增长&#xff0c;企业要跟上客户对个性化和及时性消息的需求&#xff0c;可能会面临一定的挑战。而这就是电子邮件营销自动化…