分段管理及段页管理

news2024/12/28 9:44:48

一、 分段

        程序的逻辑关系被划分为不同的段,每个段有一个段名,并且每个段都从0开始编址。这些段在内存中分配,每个段占据连续的内存空间,但不同段之间可以不相邻。

这种分段管理有一些特点和优势:

  1. 逻辑划分: 每个段都有一个明确定义的逻辑关系,这有助于程序员理解和维护代码。

  2. 段名标识: 段名用于在低级语言中编程,使程序员能够直接引用特定的段。

  3. 内存分配灵活: 段在内存中占据连续空间,但不同段之间可以不相邻,这提供了更大的灵活性,允许进程的地址空间可以不需要完全连续。

  4. 模块化: 通过将程序划分为逻辑上相关的段,可以实现更好的模块化和代码组织。

  5. 代码复用: 不同的段可以独立地进行编译和链接,有助于代码的重用和维护。

        在这种管理方式下,操作系统负责将程序的不同段加载到内存中,并维护它们之间的关系。这种分段管理的一个缺点是可能会产生外部碎片,因为不同段可以在内存中不相邻,导致一些零散的未被使用的内存空间。为了解决这个问题,一些系统引入了分页管理,将内存进一步划分为页面,以更好地利用内存空间。

        页是信息的物理单位。分页的主要目的是为了实现离散分配,提高内存利用率。分页仅仅是系统管理上的需要,完全是系统行为,对用户是不可见的。

        段是信息的逻辑单位。分段的主要目的是更好地满足用户需求。一个段通常包含着一组属于一个逻辑模块的信息。分段对用户是可见的,用户编程时需要显式地给出段名。

        页的大小固定且由系统决定。段的长度却不固定,决定于用户编写的程序。分页的用户进程地址空间是一维的,程序员只需给出一个记忆符即可表示一个地址。分段的用户进程地址空间是二维的,程序员在标识一个地址时,既要给出段名,也要给出段内地址。

分段比分页更容易实现信息的共享和保护

  1. 分段

    • 特点:将信息分割成较小的单元,每个单元都包含一定量的信息。
    • 信息共享:容易实现信息的局部共享,只需分享特定段落或单元。
    • 信息保护:可以更灵活地控制对不同段落或单元的访问权限,实现细粒度的权限管理。
    • 实现难度:相对较容易实现,不需要考虑整体结构的完整性。
  2. 分页

    • 特点:将信息分割成页面,每个页面包含多个段落或单元。
    • 信息共享:整页分享,不如分段灵活,需要分享更多信息。
    • 信息保护:权限控制相对整页更为复杂,可能需要更高级的权限管理系统。
    • 实现难度:在某些情况下可能比较容易实现,但可能需要更多的系统资源

 分页(单级页表):第一次访存一一查内存中的页表,第二次访存一一访问目标内存单元。总共两次访存分段:第一次访存一一查内存中的段表,第二次访存一一访问目标内存单元。总共两次访存与分页系统类似,分段系统中也可以引入快表机构,将近期访问过的段表项放到快表中,这样可以少一次访问,加快地址变换速度。


二、段页式管理

  1. 段页管理(Segmentation with Paging)

    • 结合方式:将程序的地址空间首先划分为若干段,每个段内再使用分页技术。
    • 优点:克服了分段和分页各自的缺点,提供了更灵活和高效的内存管理。
    • 实现:使用段表来映射段的基址和长度,每个段内使用页表来映射页的逻辑地址到物理地址。
    • 灵活性:可以在段内采用不同大小的页,提高对不同类型数据的适应性。
  2. 工作流程

    • 当程序引用一个地址时,先通过段表找到对应的段。
    • 接着,通过页表找到该地址在段内的具体位置。
    • 最后,得到物理地址,可以访问实际的数据。

段页管理结合了分段和分页的优点,提供了更灵活和高效的内存管理方式。这种方式在现代操作系统中广泛应用,允许了更好的内存利用率、虚拟内存支持以及动态增长的特性。

 

 

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

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

相关文章

SpringBoot已经禁掉了循环依赖!

还在问循环依赖嘛?SpringBoot已经禁掉了循环依赖! 首发2023-12-18 11:26yuan人生 如果现在面试时还有人问你循环依赖,你就这样怼他:循环依赖是一种代码质量低下的表现,springboot2.6之后的版本已经默认禁用了。 Spr…

计算机与自动医疗检查仓:技术革新引领医疗未来

计算机与自动医疗检查仓:技术革新引领医疗未来 一、引言 随着科技的飞速发展,人工智能(AI)和机器学习(ML)已经成为现代社会不可或缺的一部分。它们的应用领域日益扩展,从简单的日常任务到复杂…

云原生系列2-GitLab和Jenkins

1、GitLab类似github,是个私有仓库 1、GitLab安装,至少8G内存4核cpu # 查找Gitlab镜像 docker search gitlab/gitlab-ce # gitlab镜像拉取 docker pull gitlab/gitlab-ce # 查看镜像 docker images # 本机先建3个目录,为了gitlab容器通过挂…

【C语言】自定义类型:结构体深入解析(一)

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…

Moonbeam生态项目分析 — — 跨链借贷协议Orbiter One

概览 Orbiter One是一个非托管的借贷协议和DeFi中心,专注于跨链互操作性。通过使用从借贷中赚取的ORB Token铸造的Intergactic Whiskers Brigade NFT,用户可以质押并获得额外奖励,借贷和跨链存款则可以在不离开Moonbeam的情况下无缝参与其他…

听说蚂蚁的职级调整了

上周三听说蚂蚁的职级调整了,让我们来看一下具体的改革方案: 简单地说,就是把原来的 PN 级一拆二,拆成 2N 和 2N1 级。 从本质上来看,就是把原来扁平化的宽职级变多了,相当于 double 了。 那职级变多有什…

初探 Reactor、Proactor 线程模型与 BIO、AIO、NIO

1 前言 工作中或者是技术上经常会遇到 I/O 、线程模型相关的问题,以及同步、异步、阻塞、非阻塞等各种基础问题,之前上学时候的概念认知总是模糊的,一知半解。趁这次了解希望能够更加深入的去了解这方面的知识,于是有了接下来这篇…

AWS 知识一:如何在AWS上启动云AD服务器(详细到极致)

前言: 首先这里指的云AD服务器,只是为了让读友更好理解。云AD服务器在AWS中称为目录。AWS一共提供了4种目录类别,下面我将全程使用AWS托管微软AD这种目录类别进行示例。他完全提供了和Microsoft AD的功能,包括NTLM,Ker…

Android-Binder基本原理

一、进程角度看IPC机制 在Android系统中,每个进程只能运行在自己所拥有的虚拟地址空间。例如,一个4GB的虚拟地址空间,包含3GB的用户空间和1GB的内核空间,内核空间的大小可以通过参数配置进行调整。两个进程之间的用户空间是彼此独…

如何开发一个免费的App

开发一个免费App意味着能够在项目启动初期,以更低成本的方式进行业务的迭代和市场化验证。 互联网发展到2023年,尤其在生成式AI及大模型技术“跃进式”增长的背景下,一个创新式商业模式的起步变得异常艰难。但如果用好工具,那么不…

【网络安全】—计算机网络基础

文章目录 网络必备基础物理层数据链路层与交换机网络模型OSI/TCP对等传输虚拟局域网VLAN静态路由与配置网络地址转换NAT访问控制列表ACLIP协议与IP地址分类子网掩码网关子网划分总结 计算机网络是指将地理位置不同的、功能独立的多台计算机通过通信线路连接起来,以功…

前端基础Vue项目中的插槽使用

概念 简单理解就是组件内部留一个或多个的插槽位置&#xff0c;可供组件传对应的模板代码进去。插槽的出现&#xff0c;让组件变的更加灵活。 1. 匿名插槽 父组件 <son><p>我是父组件通过匿名插槽传输的内容</p></son> 子组件 <template><di…

透过清澈的眼眸:新生儿视力检测的重要性与留意事项

引言&#xff1a; 新生儿的视力发展是其整体感知和认知能力的基础。因此&#xff0c;进行新生儿视力检测是保障他们健康成长的关键一步。本文将深入探讨新生儿视力检测的重要性&#xff0c;并提供父母在这一过程中需要留意的关键事项&#xff0c;以确保宝宝在视觉方面的正常发…

50ms时延工业相机

华睿工业相机A3504CG000 参数配置&#xff1a; 相机端到端理论时延&#xff1a;80ms 厂家同步信息&#xff0c;此款设备帧率上线23fps&#xff0c;单帧时延&#xff1a;43.48ms&#xff0c;按照一图缓存加上传输显示的话&#xff0c;厂家预估时延在&#xff1a;80ms 厂家还有…

2018年第七届数学建模国际赛小美赛C题共享单车对城市交通的影响解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 C题 共享单车对城市交通的影响 原题再现&#xff1a; 共享自行车改变了许多城市的交通状况&#xff0c;许多大城市引入共享自行车来解决交通问题。我们需要定量评估共享自行车对城市交通的影响&#xff0c;以及相关的经济、社会和环境影响。…

人工智能辅助下的人工心脏:未来医疗的奇迹

导言 人工智能在医学领域的应用不断创新&#xff0c;其中人工心脏作为医疗工程的重要方向&#xff0c;将为心血管疾病患者带来新的治疗可能性。本文将深入研究人工智能辅助下的人工心脏技术&#xff0c;其原理、应用以及对未来医疗的影响&#xff0c;探讨人工心脏的发展历程、面…

七轴开源协作机械臂myArm视觉跟踪技术!

引言 ArUco标记是一种基于二维码的标记&#xff0c;可以被用于高效的场景识别和位置跟踪。这些标记的简单性和高效性使其成为机器视觉领域的理想选择&#xff0c;特别是在需要实时和高精度跟踪的场景中。结合机器学习和先进的图像处理技术&#xff0c;使用ArUco标记的机械臂系统…

安卓自动化 APP:轻松关闭任意开屏广告 | 开源日报 No.116

gkd-kit/gkd Stars: 8.7k License: GPL-3.0 基于无障碍 高级选择器 订阅规则的自定义屏幕点击 APP&#xff0c;主要功能包括实现跳过任意开屏广告、关闭应用内部弹窗广告以及一些快捷操作&#xff0c;如微信电脑登录自动同意和领取红包等。其核心优势和特点包括&#xff1a;…

[Ray Tracing in One Weekend] 笔记

前言 本文参照自raytracing in one weekend教程&#xff0c;地址为&#xff1a;https://raytracing.github.io/books/RayTracingInOneWeekend.html 什么是光线追踪&#xff1f; 光线追踪模拟现实中的成像原理&#xff0c;通过模拟一条条直线在场景内反射折射&#xff0c;最终…

【深度学习目标检测】十、基于yolov5的火灾烟雾识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…