信息安全系统设计与实现第八周:《Unix/Linux系统编程》第五章学习笔记

定时器及时钟服务

硬件定时器

定时器是由时钟源和可编程计数器组成的硬件设备。

个人计算机定时器

  • 实时时钟RTC:由一个小型备用电池供电
  • 可编程间隔定时器PIT:与CPU分离,可对其进行编程,以提供以毫秒为单位的定时器刻度
  • 多核CPU中的本地定时器:每个核都有自己的本地定时器,由CPU时钟驱动
  • 高分辨率定时器:时间戳定时器TSC,由系统时钟驱动,其内容可通过64位TSC寄存器读取,可提供纳秒级的定时器分辨率

CPU操作

CPU构成

  • 一个程序计数器PC(指令指针IP)
  • 一个标志或状态寄存器SR
  • 一个堆栈指针SP
  • 其他通用寄存器

CPU操作

当PC指向内存中要执行的下一条指令时,SR包含CPU的当前状态,如操作模式、中断掩码和和条件码,SP指向当前堆栈栈顶。CPU操作可通过无限循环进行建模。当CPU遇到异常时,它会根据内存中预先安装的指针来执行软件中的异常处理程序。在每条指令执行结束时,CPU会检查挂起的中断:如果有挂起的中断请求,但CPU未处于接受中断的状态,即它的状态寄存器已经屏蔽了中断,CPU会忽略中断请求,继续执行下一条指令,否则它将直接执行中断处理。在中断处理结束时,它将恢复指令的正常执行。

时钟服务函数

gettimeofday-settimeofday

time系统调用

times系统调用

time和date命令

间隔定时器

setitimer()系统调用创建间隔定时器

getitimer()系统调用返回状态

原文地址:https://www.cnblogs.com/ckx1212-20191308/p/15518230.html