内核启动printk的信息每行开头的方括号中是时间吗?为什么会打印出时间?在用户态怎么做到?

如题所述

第1个回答  2012-07-25
打印出的是系统启动到打印时刻的系统的tick值,printk实现的时候内部附加上的。
硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tick rate),每一个周期称作一个tick(节拍)。Linux内核从2.5版内核开始把频率从100调高到1000(当然带来了很多优点,也有一些缺点).
jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。譬如,如果计算系统运行了多长时间,可以用 jiffies/tick rate 来计算。jiffies定义在文件<linux/jiffies.h>中:

extern unsigned long volatile jiffies;

用户态打印的话只需引用相关头文件然后
printf("[%d]",jiffies)
即可本回答被提问者采纳
相似回答