【操作系统知识】段页式存储管理

2023-11-10

本文转载地址:https://blog.csdn.net/shuxnhs/article/details/80789570

分页与分段的区别

1.页是信息的物理单位,是系统管理的需要而不是用户的需要;而段是信息的逻辑单位,分段是为了更好地满足用户的需要
2.页的大小固定且由系统决定,一个系统只能有一种大小的页面;而段的长度不固定,由用户所编写的程序决定。
3.分页式作业的地址空间是一维的,页间的逻辑地址是连续的;而分段式作业的地址空间则是二维的,段间的逻辑地址是不连续的。

段式存储管理

段:用户编制的程序可以由一个主程序、若干个子程序、符号表、栈以及数据等若干段组成,每一段都有独立、完整的逻辑意义,每一个段的长度可以不同
段式存储管理:以段为单位进行存储空间的管理。段内地址是连续的,段与段之间的地址是不连续的(占据内存的连续区域)

段的逻辑地址 

每个段的大小为2的16次方B,总共有2的16次方个段


段式存储空间的分配

1.段表:系统为每个进程创建一张段映射表,每个段在表中有一个表项记录该段在内存中的起始地址(基址)和长度(段长)。
功能:实现了逻辑段到内存空间之间的映射。

段表,段的装入示意图

 

2.分配:以段为单位进行主存分配,每段在主存中占有一个连续空间;如果在装入某段信息时找不到满足该段地址空间大小的空闲区则采用移动技术合并分散的空闲区,有利于大作业的装入

3.去配:
检查是否存在和与回收区相邻的空闲区,有则合并。

4改进(页式的快表类似):
段表存在主存中,访问数据或指令至少需要访问两次,为了提高对段表的存取速度,增设了一个相联寄存器(CPU内部),利用高速缓冲寄存器保存最近常用的段表项。

段式存储空间的地址转换与存储保护

动态重定位装入作业
地址转换依据:段表的表目(起到了基址寄存器和限长寄存器的作用)

地址转换示意图

 

开始→→段表送入段表控制寄存器中→→执行指令:找到相应段表→→判断:段号>段表长度?→→大于则地址越界,小于等于→→由逻辑地址中的段号得到段表中的基址(起始地址)→→判断:逻辑地址中段内地址>段表中段长→→大于则地址越界,反之,起始地址加段内地址访问主存

段的共享

实现方法:各个进程对共享段使用相同的段名,在各自段表中填入共享段的基址,并给与读写控制权

注意
共享程序段的指令和数据在执行过程中不能被修改
正在被某进程使用或即将被使用的共享段不可以置换出内存(设置共享位可以判别该段是否被某个进程调用)

段页式存储管理

兼顾了段式在逻辑上的清晰和页式在管理上方便的特点
基本思想
段页式存储管理为每一个装入内存的作业建立一张段表,对每一段建立一张页表;
段表的长度由作业分段的个数决定,段表中的每一个表目指出本段页表的始址和长度;
页表的长度则由对应段所划分的页面数所决定,页表中的每一个表目指出本段的逻辑页号与内存物理块号之间的对应关系。

段表、页表与主存的关系


段页式存储空间的地址转换与保护(越界中断)

段页式地址转换

地址转换过程中需要三次访问内存
第一次:访问段表,获得页表始址
第二次:访问页表,获取块号,获得指令或数据的物理地址
第三次:按物理地址存取信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【操作系统知识】段页式存储管理 的相关文章

  • 在linux下编译多线程需要如下设置

    编译时这样输入命令 gcc xxx c o xxx out lpthread
  • LeetCode知识点总结 - 1710

    LeetCode 1710 Maximum Units on a Truck 考点 难度 Sorting Easy 题目 You are assigned to put some amount of boxes onto one truck
  • Xilinx 7系FPGA LVDS使用要注意了,供电不能搞错

    最近新做了一块板子 用到Spartan 7芯片对前级视频源叠加OSD菜单 前级会将HMDI转成LVDS送给FPGA处理 在原理图设计阶段没有仔细阅读fpga手册 导致LVDS BANK供电错误 应该接2 5V 实际接3 3V 且BANK供电
  • 射频与无线技术入门 读书记录

    一 基础概念 无线系统框图 瓦特W 功率测量单位 能量 功率 时间 如100W的灯泡亮了2小时 能量就是100w 2 就是200W H的能量 波段 使用字母表示一定范围的频率 载波 载波只能使用模拟信号 在这个模拟信号上承载模拟或者数字信息
  • 跨域的解决方案

    一 跨域 1 概念 指的是浏览器不能执行其他网站的脚本 它是由浏览器的同源策略造成的 是 浏览器对javascript施加的安全限制 2 同源策略 是指协议 域名 端口都要相同 其中有一个不同都会产生跨域 3 跨域流程 二 解决跨域方案 1
  • [转载] 陈皓——程序员技术练级攻略

    PS 原文出自酷壳上的陈皓对程序员从入门到精通的攻略 让你感受一下真正的大神吧 又是阿里人 他的文章真心不错 希望对你也有用 原文地址 http coolshell cn articles 4990 html 陈皓酷壳博客地址 http c
  • oracle failover mode,Oracle RAC FailOver配置

    Oracle RAC FailOver配置 Oracle RAC主要为数据库的应用提供了HA High Available 的环境 HA体现在负载均衡 loadbalance 和容错 failover 两个方面 Oracle RAC 的Fa
  • 机器学习---期望+方差+标准差+协方差

    1 期望 在概率论和统计学中 数学期望 mathematic expectation 或均值 亦简称期望 是试验中每次可能结果的概率乘以其结果的总和 是最基本的数学特征之一 它反映随机变量平均取值的大小 大数定律表明 随着重复次数接近无穷大
  • Optimal Coin Change(完全背包计数)

    题目描述 In a 10 dollar shop everything is worthy 10 dollars or less In order to serve customers more effectively at the cas
  • Java对象序列化

    Java 对象序列化 对象序列化的目标是将对象保存到磁盘中 或允许在网络中直接传输对象 对象序列化机制允许把内存中的 java 对象转换成为与平台无关的二进制流 从而允许把这种二进制流持久保存到磁盘上 实现对象序列化 该类实现接口 seri
  • texstudio与ctex_Latex的使用(Ctex+TeXstudio)

    1 下载 CTEX Latex 本来是只支持英文的 但是实在太好用了 遂结合中国的团队以及有识之士 开发了这个 CTEX CTEX 有 TexLive TexLive 为 Latex 安装包的名字 的所有内容 还包括了中文的支持 所以这里我
  • 【C++】详解inline

    2023年8月28日 周一晚上 目录 优点 缺点 使用条件 为什么调用函数会有开销 举例说明 优点 当使用inline关键字声明一个函数时 编译器会将函数体内联到所有调用该函数的地方 这可以提高执行效率 因为无需进行函数调用的开销 缺点 但
  • android 日期控件

    相关布局文件
  • android:OKHttp的使用

    1 之前学习了两种基于http访问服务器的方法 一种是HttpURLConenction 一种是Apache下的HttpClient 说实话 这两种方法操作起来都不是很简单明了 所以当前首选的网络通信库是由Square公司开发的OKHttp
  • 有关C++,Qt中使用指针的注意事项

    1 指针一般在创建的时候都应该初始化 除非你能保证要么你不会用到这个指针 要么在你使用之前它以及被被初始化了 如果不初始化 它就是野指针 在Debug模式下 VC 编译器会把未初始化的栈内存上的指针全部填成 0xcccccccc 当字符串看
  • RUNOOB python练习题6 斐波那契数列

    用来练手的python 练习题其六 原链接 python练习实例6 题干 斐波那契数列 斐波那契数列可以说是很好的递归理解工具了 这里就用递归实现一下斐波那契数列 源代码如下 返回fibonacci数列中某一项的数值 def Fibonac
  • 【面试题】2023年最新前端面试题-react篇

    原文见 语雀 https www yuque com deepstates interview hia3k3 核心概念 元素渲染 组件 props state refs 使用场景 如何创建 如何访问 组件通信 父子 祖孙 兄弟组件通信 生命
  • 【golang/go语言】Go语言代码实践——高复用、易扩展性代码训练

    某个项目里有一段老代码写的不是很好 想着能否通过自己掌握的知识 将其改善一下 感兴趣的小伙伴可以通过了解背景和需求 自己试想下该如何实现 如果有更好的方案也欢迎留言讨论 1 背景及需求 1 背景 假设我们的下游提供了一个定时任务接口Cron
  • linux编译命令——make -j18

    项目越来越大 每次需要重新编译整个项目都是一件很浪费时间的事情 Research了一下 找到以下可以帮助提高速度的方法 总结一下 1 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4 5小时减少到了5分钟 也许这

随机推荐

  • Browsersync的安装及使用方法

    Browsersync介绍 Browsersync是浏览器同步测试工具 Browsersync能让浏览器实时 快速响应文件更改 html js css sass less等 并自动刷新页面 省去手动F5的事件 更重要的是 Browsersy
  • 模拟电路设计(24)---几种不同类型的A/D转换器的转换原理

    A D转换器是将模拟信号变换成相应的数字信号的装置 今天来介绍几种不同类型的A D转换器的转换原理 双积分式A D转换器的转换原理 这种转换本质是一种V T 电压 时间 的转换 如下图所示 它的一次转换基本工作原理可以分成三个工作阶段 双积
  • 为什么要学设计模式?

    01 什么是设计模式 设计模式 Design Pattern 代表了最佳的实践 通常被有经验的面向对象的软件开发人员所采用 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 这些解决方案是众多软件开发人员经过相当长一段时间的试
  • 亚马逊云科技 云技能孵化营——我的云技能之旅

    文章目录 每日一句正能量 前言 活动流程 后记 每日一句正能量 不能在已经获得足够多的成功时 还对自己的能力保持怀疑 露出自信的微笑 走出自信的步伐 做一个自信的人 前言 亚马逊云科技 Amazon Web Services 是全球云计算的
  • 事务的隔离级别

    脏读 脏读是指某一个事务读取到了其他事务未提交的数据 如果此数据回滚 将导致读取到的数据是错误的数据 不可重复读 指某个事务在开启后 读取某个范围或者某条数据时 在此事务未结束的时间里内 其他事务对表内的数据进行了添加 或者更改了某一条或者
  • 关于工作流应用的思考

    我今天在学习的过程中突然思考了一个问题 即工作流在多数企业中用不起来主要有两个原因 1 信息化程度不够 2 工作流不够灵活 下面我以大学业务管理为例 对以上两个原因进行说明 由于各个学院各个单位的系统相互独立 所以学院内部的工作通常由内部系
  • 数据结构之图的遍历

    什么是图的遍历 图的遍历是对一张图中所有节点进行访问的过程 在图遍历中 我们从图中的某个节点开始 沿着边一直访问其他节点 直到访问完所有与该节点有连通关系的节点 遍历过程中需要遵循一定的遍历规则 常见的有深度优先遍历和广度优先遍历 深度优先
  • ECCV2022 多目标跟踪(MOT)汇总

    一 Towards Grand Unification of Object Tracking 作者 Bin Yan1 Yi Jiang2 Peize Sun3 Dong Wang1 Zehuan Yuan2 Ping Luo3 and Hu
  • 在windows下面使用flex和bison编写文件解析器

    本文的目的是介绍如何解决在windows下使用flex和bison编写文件解析器的一些问题 我水平不高 对与flex bison gnu linux也没有什么深刻的理解 只是觉得对于这方 面的具体的问题好像没有人提及 所以把自己在使用过程中
  • Spring Boot中的静态资源应该放在哪里?

    Spring Boot中的静态资源应该放在哪里 在开发基于Spring Boot的Web应用程序时 我们经常需要处理静态资源 如CSS样式表 JavaScript脚本和图像文件等 Spring Boot提供了默认的静态资源路径和规则 但我们
  • 波特率(baud)与比特率(bit/s)的差别

    波特率 表示每秒钟传送的符号数 比特率 表示每秒钟传送的比特数 例 传输使用256阶符号 每8bit代表一个符号 资料传送速率为120字符 秒 则波特率就是120baud 比特率是120 8 960bit s 此例中 120baud 120
  • Django封装外部函数

    需求 我们来模拟用户登录 验证是否输入正确的用户名和密码 1 构建登录表单
  • 如何在 K8s 集群中使用 Nocalhost 开发 APISIX Ingress

    环境准备 准备一个可用的 Kubernetes 集群 可使用任意拥有命名空间管理权限的 Kubernetes 集群 本地已安装好 Helm v3 0 集群中已安装好 Apache APISIX GoLand IDE 2020 03 本文应用
  • 用SQL语句从AD中读取用户相关属性 从AD中读取用户的相关属性

    参考原文链接 http www myexception cn sql server 1011477 html EXEC sp addlinkedserver ADSI Active Directory Services 2 5 ADSDSO
  • chrome浏览器安装WebGL-Inspector插件

    参考文章 https www scaugreen cn posts 57656 下载地址 程序包无效 CRX HEADER INVALID 网上的解决办法是改后缀名为 rar 手动解压后 选择加载已解压的扩展程序 具体可看解决Chrome插
  • 激活函数总结

    关于激活函数的总结 一 sigmoid激活函数 公式 1 1 exp w1x1 w2x2 sigmoid函数是一条穿过 0 0 5 的s型曲线 上下限分别无限逼近1 0 sigmoid函数的缺点 1 倾向于梯度消失 2 执行指数运算 计算速
  • OpenCV(C++) 基础(四)-- 边缘检测与霍夫变换

    1 边缘检测 Sobel 灵活调整水平或者垂直边缘检测 基于高斯平滑和微分求导 void Sobel src dst depth dx dy ksize 3 depth 对应图像类型 dx dy x y方向的差分阶数 控制在x y轴上的边缘
  • 学习笔记:STM32的ACD

    STM32f103系列有3个ADC ADC1 ADC2 ADC3 通道 ADC1和ADC2都有16个外部通道 2个内部通道 连接到温度传感器和内部参考电压 VREFINT 1 2V ADC3有8个外部通道 通道列表 通道顺序转换 使用多个通
  • Java—斗地主的洗牌发牌系统(积小流成江海)

    不爱生姜不吃醋 原创不易 转载请注明原链接 前序文章 Java基础 学籍管理系统 文章目录 一 斗地主 1 前言 2 介绍 3 图解 二 准备牌 1 代码示例 2 数据展示 三 洗发牌与排序 代码示例 四 看牌 打印到控制台 1 代码示例
  • 【操作系统知识】段页式存储管理

    本文转载地址 https blog csdn net shuxnhs article details 80789570 分页与分段的区别 1 页是信息的物理单位 是系统管理的需要而不是用户的需要 而段是信息的逻辑单位 分段是为了更好地满足用