python内存管理

本文介绍了操作系统中的内存管理机制,包括分页和分段两种方式,阐述了它们在数据共享、保护和内存利用率方面的不同。分页通过固定大小的页和帧进行地址映射,而分段则根据用户需求灵活划分。虚拟内存利用局部性原理,将不常用数据存于硬盘,提供更大的可用空间。此外,还提及了Python的垃圾回收机制,采用引用计数为主,标记清除和分代回收为辅的方式确保内存有效管理。
摘要由CSDN通过智能技术生成

操作系统为了高效管理内存减少碎片诞生出分页机制

分页机制

逻辑地址和物理地址分离

程序的逻辑地址划分为固定大小的页(page)

物理地址划分为同样大小的帧(frame)

通过页表对于逻辑地址和物理地址

分段机制

数据共享,数据保护,动态链接

通过段表实现逻辑地址和物理地址的映射关系

分页和分段的区别

将用户程序的地址空间划分成若干个固定大小的区域称为 ‘页’

分页的大小是固定,分段是由程序决定的

页是出于内存利用率的角度提出的离散分配机制

段是出于用户角度用于数据保护数据隔离等用途的管理机制

虚拟内存:

通常把用不到的内存信息 存放在硬盘上

局部性原理:程序运行时候只有部分必要的信息装入内存

内存中暂时不需要的内容放到硬盘上

系统似乎提供了比实际内存大的多的容量,称之为虚拟内存

内存抖动

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

 

python的垃圾回收机制:

引用计数为主,标记清除和分代回收为辅

引用计数:ref= 0 python解释器才会回收(无法解除循环引用)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值