发布时间:2012-12-13 16:04:51
关于中断处理程序和中断服务例程ISR的区别及联系,之前一直搞混,今天抽时间将两者关系弄弄清楚。ok,下面进入主题。 首先中断处理程序(Interrupt Handler)和中断服务例程ISR(Inerrupt Service Routine)是两个不同的概念.简单来说就是,一条中断线对应一个中断处理程序,而一个中断处理程序再对应若干个中断服务例程,具体看下图所示: 从上图中能很直......【阅读全文】
发布时间:2012-12-11 19:06:19
我们知道CPU所访问的都是虚拟内存地址。那么平时我们自己在编写的内核模块时,linux到底分配的是什么样的内存空间呢?要解答这个问题,首先就要看看内核非连续内存。在linux的内存管理中,用户使用0~3GB的地址空间,而内核只是用了3GB~4GB区间的地址空间,共1GB;非连续空间的物理映射就位于3GB~4GB之间,如下图示0GB &......【阅读全文】
发布时间:2012-12-31 22:05:26
这是无意间看到的一篇很好的文,转过来,提醒自己,也希望能对像我一样的菜鸟有所帮助原文地址:http://bbs.elecfans.com/forum.php?mod=viewthread&tid=2698321、不要“玩 Linux” 很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。 其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实......【阅读全文】
发布时间:2012-12-19 12:43:08
lsmod 查看模块depmod 分析模块依赖性modprobe 载入模块 <===> rmmod 删除模块modinfo 显示模块信息lsmod功能:列出内核已载入模块的状态用法:lsmod描述: lsmod 以美观的方式列出/proc/modules的内容。 输出为: Module(模块名)&......【阅读全文】
发布时间:2012-12-16 22:52:13
1. 无符号整型与有符号整型相加解答: 以下代码在vc6.0中执行结果均为-14,但是用cout输出就只是t3是-14了。因为无符号整数与有符号整数相加,有符号数被强制转换为无符号整数,导致变成很大的数了。void main(){ unsigned int t1=6; int t2=-20; int t3=t1+t2; unsigned int t4=t1+t2; pr......【阅读全文】
发布时间:2012-12-14 20:08:32
最近在学中断时,看到一个内核模块的例子中使用了module_param()这样一个宏来传递命令行输入的参数。一时好奇就细细搜罗了一下关于这个宏的详细用法,以后用得着的。 其实module_param这个宏的作用就类似用户态编程时通过mian()函数在命令行下传递参数一样。也就是说在内核模块中用module_param传递命令行下输入的参数。 这个函数定义在moduleparam.......【阅读全文】
发布时间:2012-12-14 10:09:24
1. Android是由Google公司推出的基于Linux平台的开源的移动设备操作系统,它由操作系统、中间件、应用框架、应用程序等构成。 2. Android的体系结构分为四层: 3. Android应用程序是采用Java语言开发,传统的Java语言运行是通过JVM将源文件编译成Java字节码运行,但是Android虽然是Java语言开发,但是字节码并不是最终的运行格式,并且由于版本问题和移动设备电量等问题,Google自行开发了一个虚拟机运行Android程序,这个虚拟机称为Dalvik。当完成源代码的开发后,首先会将Java源码转换为字节码,然后通过DX工具,将字节码文件转换了.......【阅读全文】