培训的第四阶段:通过编写驱动,从应用层,内核层,再到底层硬件之间的关系。明白内核驱动的意义。现在开始才是重头戏,前面的都是铺垫。 正式编写驱动前,要先了解linux内核代码的组成。linux主要是由五个子系统组成:进程调度,内存管理,文件系统,网络接口以及进程间通信。linux源代码...
分类:
系统相关 时间:
2014-12-23 22:23:13
阅读次数:
183
Git是一个分布式的版本控制系统,最初编写用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功。Github目前已经有100多万的开发者,并且对于公共项目的托管免费。Github使得版本控制更加容易,多人协作编码变得简单。使用过SVN的同学应该知道,当没有网络的支持,开发者.....
分类:
其他好文 时间:
2014-12-15 23:33:14
阅读次数:
310
在编写应用层程序时,有时需要延时一下,这个时候该怎么办呢?在内核代码中,我们经常会看到这样的头文件使用#include ,心想着直接调用这个就可以了吧!可是在编译时发现,压根通不过,提示错误如下:error: No such file or directory.是不是觉得很奇怪,明明文件是存在的,怎...
分类:
系统相关 时间:
2014-12-05 22:42:49
阅读次数:
534
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6564592在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux ...
分类:
移动开发 时间:
2014-12-04 10:00:56
阅读次数:
239
1. 解压出内核代码到samba共享目录中。2. #chmod -R 777 linux-2.6.30.4//修改目录所有文件的权限为可读写。3. 修改根目录下的makefile:ARCH ?= armCROSS_COMPILE ?=arm-linux-4.#make s3c241...
分类:
其他好文 时间:
2014-11-26 18:22:24
阅读次数:
211
浏览内核代码之前,有必要知道内核源码的整体分布情况,按照惯例,内核代码安装在/usr/src/linux目录下,该目录下的每一个子目录都代表了一个特定的内核功能性子集,下面针对2.6.23版本进行简单描述。(1)Documentation。这个目录下面没有内核代码,只有很多质量参差不齐的文档,但往往...
分类:
其他好文 时间:
2014-11-25 12:32:21
阅读次数:
136
http://blog.csdn.net/fatsandwich/article/details/2131707#http://jakielong.iteye.com/blog/771663当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器...
分类:
其他好文 时间:
2014-11-24 22:07:11
阅读次数:
186
内核是操作系统最核心的内容,主要提供硬件抽象层、磁盘及文件系统控制、多任务等功能,由于其涉及非常广泛的计算机知识,很少被人们所熟悉,因而披上了一层神秘的面纱。
本文将从零开始实现一个最简单的内核,其可以通过x86系统的GRUB引导启动,并向屏幕输出“Hello World!“字符串。该内核代码非常简短,并且在本人的Debian 7系统中可以正常运行。
x86机器启动过程
在具体实...
分类:
其他好文 时间:
2014-11-22 21:37:40
阅读次数:
268
attribute 用法摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用。 --------------------------...
分类:
其他好文 时间:
2014-11-18 06:55:02
阅读次数:
272
现代的计算机是二进制的,在许多地方都要用到2的幂数,比如4,8,16,32,64,128等这些数字。并且在许多内存分配函数也是以这些数字为值进行分配的。那么如何快速判断一个数是不是2的幂数呢?今天在看内核代码的时候,发现内核中是这样做的,其思想也是非常的简单!基本思想是:十..
分类:
其他好文 时间:
2014-11-11 12:51:35
阅读次数:
252