栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

操作系统-内存管理

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

操作系统-内存管理

虚拟内存
  • 内存只有一个,运行程序有很多,避免用绝对物理地址,操作系统为每个进程分配虚拟地址,真正要用的时候,再分配地址
  • 操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来
  • 操作系统如何管理映射表呢?内存分段、内存分页
内存分段
  • 程序是由逻辑分段组成的。不同的段有不同的属性,所以就用分段的形式把这些分离出来
  • 虚拟地址分为段选择子和段内偏移量
  • 物理地址 = 段基地址 + 偏移量
  • 缺点: 内存碎片、内存交互的效率低
内存分页
  • 空间都是预先划分好的,采用啦分页,那么释放的内存都是以分页为单位释放的,也就不会产生无法给进程使用的小内存
  • 解决内存碎片
  • 换入、换出
  • 物理地址 = 页号 + 页内偏移
简单分页有缺陷:页表占用位置太大 多级页表
  • 把地址分为好几级
  • 如果某一个页表的页表项没有被用到,也就不需要创建这个页表项对应的二级页表,就可以再需要时才创建二级页表。
  • 页表一定要覆盖全部虚拟地址空间,不分级的页表就需要有100多万个页码项来映射,而二级分页则只需要1024个页表项。
页表缓存TLB
  • 多级页表,因为分级所以查找起来十分慢,所以在cpu上完成地址转化和TLB访问和交互。
  • 有啦TLB后,cpu在寻址的时候,先查TLB,如果没找到再查寻常的页表。
Linux内存管理
  • 采用分页内存管理,也涉及段机制
  • 虚拟地址分为内核空间和用户空间
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号