- 现代化编程语言一般都有垃圾回收机制
- 什么是分页机制
- 操作系统为了高效管理内存,减少碎片采用分页机制
- 逻辑地址和物理地址分离的内存管理方案
- 程序的逻辑地址划分为固定大小的页Page
- 物理地址划分为同样大小的帧Frame
- 通过页表对应逻辑地址和物理地址
- 什么是分段机制
- 分段是为了满足代码一些逻辑需求
- 数据共享,数据保护,动态链接等
- 通过段表实现逻辑地址和物理地址的映射关系
- 每个段内部是连续内存分配,段和段之间是离散分配的
- 分段是为了满足代码一些逻辑需求
- 分页和分段区别
- 页是出于内存利用率的角度提出的离散分配机制
- 段是出于用户角度,用于数据保护、数据隔离等用途的管理机制
- 页的大小是固定的,操作系统决定,段大小不确定,用户程序决定
- 什么是虚拟内存
- 通过把一部分暂时不用的内存信息放到硬盘上
- 局部性原理,程序运行时候只有部分必要的信息装入内存
- 内存中暂时不需要的内容放到硬盘上
- 系统似乎提供了比实际大的多的容量,称之为虚拟内存
- 通过把一部分暂时不用的内存信息放到硬盘上
- 什么是内存抖动(颠簸)
- 频繁的页调度,进程不断产生缺页中断
- 置换一个页,又不断需要这个页
- 运行程序太多,页面替换策略不好。终止进程或者增加物理内存
- python垃圾机制回收原理
1还有很多底层引用,所以是2900
- python无需我们手动回收内存,他的垃圾回收是如何实现的呢
- 引用计数为主(缺点:循环引用无法解决)
- 引入标记清除和分代回收解决引用计数的问题
- 引用计数为主+标记清除和分代回收为辅
-
引用计数解决不了循环引用的问题
-
循环引用
-
a=[1] b=[2]
-
a.append(b)
-
b.append(a)
-
del a del b
-
两个对象互相引用 之后,引用计数无法归零
-
-
引入标记清除(Mark and Sweep)解决循环引用
从根对象标记,不可达的点置灰
分代回收。。。
操作系统内存管理机制python常用
最新推荐文章于 2024-07-11 19:45:38 发布