复习

  • 上下文切换 = 存盘点
  • 使用汇编语言 操纵pc值;寄存器;
  • 有限状态机 链表

进程的调度算法

先来先服务(First Come First Serged,FCFS)

  • 尽量不让长的任务出现再前面,让短的任务先完成。(得到下一个算法)
  • 平均周转时间: 评价指标

短进程优先算法 SPN

  • 平均周转时间为靶子进行的优化。
  • WCET(worst case exection time) 评价指标 引申
  • 以执行数量为指标,短任务
  • 体现人性……

最高响应比优先算法(HRRN)

  • 等的越久的响应越高。
  • 等待作为一个考量参数,长任务考虑。提出新的指标

three-level scheduling 淘汰

  • 两阶段,超算中心 应用

现代调度器 交互性

用户使用体验。即时性

rr round-robin 时间片轮转算法

  • 手动中断 ,时钟定时器
  • 5 毫秒的时间片。 20年 ;cpu计算+io操作;程序连续运行5毫秒,适应5毫秒硬件的 软件生态;
  • 5微秒的时间片。如今。 提升1000倍
  • NO_HZ 引申 补包 看之后有无I/o操作。提升系统利用率

加权 多级队列调度算法(MQ):分类 每个类使用自己的策略

  • 就绪队列被分为若干个子队列:延迟敏感 与 延迟不敏感;

MLFQ 多级反馈队列算法

  • 时间片长度不一样:时间片大小随着优先级级数增加而增加。
    • 重要的进程,用户发起请求。交互性强,对io设备诉求,等用户在键盘输入。优先级高,io多。立刻与用户交互。时间片不用很长,过一会儿调用Io.
    • 优先级低,不承担用户交互任务。科学计算?数值仿真?连续长时间运算,需要。

优先级算法 priority scheduling

  • 每个进程多了一个优先级属性。
  • 给用户权限 调整优先级。

静态优先级

  • 有限个多级队列,排序 nlogn;每5微秒发生一次。

动态优先级

现代化处理器

  • 多核颗粒度更细,传递信息更快与多处理器(通过主线交互)
  • 理论左边 实践右边
  • 访问内存,争抢,从队列里取东西。stop the world
  • 右边的问题 cpu3空闲
  • 多核心调度队列

手机上的调度器

  • 异核;大小核关注不同方面 性能与功耗 os是否可以正确地迁移。进程在cpu迁移,让两核的寄存器一样,

  • PELT;EAS ; AMP 引申 待查


内存管理

内存的概念

  • 数据存储单元,电容 , DRAM;
  • 电容会缓慢放电在空气中,数据不在周期性自刷新;靠外围电路做保障。电容是不保障数据的。内存中的数据也不会被保护 一旦断电后无。使用液氮速冻获取解读数据。
  • SPD:掉电不丢失设备。告诉计算机系统相关信息。容量,刷新周期。
  • 0x55: 0101 0101 0xAA :1010 1010 在没有SPD时扫描找到内存?

单道程序

  • 之前兼容小红存在
  • 重定位:地址相关数据在被加载的时刻改掉