linux的HZ, Tick, Jiffies
Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。
(1)HZ
Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,具体查询设定方法可参见上篇文章《linux运行多久了》。其中HZ可设定100、250、300或1000。以核心版本预设值为250,做实验:
观察/proc/interrupt的timer中断次数,并于一秒后再次观察其值。理论上,两者应该相差250左右。
adrian@adrian-desktop:~$ cat /proc/interrupts|grep timer && sleep 1 && cat /proc/interrupts|grep timer
0: 9309306 IO-APIC-edge timer
0: 9309562 IO-APIC-edge timer
补充结果:以上结果是单CPU上运行,在我自己的双核电脑上并没有得到预计结果,怀疑是否适合双核电脑实验。
(2)Tick
Tick是HZ的倒数,意即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。
(3)全局变量xtime
xtime是timeval数据结构变量,首先看timeval结构
struct timeval
{
time_t tv_sec; /***second***/
susecond_t tv_usec;/***microsecond***/
}
1秒=1000毫秒(3个零),1秒=1000 000微秒(6个零),1秒=1000 000 000纳秒(9个零),1秒=1000 000 000 000皮秒(12个零)。秒用s表现,毫秒用ms,微秒用us表示,纳秒用ns表示,皮秒用ps表示,他们的分级单位是千,即每次3个零。所以microsecond是表示us。
xtime是从cmos电路中取得的时间,一般是从某一历史时刻开始到现在的时间,也就是为了取得我们操作系统上显示的日期。这个就是所谓的“实时时钟”,它的精确度是微秒。
(4)Jiffies
在<linux/jiffies.h>,定义了Jiffies为Linux核心变数(32位元变数,unsigned long),它被用来纪录系统自开机以来,已经过多少的tick,在linux内核中jiffies远比xtime重要。每发生一次timer interrupt,Jiffies变数会被加一。jiffies 与
相关文档:
萝莉世界 跟您一起看世界 http://lolier.info/ FTP>ascii: 设定以ASCII方式传送文件(缺省值) FTP>bell: 每完成一次文件传送,报警提示. FTP>binary: 设定以二进制方式传送文件. FTP>bye: 终止主机FTP进程,并退出FTP管理方式. FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. FTP>cd: 同UNIX的CD ......
安装与使用MySQL
一 、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm
MySQL-client-4.0.16-0.i386.rpm
下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server&rdquo ......
现在大家对Q5的讨论已经上升到发行版和桌面环境的程度了……估计坛子里有许多非LINUX玩家可能听得云里雾里吧?我大概讲一些我知道的,比较简单而且实用的小知识,希望能够同学们一点帮助。
按照惯例,首先必须澄清一下Linux的定义。很多同学可能都误以为Linux就是一个操作系统,严格来讲,这是不对的。linux作 ......
把U盘刻成光盘(以ubuntu9.10为例)
前提:电脑支持U盘启动,有些电脑是不支持的。
开始制作
一、材料:
UltraISO(软碟通)软件
ubuntu 9.10 iso
u盘(推荐1G以上)。
二、操作平台:
windows xp/vista [我是在vista下制作的,必须用管理员权限打开UltraISO(软碟通)](右击其快捷方式,以管理员身分打开)
说 ......