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

Linux 定时器

时间间隔定时器
interval timer(时间间隔定时器)系统调用自从被POSIX标准化后,首次出现于4.2BSD,能够提供比alarm()还多的控制:
#include <sys/time.h>
int getitimer(int which, struct itimerval *value);
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
interval timer的运作如同alarm(),但是可以选择自动重新启动它们,而且可运作在下面其中一种模式之中:
ITIMER_REAL
    测量真是事件 。当所指定的真实时间值已过去,内核会送出一个SIGALARM信号给进程
ITIMER_VIRTUAL
    只会在进程的用户空间程序代码执行时递减其值。当所选定的进程时间过去后,内核会送出一个SIGVTALRM信号给进城。
ITIMER_PROF
    会在进城执行时以及内核替进程服务时(例如进行系统调用)递减其值。当所指定的时间量过去后,内核会送出一个SIGPROF信号给进城。此模式常会与ITIMER_VIRTUAL结合,让程序可以测量进程所耗用的用户时间与内核时间。
ITIMER_REAL所测量的时间如同alarm(),另两种模式则可用于概要分析。
itimerval结构允许用户指定时间量直到定时器到期为止以及指定到底时间,这让你能够以指定的到期时间重新启动定时器:
struct itimerval{
    struct timeval it_interval; /*next value*/
    struct timeval it_value; /*current value*/
};
如稍早所述,timeval结构可以提供微秒级分辨率:
struct timeval{
    long tv_sec; /*seconds*/
    long tv_usec; /*microseconds*/
};
setitimer()会使用it_value所指定的到期时间来启动一个which类型的定时器。一旦it_value所指定的时间过去后,内核会使用it_interval所提供的时间重新启动该定时器。因此,it_value是当前定时器剩下的时间。一旦it_value的值为0时,它会被设定为it_interval。如果定时器到期,而且it_interval的值为0,则不会重新启动该定时器。同样地,如果一个活动中的定时器的it_value被设为0,则定时器会停止运行,而且不会被重新启动。
如果ovalue的值不是NULL,则which类型的时间间隔定时器先前的值会被返回。
getitimer()会返回which类型的时间间隔定时器当前的值。
执行成功时,这两个调用都会返回0;发生错误时,则会返回-1,在此情况下errno会被设定会下面其中一个值 :
EFAULT
  &


相关文档:

linux驱动编程核心理论之并发控制

驱动编程核心理论之并发控制
并发,竟态的理解:也就是Linux的东西在时间和空间被同时使用导致的问题
Linux系统提供的解决方案:
    中继屏蔽
    原子操作
    自旋锁
    信号量
   
1,中断屏蔽
    首先这个依赖 ......

linux下安装vncserver

1.在线下载:wget http://www.realvnc.com/dist/vnc-4.0-x86_linux.tar.gz
2.解压缩:tar -zxvf vnc-4.0-x86_linux.tar.gz 
可以看README里内容来安装
3。进入vnc目录下安装:./vncinstall /usr/local/bin
4。mkdir -p /usr/local/vnc/classes
   cp java/* /usr/local/vnc/classes
5。启动vncserver ......

LINUX下I2C总线适配器初始化调用链

以 i2c-mpc.c 驱动模块为例
fsl_i2c_init -> of_register_platform_driver -> of_register_driver -> driver_register -> bus_add_driver -> driver_attach
-> bus_for_each_dev -> __driver_attach -> driver_probe_device -> really_probe -> drv->probe(dev); ......

Linux小技巧收集

Linux小技巧收集
前言:因为用Linux的时间越来越长,所需要做的事也越来越多,效率成了我必需突破的瓶颈。在此总结一下这段时间用过的一些好的Linux技巧。以后时常补充这样自己要用的时候就很方便了。
Author:Ajian
[文本处理]
1、查看某文件的一部分
如果你只想看文件的前 5 行,可以使用 head 命令,
如:head -5 ......

arm linux 等待队列简单分析

Author-------Dansen-----xzd2734@163.com
wait_queue_head_t wait_q;
首先看看
wait_queue_head_t这个等待队列的结构
在wait.h中定义了这个结构
typedef struct
__wait_queue_head wait_queue_head_t;
struct __wait_queue_head {
 wq_lock_t
lock;
 struct list_head task_list;
};
# define wq_ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号