其他分享
首页 > 其他分享> > 学习笔记8

学习笔记8

作者:互联网

第五章 定时器及时钟服务     5.1 硬件定时器         定时器是由时钟源和可编程计数器组成的硬件设备。         时钟源通常是一个晶体振荡器,会产生周期性电信号,以精确的频率驱动计数器。     5.2 个人计算机定时器         基于Intel x86的个人计算机有数个定时器(Bovet和Cesati2005)             (1)实时时钟(RTC)             (2)可编程间隔定时器(PIT)             (3)多核CPU中的本地定时器()             (4)高分辨率定时器     5.3 CPU操作         对于每个CPU而言都拥有:             一个程序计数器(PC),也称为指令指针(IP)             一个标志或状态寄存器(SR)             一个堆栈指针(SP)             几个通用寄存器   在这里做一下CPU与GPU的对比     5.4 中断处理         中断处理总而言之分为以下五步             中断请求:请求触发器和允许触发器             中断判优:软件判优和硬件判优             中断响应:保护硬件现场、关中断、保护断点、获得中断服务程序的入口地址             中断服务:保护现场、开中断、中断服务、恢复现场、中断返回             中断返回:返回到原程序的断点处,恢复硬件现场,继续执行原程序     5.5 时钟服务函数         5.5.1 gettimeofday-seettimeofday       5.5.2 time系统调用             time系统调用                 time_t time(time_t *t)             以秒为单位返回当前时间             如果参数t不是NULL,还会将时间存储在t指向的内存中        5.5.3 times系统调用             times系统调用                 clock_t times(struct tms *buf);             用于获取某进程的具体执行时间             将进程时间存储在struct tms buf中,以时钟计时单元报告所有时间        5.5.4 time和date命令             date:打印或设置系统日期和时间             time:报告进程在用户模式和系统模式下的执行时间和总时间             hwclock:查询并设置硬件时钟(RTC),也可以通过BIOS来完成     5.6 间隔定时器         Linux为每个进程提供了三种不同类型的间隔计时器         间隔计时器由setitimer()系统调用创建。getitimer()系统调用返回间隔定时器的状态         分类:             (1)ITIMER_REAL:实时减少,在到期时生成一个SIGALRM(14)信号             (2)ITIMER_VIRTUAL:仅当进程在用户模式下执行时减少,在到期时生成一个SIGVTALRM(26)信号             (3)ITIMER_PROF:当进程正在用户模式和系统(内核)模式下执行时减少     5.7 REAL模式间隔定时器         VIRTUAL和PROF模式下的间隔计时器仅在执行进程时才有效         这类定时器的信息可保存在各进程的PROC结构体中     5.8 编程项目         5.8.1 系统基本代码       5.8.2 定时器中断       5.8.3 定时器队列       5.8.4 临界区       5.8.5 高级主题

标签:定时器,5.5,中断,间隔,笔记,学习,5.8,time
来源: https://www.cnblogs.com/Ye-fen/p/15519832.html