2013年10月3日

摘要: 一、嵌入式Linux系统的构成1、硬件2、内核3、应用程序(形成根文件系统)二、构建嵌入式Linux系统的主要任务1、内核部分2、应用程序部分嵌入式Linux的开发大致可分为三个层次:引导装载内核、构造文件系统和图形用户界面。作为操作系统重要组成部分的文件系统,决定了操作系统本身的信息和用户的数据在存储设备上的组织形式。对嵌入式文件系统的研究、设计和开发也逐渐成为嵌入式系 统研究领域的一个方向。三、内核精简在精简内核在编译内核之前,首先要明确需要那些驱动和模块,然后只选择需要的驱动和模块,例如,如果系统不需要网络支持,则可以去掉网络模块 。内核一般是以压缩方式存放的,在系统启动时会自行解压。内 阅读全文

posted @ 2013-10-03 23:37 davy2013 阅读(395) 评论(0) 推荐(1) 编辑


2013年9月21日

摘要: 存储管理的页面置换算法存储管理的页面置换算法在考试中常常会考到,操作系统教材中主要介绍了3种常用的页面置换算法,分别是:先进先出法(FIFO)、最佳置换法(OPT)和最近最少使用置换法(LRU)。大家要理解3种置换算法的含义,然后能熟练地运用在具体的练习中就可以了。为什么要进行页面置换在请求分页存储管理系统中,由于使用了虚拟存储管理技术,使得所有的进程页面不是一次性地全部调入内存,而是部分页面装入。这就有可能出现下面的情况:要访问的页面不在内存,这时系统产生缺页中断。操作系统在处理缺页中断时,要把所需页面从外存调入到内存中。如果这时内存中有空闲块,就可以直接调入该页面;如果这时内存中没有空闲块 阅读全文

posted @ 2013-09-21 23:30 davy2013 阅读(409) 评论(0) 推荐(0) 编辑


2013年8月8日

摘要: JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java代码的Android中有着重要的意义,这儿的内容比较多,也是最基本的,如果想彻底了解JNI的机制,请查看:http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/design.html本文结合了网友ljeagle写的JNI学习笔记和自己通过JNI的手册及Android中常用的部分写得本文。JNI学习笔记:http://blog.csdn.net/ljeagle/art 阅读全文

posted @ 2013-08-08 09:10 davy2013 阅读(309) 评论(0) 推荐(0) 编辑


2013年7月23日

摘要: JDKJDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JD 阅读全文

posted @ 2013-07-23 13:24 davy2013 阅读(144) 评论(0) 推荐(0) 编辑


2013年7月17日

摘要: DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE其宗旨是Enjoy your music, photos and videos, anywhere anytime DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。 DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是目前所应用很广泛的技术和协议。 DLNA 阅读全文

posted @ 2013-07-17 15:12 davy2013 阅读(376) 评论(0) 推荐(0) 编辑


2013年7月7日

摘要: C++四种强制类型转换的方法以及其应用场合,之前有看过这个知识点,但是,面试的时候怎么想也就没有写的很全面,于是,这里整理一下: C++中的四种强制类型转换除了具有C语言强制类型转换的功能外,还可提供更好的控制强制转换的过程;能更清晰地表明程序员的意图,程序员只有看到这样的代码,立即就能知道一个强制类型转换的目的。 C风格的强制类型转换(TypeCast)很简单,不管什么类型的转换统统是:TYPEb=(TYPE)a,而C++风格的类型转换提供了四种类型转换操作符来对应不同的场景,使用格式是:TYPEb=强制转换类型符(a)。 const_cast常用于去掉类型的const或volalit... 阅读全文

posted @ 2013-07-07 16:19 davy2013 阅读(273) 评论(0) 推荐(0) 编辑

摘要: 第1步:编辑得到举例的程序--hello.h、hello.c和main.c; hello.h为该函数库的头文件。hello.c是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!"。main.c为测试库文件的主程序,在主程序中调用了公用函数hello。第2步:将hello.c编译成.o文件; 无论静态库,还是动态库,都是由.o文件创建的。因此,我们必须将源程序hello.c通过gcc先编译成.o文件。在系统提示符下键入以下命令得到hello.o文件。# gcc -c hello.c第3步:由.o文件创建静态库;静态库文件名的命名规范是以l 阅读全文

posted @ 2013-07-07 13:34 davy2013 阅读(225) 评论(0) 推荐(0) 编辑


2013年7月6日

摘要: 从源程序到目标文件的生成过程最简单的编译命令是gcc helloworld.c,它包含了以下几个步骤:预处理、编译、汇编、链接,下面分别简介。预处理:处理#define宏定义、#if #ifdef等条件编译指令、#include预编译指令,删除注释,添加行号和文件名标识,保留所有的#pargma编译器指令,经过预编译后的文件为.i文件。预编译命令为:gcc -E hello.c -o hello.i或者cpp hello.c > hello.i编译:把预处理完得文件进行一系列的词法分析、语法分析、语意分析及优化后产生的汇编代码文件。编译命令为gcc -S hello.i -o hello 阅读全文

posted @ 2013-07-06 22:30 davy2013 阅读(1813) 评论(0) 推荐(0) 编辑

摘要: 1.1 基本概念 断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。 断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错误的发源地的地方发现错误。断言具有以下特征:n 断言是用来发现运行时刻错误的,发现的错误是关于程序实现方面的。n 断言中的布尔表达式显示的是某个对象或者状态的有效性而不是正确性。n 断言在条件编译后只存在于调试版本中,而不是发布版本里。n 断言不能包含程序代码。n 断言是为了给程序员而不是用户提供信息。 使用断言最根 阅读全文

posted @ 2013-07-06 21:44 davy2013 阅读(593) 评论(0) 推荐(1) 编辑


2013年7月2日

摘要: 无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为内存映射I/O(Memory-mappedI/O)。但是x86比较特殊,x86对于设备有独立的端口地址空间,CPU核需要引出额外的地址线来连接片内设备(和访问内存所用的地址线不同),访问设备寄存器时用特殊的in/out指令(汇编),而不是和访问内存用同样的指令,这种方式称为端口I/O(PortI/O)。 在x86平台上,硬盘是挂在IDE、SATA或SCSI总线上的设备,保存在硬盘上的程序是不能被CPU直接取指令执行的,操作系统在执行程序时. 阅读全文

posted @ 2013-07-02 21:46 davy2013 阅读(434) 评论(0) 推荐(0) 编辑


Copyright © 2024 davy2013
Powered by .NET 8.0 on Kubernetes