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
相关文档:
完善Linux系统
1.开机自动挂载window分区
fedora10虽然能自动挂载,但是挂载的分区有时会不认汉字文件夹
从终端用vi或gedit打开/etc/fstab,在其中添加:
/dev/sda1 /mnt/1 ntfs default 0 0
注:第一项是分区驱动地址
......
Oracle 10g支持在命令行下用静默模式(Silent)安装,给那些没有安装图形界面的Linux系统提供了极大的便利。
下面以Fedora Core 6为例,介绍在命令行下安装OracleOracle 10g的方法。
1 安装前的准备
准备工作要用登录为root用户来进行。
1.1 选择安装环境的语言
Oracle安装时可以通过环境变量LANG指定安装语言,如果Linu ......
原子操作:UP和SMP的异同
原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是"原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源互斥的原因。但是,在对称多 ......
其实文章算不上原创,是碰到问题的时候上网东搜搜西搜搜的内容,算是借花献佛了吧,感谢原创者。
1. 安装虚拟机,我用的是一个绿化版。新建虚拟机的过程如下:
摘自:http://blog.163.com/zongbin521/blog/static/10217990200981094622635/
我们以创建LINUX系统为例。
第一步:启动VMware,在其主界面“主页” ......