操作系统内存管理机制和Python垃圾回收机制 学习笔记

限于喜欢 提交于 2020-02-13 20:44:14

什么是分页机制

逻辑地址和物理地址分离的内存分配管理方案

  1. 程序的逻辑地址划分固定大小的页
  2. 物理地址划分为同样大小的帧
  3. 通过页表和对应逻辑地址和物理地址

什么是分段机制

分段是为了满足代码的一些逻辑需求

  1. 数据共享、数据保护、动态链接
  2. 通过短标来对应逻辑地址和物理地址
  3. 每个段内部是连续的内存分配,段和段之间是离散分配的

分段和分页的区别

  1. 页是出于内存利用率的角度提出的离散分配机制
  2. 段是出于用户的角度,用于数据保护,数据隔离等用途的管理机制
  3. 页的大小是固定的,操作系统决定;段大小不确定,用户程序确定

什么是虚拟内存

通过把一部分暂时不用的内存信息放到硬盘上

  1. 局部性原理,程序运行时只有部分必要的信息装入内存
  2. 内存中暂时不需要的内容放到硬盘上
  3. 系统似乎提供了比实际内存大得多的容量,称之为虚拟内存

什么是内存抖动

本质上是频繁的页调度行为

  1. 频繁的页调度,进程不断产生缺页中断
  2. 置换了一个页,又不断再次需要这个页
  3. 运行的程序太多;页面替换策略不好,终止进程或增加物理内存

Python垃圾回收机制原理

python无需我们手动回收内存

  1. 引用计数为主(缺点:循环引用无法解决)
  2. 引用标记清除和分带回收解决引用计数的问题
  3. 引用计数为主+引用标记清除和分带回收为辅
    算法原理
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!