linux_kernel
Alan0521
这个作者很懒,什么都没留下…
展开
-
Linux启动过程
Linux启动过程综述在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引 导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘 驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有ARC、SRM两种形式,ARC具有类BIOS界面,甚至转载 2012-06-08 23:07:31 · 1783 阅读 · 0 评论 -
Linux 2.6.36以后file_operations和DECLARE_MUTEX 的变化
今天尝试移植了2.6.38的内核到AT91SAM9260上,在编译驱动时发现从2.6.36的内核开始,include/linux/semaphore.h 和 include/linux/fs.h中有了两处变化与驱动相关:1, 在include/linux/semaphore.h 中将#define DECLARE_MUTEX(name) 改成了 #define DEFINE_SEM转载 2012-09-04 11:37:05 · 901 阅读 · 0 评论 -
分析Linux中Spinlock在ARM及X86平台上的实现
本文主要以2.6.22.6内核分析Linux中spinlock在ARM及X86平台上的实现(不同版本的内核实现形式会有一些差异,但原理大致相同)。此处默认大家已经熟悉了spinlock的使用,重点解释容易引起迷惑的体系结构相关的实现部分。一、spin_lock(lock)的实现/***include/linux/spinlock.h中***/#if defined(CONFIG_SMP转载 2012-09-04 10:23:00 · 1058 阅读 · 0 评论 -
linux中mmap系统调用原理分析与实现
1、mmap系统调用(功能) void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset ) 内存映射函数mmap, 负责把文件内容映射到进程的虚拟内存空间, 通过对这段内存的读取和修改,来实现对文件的读取和修改,而不需要再调用read,write等操作。转载 2012-09-04 23:18:47 · 877 阅读 · 0 评论 -
互斥信号量和二进制信号量的区别
互斥型信号量必须是同一个任务申请,同一个任务释放,其他任务释放无效。同一个任务可以递归申请。 二进制信号量,一个任务申请成功后,可以由另一个任务释放。 二进制信号量实现任务互斥: 打印机资源只有一个,abc三个任务共享,当a取得使用权后,为了防止其他任务错误地释放了信号量(),必须将打印机房的门关起来(进入临界段),用完后,释放信号量,转载 2012-09-28 09:32:22 · 1295 阅读 · 0 评论