Linux 0.12内核
在应用程序开发时,也经常需要如下的定时器. 这里对定时器做了一个优化,就是在插入队列中时进行了一次排序,使得检测时不需要遍历整个链表,只需把排在前面的几个到时的任务取出来就可以了。
static struct timer_list {
long jiffies;
void (*fn)();
struct timer_list * next;
} timer_list[TIME_REQUESTS], * next_timer = NULL; /* next_timer 为队列头指针*/
void add_timer(long jiffies, void (*fn)(void))
{
struct timer_list * p;
if (!fn)
return;
cli();
if (jiffies <= 0)
(fn)();
else {
for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++)
if (!p->fn)
break;
if (p >= timer_list + TIME_REQUESTS)
panic("No more time requests free");
p->fn = fn;
p->jiffies = jiffies;
p->next = next_timer;
&nb
相关文档:
1、Linux 基础
安装Linux操作系统
Linux文件系统
Linux常用命令
Linux启动过程详解
熟悉Linux服务能够独立安装Linux操作系统
能够熟练使用Linux系统的基本命令
认识Linux系统的常用服务安装Linux操作系统
Linux基本命令实践
设置Linux环境变量
定制Linux的服务 Shell 编程基础使用vi编辑文件
使用Emac ......
工作中经常需要Kill多个进程,如果这些进程有共同的特点,就可以用一条命令Kill掉它们。
比如清除Oracle数据库的所有远程连接进程:
ps -efww|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用 ......
linux的进程间通信方式主要有:匿名管道、有名管道、消息队列、共享内存、信号、信号量及信号灯、socket网络通信。近日由于项目需要,用linux编写arm的应用程序,里面有几个功能模块,若干进程,进程间的通信方式选择了管道、共享内存和信号量的配合。这几天终于把程序的框架搭建好了,而我也对管道通信有了进一步的认识。
......
方法一
mount -o iocharset=cp936 /dev/hda5 /mnt/d
方法二
rhel5 挂载非Linux分区的方法
今天终于安装好了rhel5 client,在配置开发环境的时候遇到了第一个问题:登录后桌面上没有读到我的Windows文件分区。很
多工具都在那里存着,所以,一定要把它找出来。
先是在书上找到了挂载其它分区的方法,在终端内用 ......