复习

  • 页表和虚拟地址空间 虚拟内存
  • 无穷大与无穷小在计算机的世界里不存在,与数学不一样。数值的表示方式。
  • 使用n节b+树管理???page frame?每个叶子节点4096字节

  • 当内存不足的时候 收回page frame 写进磁盘
  • 策略的问题:已经分配的page frame中回收谁?page fault
  • 换页算法,两种fault,第一种总是会的fresh,第二种refault 再次访问如何解决?FIFO算法。Belady反对。
  • 提出了opt算法,预测未来,最远的地方被访问。先跑一遍,再replay.有已知答案,空间站
  • LRUs时间 LFU频度 ; 复杂度提升。时间戳 频次
  • access bit dirty bit 只给2bit , dirty bit 写操作
  • access bit? 记录的物理地址?MMU?分级页表。有无被访问过。
  • 12bit页表象空位 2位的置位操作由MMU来做 /
  • cpu发出的读写操作使得相应页表象发生变化
  • clock 算法
    • 周期性扫描清空 access bit,若扫描到它为0,说明一分钟内没有人访问它。
    • 使用两位 加上 dirty bit ;换出换两位都为0的页表项
    • 若访问内存的周期与clock周期相同
    • 写回磁盘昂贵操作,所以不会一下子写会,等到没有人访问再写回

  • 给一个进程分配多大的物理空间?

  • 工作集:动态概念随着时间推移 发生变化;一段时间内 进程曾经访问的物理页。也许过去访问的代表未来的。要访问的页面的集合。

  • 常驻集:在当前时刻 ,实际上访问的 。常驻集是工作集的超集。

  • 上一次访问的时间距离现在 满足时间

  • 什么时候增加物理页?有page fault

  • 没有人要求的情况下主动释放内存 ,理论上存在。有一个线程周期性查看

缺页率算法

  • 在系统发生缺页时 在事件中

机制与策略

应用程序不同,策略不同。不同的函数

不同系统的替换策略

水位线

:空闲的页 预留,低于Low 扫描一遍 回收不怎么访问的内存 一直到high watermark.内存压力。到达Low的时候 ,悄悄回收 ,进程并未停止。min watermark 停下调度器,没有运行的进程,将水位线回到high oom panic out of memory 当到达最下方尖处

MGLRU

两个指针 红色指针记录衰老程度。 从年龄最大的开始找,扩展位数 ,4; 图片来源,更加详细的介绍 todo

虚拟页式存储外存管理

  • 哪些数据适合换出去?
    • 非栈段

段式管理

  • 只在80386中实现。。。灵活

内存管理+

  • 页表结构是谁构建的? os内核,页表项记录物理地址。

  • 一开始记录了宏。os知道虚拟地址与物理地址的对应关系

  • cpu运行 虚拟地址

  • 系统当中有几个页表?

    1. 一张表pagelist 管理物理内存
    2. 每一个进程一个pagetable
    3. maps 虚拟地址空间布局规划 用掉的区域 每个进程一个
  • 进程切换 换b+树树根

  • 创建进程时,内存模块发生了什么?

    • linux fork,调用后得到了自己的复制体,指令,上下文一模一样,有两个进程同时停在fork()==0判断条件,但是两者返回值不一样,分为两片 ,一个进程走上面,一个进程走下面。
    • exec?按照提供的地址空间 重新构造
    • shell
  • Fork负责创建一个新的进程 Fork由父进程调用,创建一个新的进程为子进程 新的进程与原进程共享所有的资源 页表复用,写时复制 新的进程为就绪态等待调度

  • Exec负责让进程执行一个特定的程序 Exec由子进程调用,改变其执行的内容 依据二进制文件格式重新建立页表映射

  • fork是为了 exec,

  • 复制根节点和分支节点,叶子节点共享 写是复制。先复制再修改

  • 第一个进程?

  • 进程的内存回收?

    • wait(&rtn)父进程,等待并回收。没有人wait 僵尸z进程,回收;
    • 孤儿进程:父进程先亡。
    • 垃圾收集。僵尸进程。
  • 进程调度时发生了什么?

    • 占据cpu
      • 页表的树根填进satp
      • mmu 重新分配 tlb清空
      • cache清空? 数据局部性问题。游戏切换到音乐播放器。
    • 未占据cpu
      • 释放内存
  • 抖动?thrashing

  • 算力换存储。压缩算法。图片。不活跃的内存压缩。zram智能移动设备。flash设备性能寿命有限。