admin001
-
Linux定时器使用
linux定时器使用 作者: 樊颖飞 定时器在内核的定义: 12 struct timer_list { 13 /* 14 * All fields that change during normal runtime grouped to the 15 * same cacheline 16 */ 17 struct list_head entry; //定时器的链表 18 unsigned long expires;//以节拍为单位的...
-
OS课程与Linux内核相结合之同步实例(三)
在 操作系统中讲到进程同步 的问题的时候,都会讲一些经典的例子,其中最经典的当属“生产者和消费者的问题”。生产者和消费者的规则是生产者生产一个产品后,消费者才能消费,并且在 消费者还没有消费已经生产的产品的时候,生产者是不能再进行生产的。牛涛写的这个例子演示了这一过程: #include<linux/init.h> #include<linux/module.h> #include<linux/sem.h> #include<linux/sched.h&...
-
OS课程与Linux内核相结合之同步实例(二)
陈继峰同学在学习完成量时写了一个简单的模块,用于理解完成量的在同步机制中的用法,关于完成量的详细知识,参看 http://blog.chinaunix.net/u2/73528/showart_1101096.html 这个简单的例子,模拟了公交车的司机与售票员的同步。 #include<linux/init.h> #include<linux/module.h> #include<linux/sched.h> #include<linux/sem.h>...
-
Linux文件系统(二)-为仁由己
儒家倡导“修身齐家治国平天下”,认为“天下之本在国,国之本在家,家之本在身”。在儒家看来,通过修身养性而实现的人内在的身心和谐,是实现人际和谐、群己和谐,最后达至天人和谐的必要前提。只有“成己”才能“成人”,只有“成己”才能“成物”,出发点都是“成己”,就是自我内在的身心和谐。 Linux文件系统的魅力在于“成己” 亦“成人”。如果说整个Linux内核相当于一个“国”,那么,VFS 相当于一个“家”,且是一家之长,而各种具体的文件系统相当于“己”,或者说家庭中的一个个子女。在VFS统领的这个大家庭中,...
-
Linux文件系统(一)-群居和一
儒家和谐的思想不仅主导着我们的日常生活和社会关系,而且在Unix/Linux文件系统的设计中充分体现。先秦儒家以西周末年太史史伯提出的“和实生物,同则不继。”《国语·郑语》中,则对和谐思想做了进一步的完善和发展,把“和”作为处理人的身心关系、人际关系、群己关系、人与自然关系的根本法则,所谓“和也者,天下之达道也”。 “和”既是人伦关系的价值取向,又是万事万物生成发展的机制。 儒家所说的和谐,并不是毫无差异的苟同,而是包含差异或对立的多种不同因素协调、互补、融合、共存、相济相成所形成的对立统一,是一种多样性...
-
Linux驱动模型(四)-核心对象之演绎
话说kboject是驱动模型的核心对象,但在sysfs文件系统中似乎并没有对应的项,而这种看似“无”,实际上蕴藏着“有”。 这“有”从何说起。回想文件系统中的核心对象“索引节点(indoe)”和目录项“dentry”: Inode—与文件系统中的一个文件相对应(而实际上,只有文件被访问时,才在内存创建索引节点)。 Dentry-每个路径中的一个分量,例如路径/bin/ls,其中/、 bin 和ls三个都是目录项,只是前两个是目录,而最后一个是普通文件。也就是说,目录项目录项或者是一子目录,或者是一个文件。...
-
Linux设备驱动模型(三)—追根之溯源
软件设计的根本是把现实世界的事物用计算机世界的模型表示出来,Linux设备模型的设计采用了面向对象的思想。 在前一讲中,提到sysfs文件系统,Sysfs文件系统的目标就是要展现设备驱动模型组件之间的层次关系。在Linux中,sysfs文件系统被安装于/sys目录下: mount -t sysfs sysfs /sys /sys |---block/ | |--fd0 | |--hda | |--dev | |--devi...
-
Linux设备驱动模型(二)-文件系统之视图
虽然设备模型的初衷是为了方便电源管理而提供出的一种设备拓扑结构,但是,为了方便调试,设备模型的开发者决定将设备结构树导出为一个文件系统,这就是sysfs文件系统,它可以帮助用户能以一个简单文件系统的方式来观察系统中各种设备的拓扑结构。这个举措很快被证明是非常明智的,首先sysfs代替了先前处于/proc下的设备相关文件;另外它为系统对象提供了一个很有效的视图。实际上,sysfs起初被称为driverfs。最终sysfs使得我们认识到一个全新的对象模型非常有利于系统。今天所有2.6内核的系统都拥有sysfs文件系统,...
-
Linux设备驱动模型(一)-节能之初衷
2.6内核增加了一个引人注目的新特性——统一设备模型(device model)。设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点: l 代码重复最小化。 l 提供诸如引用计数这样的统一机制。 l 可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线。 l 可以将系统中的全部设备结构以树的形式完整、有效的展 现出来——包括所有的总线和内部连接。 l 可以将设备和其对应的驱动联系...