首页
学习
活动
专区
圈层
工具
发布
37 篇文章
1
【愚公系列】软考中级-软件设计师 001-计算机系统知识(考点简介)
2
【愚公系列】软考中级-软件设计师 002-计算机系统知识(CPU)
3
【愚公系列】软考中级-软件设计师 003-计算机系统知识(进制转换)
4
【愚公系列】软考中级-软件设计师 004-计算机系统知识(数据的表示)
5
【愚公系列】软考中级-软件设计师 005-计算机系统知识(校验码)
6
【愚公系列】软考中级-软件设计师 006-计算机系统知识(存储系统)
7
【愚公系列】软考中级-软件设计师 007-计算机系统知识(输入输出技术)
8
【愚公系列】软考中级-软件设计师 008-计算机系统知识(计算机体系结构)
9
【愚公系列】软考中级-软件设计师 009-计算机系统知识(总线)
10
【愚公系列】软考中级-软件设计师 010-计算机系统知识(加密技术和认证技术)
11
【愚公系列】软考中级-软件设计师 011-程序设计语言基础知识(考点简介)
12
【愚公系列】软考中级-软件设计师 012-程序设计语言基础知识(概述)
13
【愚公系列】软考中级-软件设计师 013-程序设计语言基础知识(语言处理程序基础)
14
【愚公系列】软考中级-软件设计师 014-数据结构(考点简介)
15
【愚公系列】软考中级-软件设计师 015-数据结构(线性结构)
16
【愚公系列】软考中级-软件设计师 016-数据结构(数组、矩阵和广义表)
17
【愚公系列】软考中级-软件设计师 017-数据结构(树和二叉树概念)
18
【愚公系列】软考中级-软件设计师 018-数据结构(二叉树的分类)
19
【愚公系列】软考中级-软件设计师 019-数据结构(树和森林)
20
【愚公系列】软考中级-软件设计师 020-数据结构(图)
21
【愚公系列】软考中级-软件设计师 021-数据结构(查找算法)
22
【愚公系列】软考中级-软件设计师 022-数据结构(排序算法)
23
【愚公系列】软考中级-软件设计师 023-操作系统(考点简介)
24
【愚公系列】软考中级-软件设计师 024-操作系统(操作系统概述)
25
【愚公系列】软考中级-软件设计师 025-操作系统(进程管理-状态管理和前趋图)
26
【愚公系列】软考中级-软件设计师 026-操作系统(进程管理-信号量PV操作)
27
【愚公系列】软考中级-软件设计师 027-操作系统(进程管理-银行家算法和线程)
28
【愚公系列】软考中级-软件设计师 028-操作系统(存储管理-页式存储)
29
【愚公系列】软考中级-软件设计师 029-操作系统(段式存储和段页式存储)
30
【愚公系列】软考中级-软件设计师 030-操作系统(设备管理)
31
【愚公系列】软考中级-软件设计师 031-操作系统(文件管理)
32
【愚公系列】软考中级-软件设计师 032-操作系统(作业管理)
33
【愚公系列】软考中级-软件设计师 033-软件工程基础(考点简介)
34
【愚公系列】软考中级-软件设计师 034-软件工程基础(概述)
35
【愚公系列】软考中级-软件设计师 035-软件工程基础(过程模型)
36
【愚公系列】软考中级-软件设计师 036-软件工程基础(需求分析)
37
【愚公系列】软考中级-软件设计师 037-软件工程基础(系统设计)

【愚公系列】软考中级-软件设计师 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.段式存储

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

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

段式存储的优点是:

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

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

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

🔎2.段页式存储

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

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

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

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


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

下一篇
举报
领券