自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 Linux 2.6内核中新的锁机制--RCU

一、 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用。但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,也就

2012-03-22 16:56:10 517

原创 MagicBoy2010 --- ·《深入Linux设备驱动程序内核机制》博文

http://blog.chinaunix.net/uid/23769728/frmd/-1.html

2012-03-22 16:54:43 867

转载 盘点Linux内核源码中使用宏定义的若干技巧(1)

盘点Linux内核源码中使用宏定义的若干技巧(1) (2012-03-20 21:30) 标签:  Linux内核源码  宏定义  宏的使用技巧  分类: Linux系统内核 在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义:

2012-03-22 16:52:38 1382

转载 《深入Linux设备驱动程序内核机制》第2章 字符设备驱动程序 V1.2

《深入Linux设备驱动程序内核机制》第2章 字符设备驱动程序 V1.2 (2012-03-19 20:14) 标签:  设备  blank  border  target  Linux  分类: Linux设备驱动 截止目前最新的更新... 第2章 字符设备驱动程序(V1.2).pdf

2012-03-22 16:50:36 684

转载 Linux系统下init进程的前世今生

Linux系统下init进程的前世今生 (2012-03-11 20:37) 标签:  Linux 内核进程  init进程  系统调用  x86 int 指令  分类: Linux系统内核 Linux系统中的init进程(pid=1)是除了idle进程(pid=0,也就是init_task)之外另一个比较特殊的进程,它是Linux内核开始建立起进程概念时第一个通过k

2012-03-22 16:45:22 1009

转载 Linux内核中的init_task进程和idle进程

当Power on PC时,BIOS的代码开始执行,然后是Linux初始化的代码,这其中大约很长一段时间Linux都没有进程这一概念,但是这不影响CPU执行它的二进制代码。如果不是多任务以及进程调度的需要,Linux内核可以一直这样走下去。 但是因为多任务的需求,Linux必须能支持任务这一特性,任务即进程,或者更简单地说由task_struct对象实例所代表的一段代码的集合,用以完成特定的任务

2012-03-22 16:44:15 6073

转载 Linux设备驱动模型中的热插拔机制及实验

热插拔(hotplug)不一定非要指类似U盘那样的插入拔出,此处的热插拔广义上讲,是指一个设备加入系统,内核如何通知用户空间。举个简单的例子,如果你的电脑中有块PCI网卡,针对该网卡的驱动程序以内核模块的形式被编译(obj-m),那么Linux系统在启动过程中是如何自动加载该网卡的驱动模块呢?大家都知道现在udev负责干这事,其实除了udev,还可以有其他的手法,你自己就可以这样做。 我们先

2012-03-22 16:43:08 1230

转载 内核空间几种长延时函数实现策略的优劣讨论

内核空间几种长延时函数实现策略的优劣讨论 (2012-02-27 22:04) 标签:  Linux设备驱动程序  内核模块延时函数  进程调度  分类: Linux设备驱动 这里所谓的长延时,是指其实现时间延时的粒度可以在HZ这一水准上。《深入Linux设备驱动程序内核机制》第8章"时间管理"中提到了好几种实现延时功能的机制,包括长延时短延时等,对每一种延时机制的优劣都有

2012-03-22 16:39:46 1100

转载 通过ramdisk内核模块研究Linux文件系统

在《深入Linux设备驱动程序内核机制》第11章"块设备驱动程序” 11.2节当中给出了ramdisk的两个版本的实现,这个示例的目的除了让读者直观感受一下编写一个块设备驱动程序的大体框架和关键元素之外,还特别提到“这个例子还有一个非常重要的潜在用途,那就是通过ramdisk来研究Linux的文件系统,比如ext3等,因为mkfs.ext3工具会将ext3文件系统做到这个ramdisk中,这意味着

2012-03-22 16:35:09 638

转载 再谈Linux内核中的RCU机制

再谈Linux内核中的RCU机制 (2012-02-22 22:10) 标签: Linux  分类:Linux设备驱动 RCU的设计思想比较明确,通过新老指针替换的方式来实现免锁方式的共享保护。但是具体到代码的层面,理解起来多少还是会有些困难。在《深入Linux设备驱动程序内核机制》第4章中,已经非常明确地叙述了RCU背后所遵循的规则,这些规则是从一个比较高的视角来看,因为我觉得过多

2012-03-22 16:31:17 903

转载 详解Linux中断处理中的hardirq与softirq机制

今天在ChinaUnix论坛内核源码版上与linuxfellow网友讨论到hardirq和softirq的问题,虽然在《深入Linux设备驱动程序内核机制》(以下简称“ILDD”)第5章“中断处理”对此已有详细的解读,但是我觉得还是有必要再花点时间深入探讨一下这两者的区别。因为此前关于ARM上的中断处理我已经在另一篇帖子解密ARM based Linux内核中断处理框架 中讨论过,所以下面的讨

2012-03-22 16:30:14 1204

转载 Linux内核中的中断栈与内核栈的补充说明

Linux内核中的中断栈与内核栈的补充说明 (2012-02-20 20:17) 标签:  Linux内核栈  中断栈  Linux中断处理  设备驱动  分类: Linux系统内核 中断栈与内核栈的话题更多地属于内核的范畴,所以在《深入Linux设备驱动程序内核机制》第5章“中断处理”当中,基本上没怎么涉及到上述内容,只是在5.4节有些许的文字讨论中断栈在中断嵌套情形下

2012-03-22 16:28:47 5313

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除