Linux操作系统段式存储管理、 段页式存储管理

1、段式存储管理

1.1分段

  • 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址。
  • 内存分配规则:以段为单位进行分配,每个段在内存中占连续空间,但各段之间可以不相邻。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 分段系统的逻辑地址结构由段号(段名)和段内地址(段内偏移量)所组成。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.2段表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 每一个程序设置一个段表,放在内存,属于进程的现场信息

1.3地址变换

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.4段的保护

  • 越界中断处理

1.进程在执行过程中,有时需要扩大分段,如数据段。由于要访问的地址超出原有的段长,所以发越界中断。操作系统处理中断时 ,首先判断该段的“扩充位”,如可扩充,则增加段的长度;否则按出错处理

  • 缺段中断处理
  1. 检查内存中是否有足够的空闲空间
    ①若有,则装入该段,修改有关数据结构,中断返回
    ②若没有,检查内存中空闲区的总和是否满足要求,是则应采用紧缩技术,转 ① ;否则,淘汰一(些)段,转①

1.5段的动态连接

  1. 为何要进行段的动态链接?
  2. 大型程序由若干程序段,若干数据段组成
  3. 进程的某些程序段在进程运行期间可能根本不用
  4. 互斥执行的程序段没有必要同时驻留内存
  5. 有些程序段执行一次后不再用到
  6. 静态链接花费时间,浪费空间
  • 在一个程序运行开始时,只将主程序段装配好并调入主存。其它各段的装配是在主程序段运行过程中逐步进行的。每当需要调用一个新段时,再将这个新段装配好,并与主程序段连接。
    页式存储管理:难以完成动态链接,其逻辑地址是一维的

1.6信息的保护与共享

  • 这里主要与页式存储管理进行一下对比。
  • 分段比分页更容易实现信息的共享和保护。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 纯代码举例:比如,有一个代码段只是简单的输出“Hello World!”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.7页式系统与段式系统的对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 补充:
  • 段长是可变的,页的大小是固定的。
  1. 分段存储:段内地址W字段溢出将产生越界中断。
  2. 分页存储:段内地址W字段溢出会自动加入到页号中。

1.8总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、段页式存储管理

2.1分页、分段的有缺点分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2基本思想

  • 用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)
  • 逻辑地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 内存划分:按页式存储管理方案
  • 内存分配:以页为单位进行分配

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3逻辑地址结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4段表页表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.5地址转换

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.6评价

  • 优点:
  1. 保留了分段和请求分页存储管理的全部优点
  2. 提供了虚存空间,能更有效利用主存
  • 缺点:
  1. 增加了硬件成本

  2. 系统复杂度较大

2.7总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
全部优点
2. 提供了虚存空间,能更有效利用主存

  • 缺点:
  1. 增加了硬件成本

  2. 系统复杂度较大

2.7总结

[外链图片转存中…(img-jMCdSzgh-1719021894217)]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis-事务-watch-unwatch

文章目录 1、监视key2、提交事务 1、监视key 打开两个窗口,第一个窗口先监视key,然后开始事务,然后再打开第二个窗口,修改balance为0 2、提交事务 此时事务被打断

分布式定时任务系列10:XXL-job源码分析之路由策略

传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 …

【深度学习驱动流体力学】计算流体力学算例剖析与实现

目录 一.求解器分类汇总压缩性流动求解器(Compressible Flow Solvers):不可压缩流动求解器(Incompressible Flow Solvers):多相流动求解器(Multiphase Flow Solvers):热传递求解器(Heat Transfer Solvers):其他特殊求解器:其他常见求解器:求解器分类:二.求解器案…

黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查

缓存菜品 后端服务都去查询数据库,对数据库访问压力增大。 解决方式:使用redis来缓存菜品,用内存比磁盘性能更高。 key :dish_分类id String key “dish_” categoryId; RestController("userDishController") RequestMapping…

Android Studio 安卓手机上实现火柴人动画(Java源代码—Python)

android:layout_marginLeft“88dp” android:layout_marginTop“244dp” android:text“Python” android:textSize“25sp” app:layout_constraintStart_toStartOf“parent” app:layout_constraintTop_toTopOf“parent” /> </androidx.constraintlayout.widget.…

【尚庭公寓SpringBoot + Vue 项目实战】看房预约管理(十三)

【尚庭公寓SpringBoot Vue 项目实战】看房预约管理&#xff08;十三&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】看房预约管理&#xff08;十三&#xff09;1、业务说明2、代码开发2.1、根据条件分页查询预约信息2.2、根据ID更新预约状态 1、业务说明 看房预约…

Vue77-编程式路由

一、需求 不写<router-link>实行路由的跳转。 因为<router-link>的本质是<a>&#xff0c;但是&#xff0c;有时&#xff0c;导航不一定是a标签&#xff01;或者&#xff0c;有时需要等一段时间&#xff0c;页面才跳转。 二、代码实现 三、小结

macbook配置adb环境和用adb操作安卓手机

&#xff08;参考&#xff1a;ADB工具包的安装与使用_adb工具箱-CSDN博客&#xff09; 第一步&#xff1a;从Android开发者网站下载Android SDK&#xff08;软件开发工具包&#xff09;。下载地址为&#xff1a; 第二步&#xff1a;解压下载的SDK压缩文件到某个目录中。 进入解…

ubuntu 18.04 server源码编译安装freeswitch 1.10.11——筑梦之路

前言 这里主要编译支持语音通话、视频通话、短信、webrtc功能的PBX。 安装编译工具包和依赖包 sudo apt-get updatesudo apt-get install -y autoconf git libtool g zlib1g-dev libjpeg-dev libcurl4-openssl-dev libspeex-dev libldns-dev libedit-dev libssl-dev pkg-con…

pywebview打包本地的html

51.安装 pip install pywebview 2.新建start.py import webview import timeclass API:def say_hello(self, name):time.sleep(2) # 模拟一个耗时操作return fHello, {name}!def main():api API()webview.create_window(pywebview Example, index.html, js_apiapi)webview.…

Java 集合框架详谈及代码分析(Iterable->Collection->List、Set->各接口实现类、Map->各接口实现类)

目录 Java 集合框架详谈及代码分析&#xff08;Iterable->Collection->List、Set->各接口实现类、Map->各接口实现类&#xff09;1、集合概述1-1&#xff1a;Java 集合概述1-2&#xff1a;List、Set、Map 三者的区别&#xff1f;1-3&#xff1a;集合框架底层数据结…

卡尔曼滤波-剔除异常值的影响

二郎在看论文的时候&#xff0c;发现了一个针对卡尔曼滤波过程中&#xff0c;测量向量出现误差导致滤波发散的处理方法。 该方法也可以扩展到其他问题中使用&#xff0c;所以二郎在这里写一下。 论文原文&#xff1a;https://www.mdpi.com/1424-8220/20/17/4710 论文翻译对应…

linux使用docker部署kafka集群

1、拉取kafka docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper 2、创建网络 docker network create app-kafka 3、启动zookeeper docker run -d \--name zookeeper \-p 2181:2181 \--network app-kafka \--restart always \wurstmeister/zookeeper …

电磁兼容试验数据的单位转换 笔记

1. 单位dB 的介绍 分贝&#xff08;decibel&#xff0c;/dɛsɪ.bɛl/&#xff09;是量度两个相同单位之数量比例的计量单位&#xff0c;主要用于度量声音强度&#xff0c;常用dB表示。 分贝是较常用的计量单位。可表示为&#xff1a; 1. 表示功率量之比的一种单位&#xff0c…

新手教学系列——“笑看”单元测试(pytest)

探索单元测试的必要性 你是否曾经思考过,当前的业务场景是否真的需要单元测试?我们每个人负责的模块是否也需要单元测试?什么阻碍了我们进行单元测试呢?时间紧,任务重,还要写测试?这些都是我们在开发过程中常见的问题。假设我们有一个计划开发一周的项目,让我们看看有…

Jenkins nginx自动化构建前端vue项目

在现代的Web开发中&#xff0c;Vue.js已经成为一种非常流行的JavaScript框架。为了更高效地管理和部署Vue.js项目&#xff0c;使用自动化构建工具是至关重要的。Jenkins作为一款强大的持续集成和持续部署&#xff08;CI/CD&#xff09;工具&#xff0c;为我们提供了一种便捷的方…

控制下属很简单,用好这3大管人绝招,再跳的刺头也不敢造次

控制下属很简单&#xff0c;用好这3大管人绝招&#xff0c;再跳的刺头也不敢造次 第一招&#xff1a;给压力 很多团队中的员工都是自己不带脑子工作&#xff0c;遇事就喜欢请示领导&#xff0c;让领导拿方案、拿决策。 还有一些人&#xff0c;推一下&#xff0c;他才动一下&a…

【数据库】七、数据库安全与保护

七、数据库安全与保护 文章目录 七、数据库安全与保护安全性访问控制数据库安全性控制用户标识和鉴别存取控制自主存取控制(DAC)存取控制方法&#xff1a;授权与回收GRANT授权REVOKE回收 强制存取控制(MAC) MySQL的安全设置用户管理1.创建登录用户2.修改用户密码3.修改用户名4.…

L02_并发编程知识图谱

这些知识点你都掌握了吗&#xff1f;大家可以对着问题看下自己掌握程度如何&#xff1f;对于没掌握的知识点&#xff0c;大家自行网上搜索&#xff0c;都会有对应答案&#xff0c;本文不做知识点详细说明&#xff0c;只做简要文字或图示引导。 并发理论 并发编程Bug源头 为了…

Ant Design Vue中的Table和Tag的基础应用

目录 一、Table表格 1.1、显示表格 1.2、列内容过长省略展示 1.3、完整分页 1.4、表头列颜色设置 二、Tag标签 2.1、根据条件显示不同颜色 2.2、控制关闭事件 一、Table表格 效果展示&#xff1a; 官网&#xff1a;Ant Design Vue 1.1、显示表格 <a-tableref&quo…