操作系统:9、存储管理之页式存储管理

进程的存储管理

进程内存空间管理主要以下方三种进行:

  • 页式存储管理
  • 段式存储管理
  • 段页式存储管理

三种方法本质上都是将进程的内存空间映射到物理内存空间中去。

页式存储管理

字块是相对物理设备的定义
页面则是相对逻辑空间的定义(进程空间的定义)

页式存储管理:

将进程逻辑空间等分成若干大小的页面
相应的把物理内存空间分成与页面大小的物理块
以页面为单位把进程空间装进物理内存中分散的物理块

内存碎片:
在这里插入图片描述
页表:页表是记录进程逻辑空间与物理空间映射关系的表
在这里插入图片描述

现代计算机系统中,可以支持非常大的逻辑地址空间(2^32 到2^64),这样,页表就变得非常大,要占用非常大的内存空间。
假如在32位逻辑地址空间的分页系统,规定页面大小为4KB,则在每个进程页表中的页表项可达1M(2^20)个,如果每个页表项占用1Byte,故每个进程仅仅页表就要占用1MB的内存空间。
在这里插入图片描述
因此就会出现一个多级页表的概念
在这里插入图片描述
运行时只需要把根页表加载到内存中即可,如果调用某一个字块发现二级页表没有在内存中,只需要把二级页表加载到内存里面,这样就可以按需去取页表,节省内存空间。

段式存储管理

页式存储管理若遇到一段连续的逻辑分布在多个页面中,将大大降低执行效率。因此就提出了段式存储管理。

段式存储管理将进程逻辑空间划分成若干段(非等分);
段的长度由进程的逻辑长度决定;
比如逻辑中有主函数Main,子函数X,子函数Y等,这个时候将会按照每个函数逻辑的长度,去分配逻辑空间;

段表:
在这里插入图片描述

段式存储和页式存储对比

段式存储和页式存储都离散地管理了进程的逻辑空间

  • 页是物理空间,段是逻辑单位
  • 分页是为了合理利用空间,分段是为了满足用户需求
  • 页的大小由硬件固定,段长度可动态变换
  • 页表信息是一维的,段表信息是二维的

段页式存储管理

段式存储和页式存储各自优势:

  • 分页可以有效提高内存利用率(虽然有片内碎片)
  • 分段可以更好满足用户需求

段页式管理:

先将逻辑空间按段式管理分成若干段;
再把段内空间按页式管理等分成若干页;

在这里插入图片描述

  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 分存储管理操作系统中一种常见的内存管理,它将进程的逻辑地址空间划分为固定大小的,将物理内存划分为与之相等的物理框,通过表实现逻辑与物理之间的映射关系。在实验中,我们可以使用Java编程语言模拟分存储管理的过程。 首先,我们需要定义一个表类,用于记录逻辑号和物理号之间的映射关系。该类可以包含一个哈希表或数组,以逻辑号作为键,物理号作为值。 接下来,需要编写一个模拟程序,模拟进程的内存访问过程。该程序可以随机生成一个逻辑地址,然后通过表查找该逻辑地址对应的物理号。如果表中存在该逻辑号的映射关系,程序就可以通过物理号找到相应的物理内存地址;否则,程序需要进行面置换算法来选择一个物理进行替换,并更新表中的映射关系。 在实验中,可以选择常见的面置换算法,如最近最久未使用(LRU)、先进先出(FIFO)、钟算法(CLOCK)等,来模拟操作系统面置换过程。根据选择的算法,我们可以编写相应的替换函数来实现物理的选择和替换。 总之,通过实现一个表类和模拟程序,我们可以模拟分存储管理的过程,并通过选择适当的面置换算法来实现的替换操作。该实验可以帮助我们更好地理解操作系统中的内存管理机制,并加深对分存储管理的理解。 ### 回答2: 操作系统存储管理是计算机操作系统中的一个重要概念,它涉及到内存中数据的存储和管理。在分存储管理中,内存被划分为固定大小的框,每个面大小相同。而程序的数据则被划分为多个大小相等的面,每个面被映射到内存中的一个框。通过这种方,程序的逻辑地址可以被划分为号和偏移量,而不需要关心实际的物理地址。 在这个实验中,我们可以用Java编写一个简化的分存储管理系统模拟。我们可以通过以下几个步骤来完成这个实验: 1. 定义面和框的大小。例如,我们可以将面和框大小都定义为4KB,即4096字节。 2. 定义程序的逻辑地址空间和物理地址空间。逻辑地址空间可以分为号和偏移量,而物理地址空间则直接对应着内存中的框。 3. 实现面的映射和置换算法。面的映射可以通过一个表来实现,存储面到框的映射关系。如果内存中的框已经被占用,需要使用置换算法将某些面置换出去,腾出框给新的面。 4. 实现面访问和管理功能。通过逻辑地址,我们可以找到对应的号和偏移量,然后根据表的映射关系找到物理地址。面的访问可以是读取或写入操作。 通过这个实验,我们可以深入理解分存储管理的原理并且学习如何使用Java来模拟实现这个功能。这有助于我们更好地理解操作系统中内存的管理和存储机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值