十天玩转操作系统之内存管理方式,详细图解,重点分析,我不相信你不感兴趣!!


       操作系统(OS)这门学科在计算机领域有着很重要的作用,作为计算机硬件和软件的临界者,对计算机发展有着很重要的意义,随着时代的不断发展,越来越多的操作系统进入大众视野,无论是大家耳熟能详的Windows、MAC,抑或是程序员口中经常念叨的Linux。除了电脑操作系统,手机中的鸿蒙、苹果、安卓也是大家关注的热点,因此要想在计算机领域有所造诣,操作系统是必须要了解掌握的一门学科,因此在这里借助平台,跟大家分享一下我学习操作系统的经验和笔记,用十天的时间来和大家梳理和整理这门学科,让我们一起探索其中的奥秘,享受知识带给我们的快乐吧!!!

基本分页存储管理

  • 将内存空间分成大小相等的分区,每个分区就是一个“页框”,或称“页帧”、“内存块”、“物理块”。
  • 每个页框有一个编号,即“页框号”、 ”内存块号”、“页帧号”、“物理块号”,从0开始
  • 将用户进程的地址空间也分为与页框大小相等的一个个区域,称为“页”或“页面”,每个页面都有一个“页号”,从0开始。页框不可以太大,否则产生较大内部碎片
  • 进程的页面与内存的页框有一一对应关系

查询信息:
1、算出逻辑地址对应的页号
2、要知道该页号对应页面在内存中的起始地址
3、要算出逻辑地址在页面内的“偏移量”
4、物理地址=页面地址+页内偏移量

页号 = 逻辑地址/页面长度
页内偏移量 = 逻辑地址%页面长度

如果每个页面大小为2^k B,用二进制表示逻辑地址,则末尾k位即是页内偏移量,其余部分就是页号

K位页内偏移量说明系统中一个页面的大小是2^K个内存单元
M位页号表示一个进程最多允许有2^M个页面
请添加图片描述页表长度:进程一共分为多少页(即这里的n)

1、一个进程对应一张页表
2、进程的每一页对应一个页表项
3、每个页表项有“页号”和“块号”组成
4、页表记录进程页面和实际存放的内存块之间的对应关系
5、页表项的长度是相同的,页号是“隐含”的

页表项会按顺序连续地存放在内存中,只需要知道页表存放的起始地址和页表项长度,即可找到各个页号对应的页表项存放位置

基本地址变换机构

请添加图片描述请添加图片描述

具有快表的地址变换机构

局部性原理:

  • 时间局部性:执行程序中某条指令,不久后可能被再次执行
  • 空间局部性:程序范根某个存储单元,不久之后,其附近的存储单元很可能被访问

快表,又称联想寄存器TLB,是一种访问速度比内存快很多的高速缓冲存储器,用来存放当前访问的若干页表项,以加速地址变换的过程。
请添加图片描述请添加图片描述

两级页表

逻辑地址结构:<一级页号,二级页号,页内偏移量>
请添加图片描述

基本分段存储管理

  • 进程地址空间按自身逻辑关系划分为若干段,每段都有一个段名,每段从0开始编址
  • 分段系统的逻辑结构由段号(段名)和段内地址(段内偏移量)组成
  • 段号的位数决定每个进程最多可以分几个段,段内地址位数决定每个段的最大长度是多少
    请添加图片描述1、每个段对应一个段表项,记录了该段在内存中起始位置(又称“基址”)和段的长度
    2、各个段表项长度是相同的,段号可以隐含,不占存储空间
    请添加图片描述
  • 页是信息的物理单位,对用户不透明
  • 段是信息的逻辑单位,对用户透明
  • 分页的用户进程地址空间是一维的
  • 分段的用户进程地址空间是二维的
  • 分段比分页更容易实现信息的共享和保护

分段分页访问一个逻辑地址都需要两次访存,都可以引入快表机构

段页式管理方式

逻辑地址结构:<段号,页号,页内偏移量>
请添加图片描述
请添加图片描述


      第七天的学习到这里就结束了,不知道小伙伴们收获如何呢?欢迎评论区交流学习,也恳请各位批评指正!!

      操作系统其实就是计算机中的一个大管家,这个大管家有着很多很厉害的角色(就像谍战片里面的大府中的老管家一样),因此学习操作系统这门课,就像是在欣赏一部谍战片,要想理解角色内涵,你就必须站在其角度去思考,思考其可能会遇到的危险以及应对策略(bug与bug的修复),这样你才能在凶险的代码江湖生存下来,成为一代英雄,留下你的印记,期待与各位在江湖的相遇,也希望大家能给作品一个三连!!


本文参考教材:王道考研——操作系统(配套PDF文件,点赞留言后私信我发你)
教材配套讲解视频:b站链接


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值