当前位置: 首页 > news >正文

考研复习-操作系统-第三章-内存管理 - 详解

易错点

内存管理

1.需要硬件地址变换机构的有,页式存储管理,动态分区分配,页式虚拟存储管理

动态重定位的硬件即基址-限长寄存器

2.重定位存储管理需要一个重定位寄存器,但是是整个系统中,而不是每个程序

3.分页式管理可能会产生内部碎片,应为一个页里面的数据不会完全的被填满

4.页表存储中分配给用户的内存空间要抛去页表等

5.

6.因为段式存储管理按代码逻辑分段程序,更方便各个模块链接

7.如图所示

8.其中cpu和主存和磁盘等数据交换如图所示关系

9.页表常驻与内存中,某进程的页表的起始地址存储在pcb当中。

如若页表不存储在内存中

那么当进程暂时切换为别的进程的时候页表寄存器里的内容会被切换,那么倘若切换回原进程的时候找到原进程就会困难,所以页表常驻与内存

10.分页才是为了实现离散分配

D选项也要求记忆

11.修改页表项实现复制指的是出现p3指向985那也是复制

小的页表就是12.二级页表指的

虚拟

1.注意该题问的是最大,而非实际

进程的内存映像

代码中各个部分应该存储在进程的哪个部分

分页存储

易混淆基本概念

我们来详细解释一下以防以后混淆和忘记

大家假定下面的图片中,这是一个用户程序被分成的结构,一个进程对应一个块

假定这个用户程序大小为1GB,一个块大小为24B,操作系统以字节编址

那么地址结构如下所示,注意这是一个逻辑地址,即表明这条指令的位置

地址结构的作用是根据地址去内存中拿去需要的指令和数据,这就是地址结构的作用

那么对于一个1GB的脚本,我们必须用30位来表示即2^{30}

其中这个脚本又被分为了若干个块,一个块内又有大小,为24B,那么需要五位来表示

所以地址结构即地址查找对应如下结构

大家假设有一个指令是

我们假设一个有一个指令逻辑地址是100=64+32+4

其地址的二进制表示为

0.......0110 0100

从逻辑上看的话,这个指令它位于

页号为三的页(即第四页)且在该页的第4个存储单元的位置

这就是一个脚本的页的逻辑地址

那么一个应用会拥有1个页表,一个页表里面映射他与主存的块号

因为主存也被划分为了一个一个的块

我们以刚才哪个逻辑地址为100的举例子

我们已知页号为3,块内地址为4

则我们根据页表所给的信息查找到该页所对应的内存块在主存的哪个位置

我们假定页号为3的页他的物理块号是5

则该条指令的真实物理地址是

一页大小×物理块号+业内地址=所要找的存储单元的地址

24B×5+4

就是大家所需要找的该程序的该指令的地址存储位置

块表

流程如下所示

页面置换算法

opt算法做题

当你要淘汰一个页面时找到当前页面含有的所有元素中最后一个出现的哪个换掉就好了

LRU算法做题

从发生缺页中断的地方往前扫描,找到当前元素中最久没有被使用的哪个元素,往前找到四个不同的元素。

http://www.wxhsa.cn/company.asp?id=5042

相关文章:

  • python_Day18_linux(1)
  • 机器人动力学-上交桂凯-睿慕课
  • 2 linux系统基础命令+文件操作命令
  • 支持国产cpu架构的nacos-2.4.3
  • nc工具使用 - 谷粒
  • 完整教程:【C++】22. 封装哈希表实现unordered_set和unordered_map
  • Azure App Service连接Azure SQL MI
  • 将目标数据复制到服务器-ServerSetReplicatedTargetData()
  • 不是说 PHP 不行了吗?为什么 Swoole 还在更新?
  • qoj1831 Bruteforce
  • C++数据结构和算法:链表
  • CAI:开源网络安全AI框架,打造自主安全测试智能体
  • GAS中,负责封装技能所影响的目标数据(如 Actor、位置、碰撞结果等)-FGameplayAbilityTargetData
  • 详细介绍:Maven入门_简介、安装与配置
  • 实用指南:立体校正原理
  • train-labels.idx1-ubyte里是什么
  • 滑动窗口最大值-leetcode
  • 创建预测窗口-ScopedPredictionWindow();
  • 95. 不同的二叉搜索树 II
  • lc1028-从先序遍历还原二叉树
  • P12558 [UOI 2024] Heroes and Monsters 题解
  • 加把劲——2025 年中总结
  • Ability-GetCurrentActorInfo()-IsLocallyControlled()和APawn::IsLocallyControlled()
  • 应该遵守的代码规范与读《数学之美》有感
  • AbilitySystemComponent和AbilityTask
  • AT_arc171_c [ARC171C] Swap on Tree
  • 202509_QQ_冷门的Base家族
  • SpawnActorDeferred()和SpawnActorOfClass()
  • 【QT】信号和槽
  • 学习日报|线程池专题学习总结 - 详解