【愚公系列】软考中级-软件设计师 029-操作系统(段式存储和段页式存储)
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
操作系统的存储管理是指操作系统对计算机内存的管理和分配。内存是计算机中用于存储程序和数据的部分,因此它的管理对于计算机的运行和性能至关重要。
操作系统的存储管理可以进行以下几个方面的工作:
1.内存分配:操作系统负责将可用的内存空间划分给正在运行的程序。常用的内存分配方法有分区分配和页式分配两种。在分区分配中,内存被划分为多个固定大小的分区,每个分区用于存储一个程序。在页式分配中,内存被划分为固定大小的页框,程序被划分为多个页,每个页可以被放置到不同的页框中。
2.内存保护:操作系统通过内存保护机制,防止程序越界访问其他程序或操作系统的内存空间。常用的内存保护方法有内存分段和内存分页两种。
3.内存回收:当一个程序完成运行或者被终止时,操作系统需要回收该程序占用的内存空间。回收内存的方法有释放分区和清除页框两种。
4.内存交换:当内存不足时,操作系统可以将部分不常用的程序或数据交换到磁盘上,以释放出更多的内存空间。这个过程称为内存交换。
5.虚拟内存:操作系统可以使用虚拟内存技术来扩展计算机的内存容量。虚拟内存将磁盘空间作为辅助存储器,将部分程序和数据存储在磁盘上,提供了比实际物理内存更大的地址空间。
🚀一、段式存储和段页式存储
🔎1.段式存储
段式存储是操作系统中的一种存储管理技术,它将程序的逻辑地址空间划分为多个不同大小的段,每个段包含了一组相关的逻辑地址。段式存储的主要目的是提供更灵活的内存分配和管理方式,以满足不同程序的需求。
在段式存储中,每个段都有自己的基址和长度信息。逻辑地址由两部分组成:段号和段内偏移量。段号用于标识所在的段,而段内偏移量用于表示在该段内的偏移位置。
段式存储的优点是:
- 灵活性:可以根据程序的需要划分不同大小的段,从而更好地适应各种程序的内存需求。
- 安全性:通过段的保护机制,可以限制程序对其他段的访问,从而提高系统的安全性。
- 共享性:可以实现段的共享,多个程序可以共享同一个段,减少内存占用。
然而,段式存储也存在一些问题:
- 内碎片:由于段的大小不一致,可能会导致某些段内部存在未被充分利用的空间,从而产生内碎片。
- 外碎片:由于段的分配和释放是离散进行的,可能会导致内存中存在大量不连续的空闲空间,从而产生外碎片。
🔎2.段页式存储
段页式存储是一种结合了段式存储和页式存储的存储管理方式,主要用于操作系统的存储管理。
在段页式存储中,内存被划分为若干个大小不等的段(Segment),每个段是一个逻辑上相关的程序或数据单元。而每个段又被划分为若干个大小相等的页(Page),每个页的大小是固定的。段和页都有一个唯一的标识符(Segment ID和Page ID),用于访问和管理。
段页式存储通过段表(Segment Table)和页表(Page Table)来实现地址映射。段表中存储了每个段的基地址(Base Address)和段限长(Segment Length),而页表中存储了每个页的物理地址(Physical Address)。在进行地址转换时,首先根据段表找到对应的段的基地址,然后再根据页表找到对应的页的物理地址。
段页式存储的优点是可以更好地管理和保护程序和数据,同时也更灵活地分配和共享内存。它可以将整个程序或数据分为多个段,每个段都可以有不同的访问权限和保护级别。同时,页式存储可以将每个段分为多个页,实现了分页和虚拟内存的管理,可以更高效地利用内存空间。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)