linux时间

系统定时器(硬件)以某频率(节拍率)发出时钟中断,间隔时间叫节拍
节拍率:高hz带来更高精度,同时时钟中断处理程序运行更频繁,带来更大系统负担。
实时时钟(RTC):持久存放系统时间,在系统关闭后也可计时(微型电池),系统启动时读取RTC初始化墙上(实际)时间
时钟中断处理程序:
更新系统运行时间:jiffies(系统启动后节拍总数),溢出后回绕为0
更新墙上时间(wall time, 即实际时间,xtime)
减少当前进程的时间片,减到0标记need_resched
更新资源统计量,如当前进程的用户时间和系统时间,不准确,因为一个节拍周期内可能多次进出内核,甚至一个节拍内是不同进程在运行。
均衡各cpu的运行队列。
标记软中断,在后续下半部(软中断)中运行超时(到期)的动态定时器。

(动态/内核)定时器:指定时间点运行某函数,当然会存在延误(时钟中断触发存在精度问题),所有定时器链表形式挂在某个软中断上,运行到此软中断时,找出所有超时定时器并执行。

延迟执行的方式:
忙等:循环中等待一定节拍数耗尽。
短延迟:循环一定次数,以等待一个很短但精度很高的时间,cpu循环一次时间固定(通过时间可算出循环次数)
schedule_timeout: 创建定时器且当先线程睡眠,由定时器唤醒当前线程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值