- 博客(5)
- 资源 (27)
- 收藏
- 关注
转载 linux内核部件分析(一)——连通世界的list
在linux内核中,有一种通用的双向循环链表,构成了各种队列的基础。链表的结构定义和相关函数均在include/linux/list.h中,下面就来全面的介绍这一链表的各种API。 [cpp] view plaincopyprint? struct list_head { struct list_head *next, *prev; }; 这是链表的元
2015-01-27 20:47:55 457
转载 linux模块编程(三)——线程的约会completion
上节中我们已经掌握了创建大量内核线程的能力,可惜线程之间还缺乏配合。要知道学习ITC(inter thread communication),和学习IPC(inter process communication)一样,不是件简单的事情。本节就暂且解释一种最简单的线程同步手段—completion。 打开include/linux/completion.h,你就会看到complet
2015-01-27 20:44:50 564
转载 linux模块编程(二)——运行不息的内核线程kthread
上节中,我们成功地编译运行了一个linux模块。可惜的是,它只有两个函数,hello_init在模块加载时调用,hello_exit 在模块卸载时调用。这样下去,模块纵使有天大的本事,也只能压缩在这两个函数中。为了避免这种悲剧发生,本节就来学习一种让模块在加载后能一直运行下去的方法——内核线程。 要创建一个内核线程有许多种方法,我们这里要学的是最简单的一种。打开include/lin
2015-01-27 20:43:35 424
转载 linux模块编程(一)——加载你的模块
在达到能直接修改linux内核的程度之前,我们写的代码都需要以模块的方式添加到内核中去运行。本节就介绍最简单的模块编写和加载方法。 1、首先创建一个目录modules,以存放以后编写的模块。再在其下创建一个子目录hello,最为本节创建模块的位置。 2、编写源文件hello.c,代码如下。 [cpp] view plaincopyprint? #include #i
2015-01-27 20:40:37 419
转载 linux内核的学习方法
经过之前的摸索,对linux内核的学习有一些自己的看法,就列一下自己支持的学习方法: 1、要选最新的内核去学。linux内核版本变化太快了。linux 0.11就是一个自己动手写操作系统的范例,而到linux 2.4则发展到百万行级,被移植到各种平台。到2.6呢,linux在这个版本停留最久,小的版本差异,整个子系统完全不同。就我所知,在2.6中,devfs被废弃,sysfs新加入,usb支持到
2015-01-27 20:34:50 678
Linux内核移植与根文件系统构建
2013-04-20
ThinkPad全系列恢复光盘(官方链接)
2013-04-20
NXP Cortex-M3 LPC1768基础教程
2013-04-20
ARM体系结构与编程(Mini2440-S3C2440A)培训课件
2013-04-20
GPS数据格式 NMEA-0183协议
2013-04-07
我的毕业论文——基于DS1302的精密电子时钟设计
2010-05-17
电源设计经典100问
2010-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人