Linux内核
文章平均质量分 65
tuzhutuzhu
这个作者很懒,什么都没留下…
展开
-
Documentation/filesystems/sysfs.txt译文
sysfs是一个基于ram的文件系统,最早是基于ramfs的。sysfs提供了一种将内核数据结构、属性和他们之间的联系导出到用户空间的方法。翻译 2014-03-16 23:06:14 · 1910 阅读 · 0 评论 -
linux系统启动流程一览
linux系统启动流程一览加载BIOS的硬件信息并进行自检,然后根据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR(master boot record,主引导分区)的boot loader; 依据bootloader的设置加载kernel,kernel开始检测硬件和加载驱动程序; 在硬件驱动成功后,kernel会调用init进程,init进程会取得run-leve原创 2014-07-07 23:57:11 · 803 阅读 · 0 评论 -
ramoops驱动注册失败原因详解
在使用linux的ramoops驱动模块时,在编译完加载时,会发现驱动加载不成功。明明直接使用的内核代码,为什么会出现这样的情况呢?首先看一下ramoops的初始化代码:180 static int __init ramoops_init(void)181 {182 return platform_driver_probe(&ramoops_driver, ramoops_pr原创 2014-07-03 12:32:00 · 3091 阅读 · 0 评论 -
Linux下进程终止过程
无论是在什么系统中,当进程终止之后,系统都需要释放进程占有的资源。否则,系统资源会被耗尽。下面将详细说明Linux系统中,进程终止的过程。进程终止方式linux的进程终止方式有8种,其中5种是正常终止,分别是:从main函数返回。调用exit函数。调用_exit或_Exit。最后一个线程从其启动例程返回。最后一个线程调用pthread_exit。异常终止有3种,分别是:原创 2014-06-11 11:55:11 · 2311 阅读 · 0 评论 -
linux设备驱动程序注册过程详解
Linux的驱动程序注册过程,大致分为两个步骤:模块初始化驱动程序注册下面以内核提供的示例代码pci-skeleton.c,详细说明一个pci设备驱动程序的注册过程。其他设备的驱动代码注册过程基本相同,大家可自行查看。使用的内核代码版本是2.6.38。1. 模块初始化1.1 驱动程序入口所有的设备驱动程序都会有如下两行代码:1922 module_init(netdrv原创 2014-06-26 15:02:21 · 4852 阅读 · 1 评论 -
insmod: error inserting 'hello.ko': -1 Invalid module format
在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块开始。但是在编译完成后,进行模块加载的时候,有时会出现如下错误:insmod: error inserting 'hello.ko': -1 Invalid module format其实,出现这个问题的原因很简单,就是:编译的内核版本与实机运行的内核版本不一致。所以解决起来也很简单,实机运行的系统的代码树位置一般在/usr/src/kernels。只要将Makefile中的代码树改成实际运行的内核代码即可。原创 2014-07-17 12:37:48 · 1317 阅读 · 0 评论 -
USB设备驱动之设备初始化(设备枚举)
USB设备从接入HUB到正常工作之前,都属于设备枚举阶段。所谓设备枚举,就是让host控制器认识USB设备,并为其准备资源,建立好主机与设备间的数据传递机制。该阶段的工作,是USB通信协议规定的,所以属于ISO标准流程。设备枚举阶段也对应了USB设备的五种状态。设备枚举阶段分为如下8个步骤:获取设备描述符复位设置地址再次获取设备描述符获取配置描述符获取接口,端点描述符获取字符串原创 2014-06-24 10:06:23 · 1983 阅读 · 0 评论 -
Linux内核之vmlinux与vmlinuz
1.vmlinux vmlinux是一个包含linux kernel的静态链接的可执行文件,文件类型是linux接受的可执行文件格式之一(ELF、COFF或a.out)。 2.vmlinuz vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,而且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解原创 2014-05-18 23:03:25 · 2987 阅读 · 0 评论 -
Linux中进程的优先级
Linux采用两种不同的优先级范围,一种是nice值,另一种是实时优先级。原创 2014-05-07 23:36:20 · 1787 阅读 · 0 评论