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

什么是分页机制

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

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

什么是分段机制

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

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

分段和分页的区别

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

什么是虚拟内存

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

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

虚拟地址和物理地址转换

答:32位的虚拟地址被分成3个域,目录(10位),页表(10位),偏移(12位)

  1. 从CR3找到我们的页目录地址
  2. 根据目录的10位,找到页目录
  3. 根据页表10位,找到目的页表,页的起始的地址
  4. 加上偏移的12位,找到目的地址

什么是内存抖动

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

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

Python垃圾回收机制原理

python无需我们手动回收内存

  1. 引用计数为主(缺点:循环引用无法解决)
  2. 引用标记清除和分带回收解决引用计数的问题
  3. 引用计数为主+引用标记清除和分带回收为辅
    算法原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值