(六)定时器和时间管理

1、	什么是相对时间、绝对时间、节拍率、节拍、墙上时间、系统运行时间

a) 相对时间
i. 有些是周期执行的,如对调度程序中的运行队列进行平衡调整或对屏幕进行刷新,都需要定期执行(系统定时器负责)
ii. 另一些函数需要等待一个相对时间后才运行,如需要推后执行的磁盘I/O操作等
b) 绝对时间
i. 内核还必须管理系统的运行时间以及当前日期和时间(系统定时器负责)
系统定时器和时钟中断处理程序是Linux系统内核管理机制的中枢
 节拍率(tick rate)
 系统定时器以某种频率自行触发(hitting击中)或射中(popping)时钟中断,当时钟中断发生时内核通过一次特殊的中断处理程序对其进行处理。不同体系结构HZ值不同。
 #define HZ 1000 //相当于1秒钟中断1000次
 节拍(tick):节拍率的倒数
 连续两次时钟中断的间隔时间
 与节拍率相乘为1
 墙上时间(实际时间)
 对用户空间的应用程序来说最重要。
 内核通过控制时钟中断维护实际时间,同时也为用户空间提供了一组系统调用以获取实际日期和实际时间,所谓墙上时间也就是当前的实际时间。
 墙上时间存储于系统核心变量xtime中,该变量记录了现实世界中的年月日格式的时间,以便内核对某些对象和事件作时间标记
 系统运行时间(启动后经过的时长)
 通过两次读取运行时间再计算差,以获取程序运行时长

2、	判断哪些工作需要利用时钟中断执行

更新系统运行时间
更新实际时间
在smp(Symmetric Multi Processing)系统上,均衡调度程序中各处理器上的运行队列
检查当前进程是否用尽了自己的时间片
运行超时的动态定时器
更新资源消耗和处理器时间的统计值

3、	提高节拍率的优缺点

优点:
a) 内核定时器能够以更高的频度和更高的准确度运行
b) 依赖定时值执行的系统调用,能够以更高的精度运行
c) 对诸如资源消耗和系统运行时间等的测量会有更精细的解析度
d) 提高进程抢占的准确度
缺点:
 时钟频率越高,意味着系统负担越重
 减少了处理器处理其他工作的时间
 更频繁地打乱处理器高速缓存并增加耗电

4、	时钟中断处理程序中,tick_periodic()执行了哪些工作

a) 给jiffies_64变量增加1
b) 更新资源消耗的统计值,比如当前进程所消耗的系统时间和用户时间
c) 执行已经到期的动态定时器
d) 执行scheduler_tick()函数
e) 更新墙上时间,该时间存放在xtime变量中
f) 计算平均负载值

5、	定时器使用的三个步骤

执行一些初始化工作
设置一个超时时间
指定超时发生后执行的函数
 注意:
 定时器并不周期运行,它在超时后就自行撤销(和任务队列一样)
 动态定时器不断地创建和撤销,而且它的运行次数也不受限制
 定时器有可能并不是超时马上处理相应的函数,可能会推迟到下一个节拍,不能用定时器来实现任何硬实时任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值