程序统计直方图 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

  • UNIX 使用 程序设计直方图 来统计程序运行时指令的运行状况
  • 程序直方图基本原理
    将不同 代码块 映射到 统计数组,时钟中断到来,将当前执行的指令对应的统计元素+1
  • 用户使用 系统调用 profil 来启用统计
  • 程序统计直方图 的参数 存放在u.u_prof[]中
    • u.u_prof[0] : 统计数组的起始地址
    • u.u_prof[1] : 统计数组的长度
    • u.u_prof[2] : 基准pc (映射时 使用当前pc对于基准pc的偏移量 作为映射标准)
    • u.u_prof[3] : 缩放比例
      (实际比例为 (u.u_prof[3] / 0xffff)条指令 : 1个统计数组元素)
  • 时钟中断 clock 参与统计程序直方图
⚠️ **GitHub.com Fallback** ⚠️