calltree是在linux下面看c代码(尤其是复杂的内核代码)的神器。 推荐 calltree+vim + ctags + cscope + taglist 【 vim: 搭建vim看代码的环境 http://www.cnblogs.com/mylinux/p/5013588.html】 或者 ...
分类:
其他好文 时间:
2016-12-08 18:02:35
阅读次数:
467
今天要写的这篇博文意义重大,也是网上很少有的,这是在我工作中学会的一项技术,当然,它也是由简单的问题组合而来的。如何在安卓中写C语言程序,调试安卓驱动,测试程序的的一项重要技能,下面我就不说废话了,直...
分类:
移动开发 时间:
2016-12-06 16:42:25
阅读次数:
245
内核设备模型 目的:表示设备和设备在系统中的拓扑关系 优点:1减少内核代码量,2可以统一查看所有设备状态和所连接的总线,3可以联系好设备和其对应的驱动,或者驱动对应的设备。4可以按类型分类,可以沿着叶子节点方向向根节点访问来保证正确关闭设备电源(先关目的节点的所有子节点,再关闭该节点) 设备模型的样 ...
分类:
其他好文 时间:
2016-11-30 07:37:58
阅读次数:
261
Linux内核源代码目录如下: /arch:目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。 /documentation:目录下是一些文档,没有内核代码,可惜都是 ...
分类:
系统相关 时间:
2016-11-26 13:57:16
阅读次数:
223
实验内容 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确; 使用gdb跟踪分析一个schedule()函数 ,验证您对Linux系统进程调度与进程切换过程的理解; 特别关注并仔细分析switch ...
分类:
系统相关 时间:
2016-11-25 23:55:46
阅读次数:
476
2016-11-08 前段时间大致整理了下virtIO后端驱动的工作模式以及原理,今天就从前端驱动的角度描述下目前Linux内核代码中的virtIO驱动是如何配合后端进行工作的。 注:本节代码参考Linux 内核3.11.1代码 virtIO驱动从架构上来讲可以分为两部分,一个是其作为PCI设备本身 ...
分类:
其他好文 时间:
2016-11-15 16:52:58
阅读次数:
446
一、Git简介 早先linux内核代码托管在BitKeeper,这个是商业的,但是免费给linux社区使用; linux社区有个人试图破解BitKeeper,被BitKeeper发现后不再免费提供使用权,于是linus花两周时间开发了一个分布式的版本控制系统,就是Git; 其实Git功能和svn是类 ...
分类:
其他好文 时间:
2016-11-08 19:24:33
阅读次数:
207
给出一个结构体成员的地址计算该结构体的起始地址,据说内核代码中有这样用的,但还没有看到。不过觉得这个题的解决方法还是有一定技巧的,就总结一下。下面是实现的代码。 其实整个程序中最关键的部分就是如何求出结构体中某个成员相对于结构体首地址的偏移量。这里的解决方法是:假设存在一个虚拟地址0,将该地址强制转 ...
分类:
其他好文 时间:
2016-11-05 00:07:23
阅读次数:
372
转自:http://blog.chinaunix.net/uid-24148050-id-296982.html 一、workqueue简介workqueue与tasklet类似,都是允许内核代码请求某个函数在将来的时间被调用(抄《ldd3》上的)每个workqueue就是一个内核进程。 workq ...
分类:
系统相关 时间:
2016-11-02 01:30:38
阅读次数:
361
先介绍一下Git: Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistra ...
分类:
其他好文 时间:
2016-10-25 09:24:41
阅读次数:
182