摘要: 程序是一个普通文件,是一个机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行印象中。程序是一个静态实体。程序装入内存后就可以运行了:在指令指针寄存器的控制下,不断的将指令取至CPU运行。这些指令控制的对象不外乎各种存储器(内存、外存和各种CPU寄存器等),这些存储器中保存有待运行的指令和待处理的数据,当然,指令只有得到CPU才能发挥其作用。可见,在计算机内部,程序的执行过程实际上就是一个执行环境的总和,这个执行环境包括程序中各种指令和数据,还有一些额外数据,比如说寄存器的值、用来保存临时数据(例如传递给某个函数的参数、函数的返回地址、保存变量等)的堆栈(包括程序堆栈和系统堆栈)、 阅读全文
posted @ 2012-12-09 18:29 mindhook 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 原因:Windows下的默认编码方式为gbk,而Linux下的编码方式为utf-8,eclipse在Linux下的编码方式也为utf-8,因此就出现了乱码。解决的方法是将eclipse中的编码方式改为gbk就行了。解决方法:eclipse->Window->Preferences->General->ContentTypes,右侧选择JavaSourceFile,然后在下面的defautencoding中写入gbk,update即可。若下拉列表中无Gbk则执行下面的步骤:修改/var/lib/locales/supported.d/local添加zh_CN.GBKGBK 阅读全文
posted @ 2012-11-26 15:57 mindhook 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Linux超文本交叉代码检索工具LXR(Linux Cross Reference),是由挪威奥斯陆大学数学系Arne Georg Gleditsch和Per Kristian Gjermshus编写的。这个工具实际上运行在Linux或者UNIX平台下,通过对源代码中的所有符号建立索引,从而可以方便的检索任何一个符号,包括函数、外部变量、文件名、宏定义等等。不仅仅是针对Linux源代码,对于C语言的其他大型的项目,都可以建立其lxr站点,以提供开发者查询代码,以及后继开发者学习代码。为了方便地学习Linux源程序,我们不妨回到我们熟悉的window环境下。但是在Window平台上,使用一些常见 阅读全文
posted @ 2012-11-04 17:41 mindhook 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 1.系统的启动和初始化在基于Intel的系统上,当loadlin.exe或LILO把内核装入到内存并把控制权传递给内核时,内核开始启动。关于这一部分,看arch/i386/kernel/head.S,head.S进行特定结构的设置,然后跳转到init/main.c的main()例程。2.内存管理内存管理的代码主要在/mm,但特定结构的代码在arch/*/mm。缺页中断处理的代码在mm/memory.c,而内存映射和页高速缓存器的代码在mm/filemap.c。缓冲器高速缓存是在mm/buffer.c中实现,而交换高速缓存是在mm/swap_state.c和mm/swapfile.c中实现。3. 阅读全文
posted @ 2012-11-04 17:18 mindhook 阅读(139) 评论(0) 推荐(0) 编辑