易截截图软件、单文件、免安装、纯绿色、仅160KB

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



相关文档:

s3c2410平台下linux四键按键驱动程序

#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 ......

LINUX使用记录

-------------------------------------------------------------------------------------------------------
By:yuyongbao
QQ:673360056
1、  linux下共享文件。安装smbserver。然后在《系统设置》中打开《服务器设置》的《smb server》服务器,输入相关路径即可。然后在window中,使用网络邻居查找linux。(注 ......

从硬盘启动linux系统

 -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//平台powerpc mpc8379e linux 2.6.22
1、先用fdisk 给硬盘分一个区,用作文件系统。参照u-boot-ppc编译说明一文。
2、用mke2fs格式化硬盘的一个分区mke2fs /dev/sd ......

linux内核结构体

 -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX 内核结构体
struct attribute
{
    const char    * name;
    struct module     &nb ......

Linux设备驱动学习-Davinci开发板上运行的hello模块


Linux设备驱动学习-Davinci开发板上运行的hello模块
 
看了很多个hello world了,自己来写一个在davinci板块上跑的吧。
主体很简单,就是一个C文件hello_davinci.c。
/*================hello_davinci.c==============*/
#include <linux/module.h>  /*所有模块都需要的头文件*/
#include <lin ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号