关闭

异步:fasync_struct

这一节主要在上一节中添加了异步通知的功能,要注意观察和对比该字符设备的驱动是怎样一步步完善的。 补充一下小知识:异步通知的意思是一旦设备就绪,就主动通知应用程序,这样应用程序根本读不需要查询设备状态。 #include #include #include #include #include #include #include #include #include #incl...
阅读(3113) 评论(1)

信号量和队列:semaphore and wait_queue_head_t

这一次是在globalmem的字符设备驱动的基础上,增加了并发控制(也就是多进程多共享资源的访问的控制),还增加了阻塞I/O 和poll轮询操作,因为我还是菜鸟,有很多东西还不懂,希望与大侠能指点学习Linux设备驱动的要点和关键点。还是看代码吧 #include #include #include #include #include #include #include #in...
阅读(1834) 评论(2)

Linux设备驱动入门----globalmem字符设备驱动

/* globalmem字符设备驱动 * 作者:liwei.cai * 日期:2012-08-03 * globalmem.c */ #include #include #include #include #include #include #include #include #include #include #include #define GLOBALMEM...
阅读(1807) 评论(2)

碎纸片中的我的大学

碎纸片中的我的大学 —— 以此来纪念我的青春我的大学             还记得初中高中的语文老师们都说,写作文最难的就是开头,这也刚好印证了那句古话:“万事开头难……”,于是我的回忆也从这里开启。记得那还是小时候吧,但或许也不小了,都是青春年少的好时光,每每在周记日记的开头都会对时间的流逝感叹一回,什么“一转眼”,什么“不经意”,感叹时间的苍茫和无情,感叹白驹过隙留不住青春,...
阅读(4546) 评论(2)

linux驱动入门---test驱动模块加载

编写一简单的字符驱动程序,这里的设备也就是一段内存,实现简单的都写功能, 并列出常用格式的Makefile已经驱动加载和卸载脚本。 /* test_drv.c */ #include #include #include #include #include #include #include #include #include #define TEST...
阅读(1364) 评论(6)

vim常用命令

一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示     :syntax enable     :source $VIMRUNTIME/syntax/php.vim   二. VI常用命令 _______________________________________________________ 一般模式...
阅读(843) 评论(1)

Ubuntu10.04不能安装grub到/dev/sda,实现bootloader

方法一: 启动不了内核,开机过后出现:命令输入 我ls了一下,看到有(hd0,1)(hd0,10)(hd0,2).... set root=(hd0,1) linux /boot/vmlinuz-2.6.32-25-generic root=/dev/sda8 initrd /boot/initrd.img-2.6.32-25-generic boot 成功的启动了linux,之...
阅读(11523) 评论(0)

消息:ftok(), msgget(), msgsnd(),msgrcv(),msgctl()

/* * msgsnd.c * * Created on: 2012-7-20 * Author: liwei.cai */ //以下是消息队列发送端的代码,与接收端配合使用, //输入字符串quit时退出程序,其他字符串发送 #include #include #include #include #include #include #include #de...
阅读(1297) 评论(1)

信号:signal(), sigaction(), sigaddset(), sigemptyset(), sigismember(), sigprocmask()

实例一:如何使用信号函数捕捉相应的信号,并做相应的处理。 /* * signal.c * * Created on: 2012-7-19 * Author: liwei.cai */ #include #include #include //自定义信号处理函数 void my_func(int sign_no) { if (sign_no == SIGINT...
阅读(5418) 评论(0)

共享内存的创建和映射shmget()和shmat()

共享内存的实现分为两步: 1、创建共享内存,用到的函数是shmget(); 2、映射共享内存,就是把这段创建的共享内存映射到具体的进程空间去,使用的函数是:shmat(); 这样就可以使用不带缓冲的I/O读写命令对其进行操作了。 实例如下: /* * shmem.c * * Created on: 2012-7-20 * Author: liwei.cai */...
阅读(8311) 评论(3)
33条 共4页首页 上一页 1 2 3 4 下一页 尾页
    个人资料
    • 访问:121935次
    • 积分:1537
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:6篇
    • 译文:0篇
    • 评论:25条
    最新评论