- 博客(8)
- 资源 (12)
- 收藏
- 关注
原创 第二章 构造和运行模块(1)
第二章开始进入到实际的编程了。第一个测试代码:Hello World。第一件事就是建立测试系统。我安装的系统是rhel-5.1-server-i386-dvd.iso,你可以到网上下载其他版本。里面自带的内核版本是2.6.18-53.e15。我觉得不爽,在kernerl.org镜像网站上下了linux-2.6.29.tar.bz2安装包,准备安装自己的内核。(1)将其解压到/home目
2011-11-13 21:16:41 567
原创 第一章 设备驱动程序简介
Linux自由操作系统,其内部实现细节对于所有人来说都是公开的。虽然它的内核由大量的而且复杂的代码组成,但是想成为内核黑客的人还是可以找到一个入口,通过这个入口进入Linux内核的开发当中,进入linux自由王国,而这个入口就是设备驱动程序。 驱动程序在 Linux 内核里扮演着特殊的角色. 它们是截然不同的"黑盒子", 使硬件的特殊的一部分响应定义好的内部编程接口. 它们完全隐藏
2011-11-12 22:44:38 507
转载 一个10年程序员职业发展和困境
一个10年程序员职业发展和困境 我不是计算机科班出身(学金融的),但是我喜欢编程,01年4月看到郑州一家网站招聘网络编辑,就去了,其实准备了很久,当然也面试上了,一个月800块钱,3个月试用期打八折。因为我上网还算早,所以喜欢网络,所以就应聘了带“网络”两个字的职位。后来到了公司才知道网络编辑其实就是Ctrl+CCtrl+V而已。在那个网站我学会了做网页(HTML),也了
2011-11-12 12:35:04 817
转载 Linux kernel之内核定时器
转载:http://allenshao.iteye.com/blog/982270 内核定时器 (也称为动态定时器)是内核在以后某一个时刻运行一段程序或进程的基础,软件定时器可以在一个确切的时间点上(更严格地说是一个时间点以后)激活相应的程序段或进程。软件定时器在设备驱动程序中被大量应用以检测设备的状态。使用一个软件定时器很简单,只需做一些初始化工作,设置一个相对于当前时刻的超时时间和
2011-11-10 13:26:06 3985
转载 深入分析Linux 内核链表
转载:https://www.ibm.com/developerworks/cn/linux/kernel/l-chain/ 一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除
2011-11-10 11:14:35 762
转载 进程地址空间
转载:http://www.cnblogs.com/hanyan225/archive/2011/08/03/2125927.html前边我已经说过了内核是如何管理物理内存。但事实是内核是操作系统的核心,不光管理本身的内存,还要管理进程的地址空间。linux操作系统采用虚拟内存技术,所有进程之间以虚拟方式共享内存。进程地址空间由每个进程中的线性地址区组成,而且更为重要的特点是内核允许进程使用该
2011-11-10 10:20:36 8293
转载 Linux内核--内核地址空间分布和进程地址空间
内核地址空间分布直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmalloc分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。永久内存映射区:该区域可访问高端内存。访问
2011-11-10 10:03:00 4633
转载 uImage简要说明
转载:http://www.cnblogs.com/reviver/archive/2009/09/21/uimage.html uImage是u-boot加载的映像格式。普通的vmlinux经过mkimage工具处理后,变成uImage格式,它由一个头部和压缩的vmlinux构成。bootm只能加载uImage的格式。在新的内核版本里,在有一些架构上已经有uImage的tar
2011-11-10 09:33:43 1285
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人