Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】软考中级-软件设计师 029-操作系统(段式存储和段页式存储)

【愚公系列】软考中级-软件设计师 029-操作系统(段式存储和段页式存储)

原创
作者头像
愚公搬代码
发布于 2024-02-10 03:23:28
发布于 2024-02-10 03:23:28
3720
举报

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、联网、络安全、数据、工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

操作系统的存储管理是指操作系统对计算机内存的管理和分配。内存是计算机中用于存储程序和数据的部分,因此它的管理对于计算机的运行和性能至关重要。

操作系统的存储管理可以进行以下几个方面的工作:

1.内存分配:操作系统负责将可用的内存空间划分给正在运行的程序。常用的内存分配方法有分区分配和页式分配两种。在分区分配中,内存被划分为多个固定大小的分区,每个分区用于存储一个程序。在页式分配中,内存被划分为固定大小的页框,程序被划分为多个页,每个页可以被放置到不同的页框中。

2.内存保护:操作系统通过内存保护机制,防止程序越界访问其他程序或操作系统的内存空间。常用的内存保护方法有内存分段和内存分页两种。

3.内存回收:当一个程序完成运行或者被终止时,操作系统需要回收该程序占用的内存空间。回收内存的方法有释放分区和清除页框两种。

4.内存交换:当内存不足时,操作系统可以将部分不常用的程序或数据交换到磁盘上,以释放出更多的内存空间。这个过程称为内存交换。

5.虚拟内存:操作系统可以使用虚拟内存技术来扩展计算机的内存容量。虚拟内存将磁盘空间作为辅助存储器,将部分程序和数据存储在磁盘上,提供了比实际物理内存更大的地址空间。

🚀一、段式存储和段页式存储

🔎1.段式存储

段式存储是操作系统中的一种存储管理技术,它将程序的逻辑地址空间划分为多个不同大小的段,每个段包含了一组相关的逻辑地址。段式存储的主要目的是提供更灵活的内存分配和管理方式,以满足不同程序的需求。

在段式存储中,每个段都有自己的基址和长度信息。逻辑地址由两部分组成:段号和段内偏移量。段号用于标识所在的段,而段内偏移量用于表示在该段内的偏移位置。

段式存储的优点是:

  1. 灵活性:可以根据程序的需要划分不同大小的段,从而更好地适应各种程序的内存需求。
  2. 安全性:通过段的保护机制,可以限制程序对其他段的访问,从而提高系统的安全性。
  3. 共享性:可以实现段的共享,多个程序可以共享同一个段,减少内存占用。

然而,段式存储也存在一些问题:

  1. 内碎片:由于段的大小不一致,可能会导致某些段内部存在未被充分利用的空间,从而产生内碎片。
  2. 外碎片:由于段的分配和释放是离散进行的,可能会导致内存中存在大量不连续的空闲空间,从而产生外碎片。

🔎2.段页式存储

段页式存储是一种结合了段式存储和页式存储的存储管理方式,主要用于操作系统的存储管理。

在段页式存储中,内存被划分为若干个大小不等的段(Segment),每个段是一个逻辑上相关的程序或数据单元。而每个段又被划分为若干个大小相等的页(Page),每个页的大小是固定的。段和页都有一个唯一的标识符(Segment ID和Page ID),用于访问和管理。

段页式存储通过段表(Segment Table)和页表(Page Table)来实现地址映射。段表中存储了每个段的基地址(Base Address)和段限长(Segment Length),而页表中存储了每个页的物理地址(Physical Address)。在进行地址转换时,首先根据段表找到对应的段的基地址,然后再根据页表找到对应的页的物理地址。

段页式存储的优点是可以更好地管理和保护程序和数据,同时也更灵活地分配和共享内存。它可以将整个程序或数据分为多个段,每个段都可以有不同的访问权限和保护级别。同时,页式存储可以将每个段分为多个页,实现了分页和虚拟内存的管理,可以更高效地利用内存空间。


我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【愚公系列】软考高级-架构设计师 018-存储管理(页式存储)
存储管理是操作系统中一个非常关键的组成部分,涉及到数据的存储、检索和管理。操作系统需要有效地管理不同类型的存储资源,包括主存(RAM)、辅助存储(如硬盘驱动器和固态硬盘)以及在某些情况下的网络存储。这一过程确保系统的高效运行和资源的最优利用。
愚公搬代码
2024/06/10
1640
软件设计师——操作系统
程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
秋邱
2024/10/09
2610
软件设计师——操作系统
【愚公系列】软考高级-架构设计师 019-存储管理(快表、段式存储、段页存储)
存储管理是操作系统中一个非常关键的组成部分,涉及到数据的存储、检索和管理。操作系统需要有效地管理不同类型的存储资源,包括主存(RAM)、辅助存储(如硬盘驱动器和固态硬盘)以及在某些情况下的网络存储。这一过程确保系统的高效运行和资源的最优利用。
愚公搬代码
2024/06/10
2180
【愚公系列】软考中级-软件设计师 028-操作系统(存储管理-页式存储)
操作系统的存储管理是指操作系统如何管理计算机的存储器,包括主存储器(RAM)和辅助存储器(硬盘、光盘等)。
愚公搬代码
2024/02/09
2690
操作系统是如何管理物理内存的?
1.抽象,即给每个程序逻辑地址空间2.保护,不同程序的地址空间互相隔离,无法越界访问3.共享,对于一些公共函数库,可以只在内存中存一份,其它程序引用这一个库即可4.虚拟化,通过逻辑地址和虚拟内存,可以使用更大的地址空间
陆道峰
2020/06/17
2.9K0
[每天五分钟,备战架构师-3]操作系统基本原理之存储管理
存储器是计算机系统中最重要的资源之一,任何程序和数据及各种控制用的数据结构都必须占有一定的存储空间,因此,存储管理直接影响系统性能。
大江小浪
2018/07/24
5880
[每天五分钟,备战架构师-3]操作系统基本原理之存储管理
操作系统内存管理——分区、页式、段式管理
内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。
bear_fish
2018/09/14
6.2K0
操作系统内存管理——分区、页式、段式管理
存储管理之页式、段式、段页式存储 以及 优缺点
页式管理的基本原理是将各进程的虚拟空间划分为若干个长度相等的页。把内存空间按页的大小划分为片或者页面,然后把页式虚拟地址与内存地址建立一一对应的页表,并用相应的硬件地址转换机构来解决离散地址变换问题。页式管理采用请求调页和预调页技术来实现内外存存储器的统一管理。
zhangjiqun
2024/12/16
4040
【愚公系列】软考中级-软件设计师 023-操作系统(考点简介)
操作系统(Operating System)是计算机系统中的核心软件之一,它是管理和控制计算机硬件和软件资源的软件系统。操作系统为用户提供了一个直接与计算机硬件进行交互的界面,同时也是应用程序和硬件之间的桥梁。
愚公搬代码
2024/02/04
1740
趣谈操作系统原理,存储管理之页式、段式、段页式存储
非连续分配管理方式允许一个程序分散地装入到不相邻的内存分区,根据分区的大小是否固定分为分页式存储管理方式和分段式存储管理方式。分页存储管理方式中,又根据运行作业时是否要把作业的所有页面都装入内存才能运行分为基本分页式存储管理方式和请求分页式存储管理方式。
嵌入式Linux内核
2022/10/22
4.4K0
趣谈操作系统原理,存储管理之页式、段式、段页式存储
软考高级架构师:存储管理概念和例题
存储管理是操作系统中的一个重要功能,它负责分配、管理计算机系统中的存储资源。存储管理主要目的是提高存储空间的利用率和系统的运行效率。页式存储管理和段式存储管理是两种常见的存储管理方式。
明明如月学长
2024/05/24
1600
软考高级架构师:存储管理概念和例题
操作系统内存管理(思维导图详解)
包括程序装入等概念、交换技术、连续分配管理方式和非连续分配管理方式(分页、分段、段页式)。
黄规速
2022/04/14
8740
操作系统内存管理(思维导图详解)
软考系统架构设计师(三):操作系统
操作系统是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。
陈大剩博客
2023/03/22
8050
软考系统架构设计师(三):操作系统
操作系统-超20000字的“总结”
从单道批处理系统对CPU的利用情况可看出,作业运行过程中若发生IO请求,高速的CPU要等待低速的I/O操作完成,导致CPU资源利用率和系统吞吐量降低。
Karos
2023/02/24
1.4K0
操作系统-超20000字的“总结”
【软考学习12】页式存储、段式存储、段页式存储和物理逻辑地址转换
我将计算机开机后,假设操作系统消耗了 2G 的运行内存,我打开了某开发工具消耗了 5G 运行内存,又打开了某通讯工具消耗了 1G 运行内存,如下图所示。
Designer 小郑
2023/08/01
1.4K0
【软考学习12】页式存储、段式存储、段页式存储和物理逻辑地址转换
嵌入式基础知识-存储管理
操作系统,包括嵌入式系统,通常利用存储管理单元MMU(Memory Management Unit)来提供内存保护机制,实现系统内核与应用程序,应用程序与应用程序之间的隔离。
xxpcb
2023/08/22
2990
嵌入式基础知识-存储管理
虚拟存储 分段分页段页解读
如果一个作业,需要全部装入内存后方能运行,会有什么情况? (1) 有的作业很大,其所要求的内存空间超过了内存总容量,作业不能全部被装入内存,致使该作业无法运行; (2) 有大量作业要求运行,但由于内存容量不足以容纳所有这些作业,只能将少数作业装入内存让它们先运行,而将其它大量的作业留在外存上等待
一个风轻云淡
2023/10/15
5210
虚拟存储 分段分页段页解读
想和你聊聊操作系统的内存管理
之所以这样构造是因为会使操作系统很方便的为每个应用程序构造页表,即虚拟页和物理页映射关系表
Java宝典
2021/04/02
5940
想和你聊聊操作系统的内存管理
计算机操作系统之存储管理
内存的回收与分配,地址变换(程序中的逻辑地址与内存中的物理地址之间的转换),内存扩充(借助虚拟技术或覆盖技术从逻辑上扩充内存容量),内存保护(保证进入内存的各道作业都在自己的存储空间运行,互不干扰)
intsmaze-刘洋
2018/08/29
5730
操作系统八内存管理
      CPU可以在一个cpu时钟内执行一个或多个其内置寄存器的指令。而访问内存需多个cpu时钟。由于内存频繁访问,可以再cpu与内存之间增加高速缓存
bear_fish
2018/09/20
9520
操作系统八内存管理
推荐阅读
相关推荐
【愚公系列】软考高级-架构设计师 018-存储管理(页式存储)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档