操作系统[系统学习八]---分页存储管理

非连续分配管理

  • 支持多道程序的两种连续分配方式的缺点
    • 固定分区分配 : 缺乏灵活性, 产生了许多无法利用的内部碎片
    • 动态分区分配 : 当产生了许多外部碎片时, 需要采用"紧凑"技术, 时间代价高

如果允许将一个进程分散地装入到许多不相邻的分区中, 便可充分利用内存, 而无需再进行“紧凑” ---- 分连续分配方式

在这里插入图片描述

基本分页存储管理

  • 思想 : 把内存划分为一个个相等的小分区, 然后按照分区大小将进程拆分成一个个小部分.
    在这里插入图片描述
  • 页框 : 内存空间划分的一个个大小相等的分区
  • 页框号 : 每个页框的编号, 从0开始 (低地址开始)
  • 页面 : 将用户进程的地址空间划分为和页框大小相等的一个个区域
  • 页号 : 页面的编号, 从0开始
  • 进程的最后一个页面可能没有页框大, 因此页框不能太大, 否则可能产生过大的内部碎片
  • 进程的页面, 和内存的页框一一对应, 页面不必连续存放, 也不必按先后顺序.
    在这里插入图片描述

如何实现地址转换

  • 采用分页技术后, 进程的地址空间会被分为一个个页面, 这些页面离散的, 不按顺序地放入内存的各个页框当中. 因此逻辑地址->物理地址的转换, 成了需要解决的第一个问题

  • 连续分配中采用动态重定位进行地址转换

    • 运行时进行地址转换, 一个重定位寄存器记录进程的物理首地址. 实际地址 = 逻辑地址 + 重定位寄存器中的物理首地址
    • 模块在内存中的起始地址 + 目标内存单元相对于起始位置的偏移量

在这里插入图片描述
在这里插入图片描述

  • 前20位对应页号, 后12位对应页内偏移量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值