操作系统内存管理机制python常用

  • 现代化编程语言一般都有垃圾回收机制
  • 什么是分页机制
    • 操作系统为了高效管理内存,减少碎片采用分页机制
    • 逻辑地址和物理地址分离的内存管理方案
      • 程序的逻辑地址划分为固定大小的页Page
      • 物理地址划分为同样大小的帧Frame
      • 通过页表对应逻辑地址和物理地址
  • 什么是分段机制
    • 分段是为了满足代码一些逻辑需求

      • 数据共享,数据保护,动态链接等
      • 通过段表实现逻辑地址和物理地址的映射关系
      • 每个段内部是连续内存分配,段和段之间是离散分配的
  • 分页和分段区别
    • 页是出于内存利用率的角度提出的离散分配机制
    • 段是出于用户角度,用于数据保护、数据隔离等用途的管理机制
    • 页的大小是固定的,操作系统决定,段大小不确定,用户程序决定
  • 什么是虚拟内存
    • 通过把一部分暂时不用的内存信息放到硬盘上
      • 局部性原理,程序运行时候只有部分必要的信息装入内存
      • 内存中暂时不需要的内容放到硬盘上
      • 系统似乎提供了比实际大的多的容量,称之为虚拟内存
  • 什么是内存抖动(颠簸)
    • 频繁的页调度,进程不断产生缺页中断
    • 置换一个页,又不断需要这个页
    • 运行程序太多,页面替换策略不好。终止进程或者增加物理内存
  • python垃圾机制回收原理

    1还有很多底层引用,所以是2900

    • python无需我们手动回收内存,他的垃圾回收是如何实现的呢
    • 引用计数为主(缺点:循环引用无法解决)
    • 引入标记清除和分代回收解决引用计数的问题
    • 引用计数为主+标记清除和分代回收为辅
  • 引用计数解决不了循环引用的问题

  • 循环引用

    • a=[1] b=[2]

    • a.append(b)

    • b.append(a)

    • del a del b

    • 两个对象互相引用 之后,引用计数无法归零

  • 引入标记清除(Mark and Sweep)解决循环引用

    从根对象标记,不可达的点置灰

    分代回收。。。 

     

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值