
linux基础知识
文章平均质量分 57
xiyoukeke
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内核定时器
<br /> Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通过 run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展<br />功能而言的, 动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态<br />定时器机制的能力有限,因此Linux内核 2.4版中完全去掉了以前的静态定时器机制转载 2011-06-02 20:52:00 · 635 阅读 · 0 评论 -
内核同步
<br /> <br /> 一、什么是同步? 临界区<br /> 访问和操作共享数据的代码段。<br /> 必须被原子的访问。<br /> 在执行期间不可被打断。竞争状态<br /> 两个或者多个内核任务处于同一个临界区。<br /> 具有随机性,难以控制。同步<br /> 避免对临界区的并发或者并行的访问称为同步。<br /> 实现多个内核原创 2011-06-02 18:40:00 · 656 阅读 · 0 评论 -
内核定时器的使用
<br /> 刚才在网上看了一些关于内核定时器的资料,了解到内核定时器是内核在未来的某个时间点调度执行某个函数的一种机制。内核定时器的使用如下,希望可以对我做linux大作业有所帮助。<br /> 主要需要定义一个timer_list变量timer、先初始化timer<br /> init_timer(&timer);<br /> 接下来 对timer的相关参数赋值:<br /> timer.function = fun;<br />原创 2011-06-02 21:33:00 · 671 阅读 · 0 评论 -
list.h之我见
链表是一种常见的、组织有序数据的数据结构,它通过指针将一系列的数据节点连接成一条数据链,是线性表的一种实现方式。与数组相比,链表具有更好的动态性,建立联表示无须知道结点的总数,可以随机分配空间,可以高效的链表中的任意位置插入或者删除数据。按照结点指针域的组织以及各节点之间的联系方式,链表又可以分为单链表、循环链表、双向循环链表等多种类型。以下是常见的这几种链表的结点的数据结构。原创 2011-06-04 13:36:00 · 5902 阅读 · 3 评论 -
sharelist.c文件分析
描述 假设存在这样一个内核共享资源-链表。另外构造一个多个内核任务访问链表的场景:内核线程向链表加入新节点;内核定时器定时删除节点;系统调用销毁链表。这三种内核任务并发执行时,有可能会破坏链表数据的完整性,所以我们必须对链表进行同步访问保护,以保证数据的一致性。实现机制 主要的共享资源是链表(mine),操作它的内核任务有三个:200个内核线程(sharelist),他们负原创 2011-06-19 22:05:00 · 1753 阅读 · 0 评论