Linux定时器 详解[转]
[转]Linux定时器
核主要需要两种类型的时间:
1.
在内核运行期间持续记录当前的时间与日期,以便内核对某些对象和事件作时间标记(
timestamp
,也称为
“
时间戳
”
),或供用
户通过时间
syscall
进行检索。
2.
维持一个固定周期的定时器,以提醒内核或用户一段时间已经过去了。
PC
机中的时间是有三种时钟硬件提供的,而这些时钟硬件又都基于固定频率的晶体振荡器来提供时钟方波信号输入。这三种时钟硬件
是:(
1
)实时时钟(
Real Time Clock
,
RTC
);(
2
)可编程间隔定时器(
Programmable Interval Timer
,
PIT
);(
3
)
时间戳计数器(
Time Stamp Counter
,
TSC
)。
7
.
1
时钟硬件
7
.
1
.
1
实时时钟
RTC
自从
IBM PC AT
起,所有的
PC
机就都包含了一个叫做实时时钟(
RTC
)的时钟芯片,以便在
PC
机断电后仍然能够继续保持时间。显
然,
RTC
是通过主板上的电池来供电的,而不是通过
PC
机电源来供电的,因此当
PC
机关掉电源后,
RTC
仍然会继续工作。通
常,
CMOS RAM
和
RTC
被集成到一块芯片上,因此
RTC
也称作
“CMOS Timer”
。最常见的
RTC
芯片是
MC146818
(
Motorola
)和
DS12887
(
maxim
),
DS12887
完全兼容于
MC146818
,并有一定的扩展。本节内容主要基于
MC146818
这一标准的
RTC
芯片。具体内
容可以参考
MC146818
的
Datasheet
。
相关文档:
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include<linux/config.h>
#include<linux/module.h>
#include<linux/version.h>
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/errno.h>
#include<linux/sche ......
-------------------------------------------------------------------------------------------------------
By:yuyongbao
QQ:673360056
1、 linux下共享文件。安装smbserver。然后在《系统设置》中打开《服务器设置》的《smb server》服务器,输入相关路径即可。然后在window中,使用网络邻居查找linux。(注 ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//平台powerpc mpc8379e linux 2.6.22
1、先用fdisk 给硬盘分一个区,用作文件系统。参照u-boot-ppc编译说明一文。
2、用mke2fs格式化硬盘的一个分区mke2fs /dev/sd ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX 内核结构体
struct attribute
{
const char * name;
struct module &nb ......
Linux设备驱动学习-Davinci开发板上运行的hello模块
看了很多个hello world了,自己来写一个在davinci板块上跑的吧。
主体很简单,就是一个C文件hello_davinci.c。
/*================hello_davinci.c==============*/
#include <linux/module.h> /*所有模块都需要的头文件*/
#include <lin ......