- 博客(9)
- 资源 (14)
- 收藏
- 关注
原创 《Linux中断编程》中断处理底半部
一、Linux内核中断机制1.同步中断:当一条指令执行完毕后,由CPU控制单元产生、而不是发生在代码指令执行期间的中断。也叫异常,例如系统调用这类软中断。2.异步中断:由其他硬件设备依照CPU时钟信号随机产生、能够发生在指令执行过程中的中断。例如键盘中断,这是狭义上的中断概念。广义上的中断应该包含上述两个部分。二、中断上下文在Linux系统中,不论异步中断还是同步中断、
2013-10-29 14:29:15 3448
原创 《Linux kernel panic》内核模块空指针导致系统crash
一、内核模块基于Android模拟器Linux2.6.29内核,该内核模块的设备read方法中存在空指针。test_driver.c#include #include #include #include #include #include #include #include #include #define TEST_MAJOR 240//
2013-10-23 16:06:34 5372
原创 《Linux内核并发与竞态》分析Linux2.6.29内核死锁
一、前言1.自旋锁与信号量自旋锁:当不能获得自旋锁时一直忙等待,既不睡眠、也不执行调度。信号量:当不能获得信号量时,系统睡眠或执行调度(进程上下文中)。2.自旋锁在内核非抢占时,自旋锁相当于空操作、不起任何作用。二、实例分析1.Linux2.6.29内核开启内核抢占make menuconfigKernel Features->Preemptible Kerne
2013-10-22 16:54:21 2139
原创 Android系统利用uinput设备驱动实现虚拟输入设备
以下是ubuntu下的测试用例:1.testuinput.c#include #include #include #include #include int main(){ struct uinput_user_dev device; memset(&device, 0, sizeof device); int uinputfd = open("/dev/uin
2013-10-21 15:02:54 6562
原创 《Linux设备节点创建》手动与自动创建设备文件系统节点
一、手动创建1.驱动模块test_driver.c#include #include #include #include #include #include #include #define TEST_MAJOR 240 //动态设备节点//struct class *mymodule_class;//结束static i
2013-10-16 17:59:20 14463
原创 《C关键字分析》之sizeof,enum、union和struct
一、关于sizeof1.它是C的关键字,不是函数;2.一般用法为sizeof 变量或sizeof(数据类型);后边这种写法会让人误认为是函数,但这种写法是为了防止和C中类型修饰符(static、const、extern等)冲突。二、demo1.源码test.c#include int main(){ int i; printf("sizeof i is %d\
2013-10-10 10:27:50 2177
原创 《C关键字分析》利用联合体判断处理器存储模式
一、关于联合体的说明 联合体的出现是为了节省内存空间;联合体分配的内存大小是其成员变量中最大变量的大小,而不像结构体是各个成员变量内存的总和。 利用联合体成员变量共用内存的特点,我们可以判断处理器的大小端模式。二、demo1.源码test.c#include int checkSystem(){ union check{ int i; ch
2013-10-10 09:45:17 1140
原创 线性表之单向链表的创建、插入、删除和清除
1.源程序list.c#include #include typedef struct node{ int num; char name[128]; struct node *next;}Lnode;//初始创建链表Lnode* CreateList();//打印链表中所有信息void PrintList(Lnode* head);//根据学号删除链表节
2013-10-09 14:34:58 5341
原创 算法的一些基本概念
一、算法1.特性输入性:一个算法有零个或多个输入,且输入取自某个特定对象的集合; 输出性:一个算法有一个或多个输出,且输出是与输入有着某些特定关系的量; 有穷性:一个算法必须在执行有穷步之后结束,且每条指令的执行次数有限; 确定性:算法中每条指令必须确切定义且含义明确,不可有二义性,在任何条件下,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的结果; 能行性:算法中
2013-10-08 17:47:01 1480
window下YUVviewerPlus图像查看
2013-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人