全部博文(207)
发布时间:2012-12-24 13:21:17
转载的,写的挺好,挺全面。 摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种方法可以用来完成这些任务。本文总结了各种常用的信息交换方法,并用简单的例子演示这些方法各自的特点及用法。其中有大家非常熟悉的方法,也有特殊条件下方可使用的手段。通过对比明确这些方法,可以加深我们对Linux内核的认识,更重要的是,可以让我们更熟练驾御linux内核级的应用开发技术。 内核空间(kernel-space) VS 用户空间(user-space) 作为一个Linux开发者,首先应该清楚内核空间和用户......【阅读全文】
发布时间:2012-12-24 11:28:37
Linux下文件的类型是不依赖于其后缀名的,但一般来讲:YdCLinux联盟 .o,是目标文件,相当于windows中的.obj文件YdCLinux联盟 .so 为共享库,是shared object,用于动态连接的,和dll差不多YdCLinux联盟 .a为静态库,是好多个.o合在一起,用于静态连接YdCLinux联盟 .la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式&nb......【阅读全文】
发布时间:2012-12-24 10:59:15
1、原子操作可以保证指令以原子的方式执行——执行过程不被打断。内核提供了两组原子操作接口,一组针对整数进行操作,一组针对单独的位进行操作。 2、针对整数的原子操作只能对atomic_t类型的数据进行处理。引入这个特殊数据类型主要是出于三个原因:首先,让原子函数只接受atomic_t类 型的操作数可以确保原子操作只与这种特殊类型的数据一起使用。同时这也保证了该类型的数据不会被传递给其他任何非原子函数。其次,使用atomic_t类 型确保编译器不对相应的值进行访问优化——这点使得原子操作最终接收到正确的内存地址,而不只是一个别名。最后......【阅读全文】
发布时间:2012-12-20 09:44:34
本文不打算详细探究spin_lock的详细实现机制,只是最近对raw_spin_lock的出现比较困扰,搞不清楚什么时候用spin_lock,什么时候用raw_spin_lock,因此有了这篇文章。/*****************************************************************************************************/声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!/*******************************************......【阅读全文】
发布时间:2012-12-11 16:01:29
main函数流程分析,分本地和网络两种情况 1. 本地文件的播放,以mp3文件的播放为例,命令行输入:mplayer test.mp3 只给出关键步骤 2. open_stream, &......【阅读全文】