- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 file system
§Filesystems are a collection of files that are stored in the system in some way§So many file system! Disk file:§Boot block§Super block−Magic number−Revision−Mount coun
2012-06-18 10:21:26 742
原创 How to install sun-java5-jdk in Ubuntu 11.04
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates multiverse"sudo apt-get updat
2011-12-26 19:21:53 724
原创 如何修改framework层快速使其有效
方法1:(1)代码 修改之后,进入frameworks/base目录下,先执行source ../../build/envsetup.sh,进而执行mm命令,重新生成frmaeworks.jar(2)cd ../../,执行make snod,重新生成system.img方法2:(1)定位到android源码的根目录,执行make framework(2)make snod
2011-11-12 10:50:21 1582
原创 OMX plug-in分析
OMX core & OMX componentMethods•OMX core methodsThe OpenMAX Specification lists the following 9 methods that belong to the OMX core. A
2011-08-09 17:21:55 2243
原创 Android Audio system
首先看一下传输格式:•PCM–BCLK、FS、DR、DX•IISS(Inter-IC Sound bus)–I2S,是菲利浦公司提出的串行数字音频总线协议。目前很多音频芯片和MCU都提供了对IIS的支持。IIS总线只处理声音数据。其他信号(如控制信号)必须单独传输
2011-08-09 16:51:59 1676
转载 显示规格类别
常见的宽屏显示规格包括WQVGA(480*272像素)、WVGA(800*480像素)、WSVGA(1024*600像素)、WXGA(1280*800或1280*768像素)、WXGA+(1440*900像素)、WSXGA(1680*1050像素)、WUXGA(1920*1080
2011-08-09 16:37:28 822
原创 Activity生命周期在Framework层的体现
<br /> resumeTopActivityLocked这个函数完成了Activity生命周期状态机的跳转,具体的执行过程可以看相册Android目录下的流程图。下面是关于Activity切换时候的状态变化Step1: First Activity launch: 系统自动会调用,调用时机如下: •onCreate 设置布局文件 绑定监听器等等 •onstart Activity能被我们看到时调用 •onResume Activity能够获得用户焦点的时候会被调用 Step2:Second Acti
2011-04-01 14:37:00 927
原创 Android的JNI用法
<br />在Android中提供JNI方式,实现java访问C语言程序。 在Android中,主要的JNI代码路径: Frameworks/base/core/jni 这个路径下的内容编译成libandroid_runtime.so,是一个普通动态库,放在目标系统的/system/lib下 此外,Android还包含其他JNI库,例如,媒体部分的JNI在framworks/base/media/jni中。编译成libmedia_jni.so JNI核心是JNINativeMethod结构体,在jni.h中
2011-04-01 14:16:00 1202
原创 android初始化部分:how to java2Cpp
<br />Java虚拟机启动成功后,开始系统初始化。系统初始的第一步是用JNI方式实现的,对应java代码为<br />(frameworks/base/services/java/com/android/server/SystemServer.java) init1(Native)函数,对应的JNI C++代码为(frameworks/base/core/jni/server/com_android_server_SystemServer.cpp),而实现的C++代码为<br />(frameworks
2010-11-24 15:11:00 1339
转载 android文件系统
<br />1、android文件系统的结构<br />android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。因此,我们可以把ramdisk.img里的所
2010-11-03 16:07:00 568
原创 常用app在iphone文件系统中的位置
<br />pdf expert 打开文件位置 /private/var/mobile/Documents<br />熊猫看书 打开文件位置 /private/var/mobile/Media/EBooks<br />... to be continue
2010-09-29 16:45:00 1510
转载 很通俗的讲述多进程和多线程的优缺点,转一下
<br />Linux内核对多进程和多线程的支持方式:<br /> 线程机制支持并发程序设计技术,在多处理器上能真正保证并行处理。而在linux实现线程很特别,linux把所有的线程都当作进程实现。linux下线程看起来就像普通进程(只是该进程和其他进程共享资源,如地址空间)。上述机制与Microsoft windows或是Sun Solaris实现差异很大。<br /> Linux的线程实现是在核外进行的,核内提供的是创建进程的接口do_fork()。内核提供了两个系统调用__
2010-09-14 12:32:00 2257
原创 局域网P2P技术实现
<br />P2P技术实现方式有很多,现主要介绍利用socket tcp方式构建P2P环境的方法。<br />在开始的时候主要参考NBD协议部分的server端程序来实现BT服务端程序。<br />每个client端都有两个进程来实现P2P功能,一个是客户端的server程序,另一个是客户端的client程序。而BT服务器端只有一个进程,负责资源分配和负载平衡等工作。<br />下面是服务端程序的注意事项。调试是总发现有“Address already in use”信息出现,加入下面代码可以解决此问题。<
2010-06-17 10:54:00 2429 2
原创 Linux下USB模拟ps2鼠标驱动
在linu-kernel/drivers/input/mouse/psmouse-base.c是ps2鼠标驱动的主体,如psmouse_reset、psmouse_connect等函数具体实现在此文件之中。简单地,拿psmouse_reset为例,调用ps2_command()->ps2_sendbyte()->serio_write()来完成对硬件的操作。而serio_write()在已经指
2010-04-22 18:46:00 2742
原创 Chrome OS的搜集和分析
是一个很新的操作系统。战略意义更大些,目前看来应该是google的战略性的部署。是下一代PC和移动互联产品。不需要很强的硬件配置。Web OS的架构。Chrome OS基于linux的内核,不必执行下载---安装----使用的过程。传统的OS如果重新安装系统,必须重复以上操作。而且在传统的OS中的文档和资料的安全性也受到质疑。而此时你拥有了Chrome操作系统,所有文档、资料、软件都装在或保存在谷
2010-01-14 10:25:00 1729
原创 softirq机制分析
软中断的含义就是模仿硬中断的实现方式,软就是软件模拟的意思。它处于中断的下半部执行,目的是想要使中断上半部快速执行完毕。耗时的一些工作放到下半部去执行。避免丢中断和系统响应慢的问题。 在interrupt.h中定义了软中断号。enum{ HI_SOFTIRQ=0, TIMER_SOFTIRQ, NET_TX_SOFTIRQ, NET_RX_SOFTIRQ, BL
2009-12-31 12:43:00 2154
原创 键鼠控制器
在IBM AT和IBM PS2键盘系统中,CPU不能直接和键盘鼠标通讯,需要经过8042芯片来屏蔽不同键盘和鼠标的差别。 CPU直接和8042芯片进行通信,以实现对整个键盘的控制;键盘从外界输入得到的数据也可以通过8042芯片通知给CPU,然后CPU可以通过8042芯片读取这些数据。另外,CPU也直接向8042芯片发送命令,以使用8042芯片自身所提供的功能。 键盘自身也有自己
2009-12-29 09:53:00 1493
转载 实模式、保护模式、V8086模式
从80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到linux操作系统运行 起来以后就运行在保护模式。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共
2009-12-25 11:00:00 1236
原创 xdirectfb installation in FC6/FC7
xdirectfb installation in FC6/FC7中间遇到很多问题,终于可以正常利用framebuffer显示了,详细步骤如下:cd /lib/modules/2.6.18-1.2798.fc6ln -s /usr/src/kernels/2.6.18-1.2798.fc6-i586 buildcd linux-fusion-8.1.1makemake installmodp
2009-11-10 17:06:00 1135
原创 xen创建guest domain流程分析
创建domain的工作是通知xend来完成的。xm cr的时候通过xml-rpc通知xend。xend调用hvmloader启动guest domain的。简单画了个流程图。图片搞半天插入不了,到相册去看吧。
2009-10-13 15:05:00 1044
转载 gcov测试代码覆盖率及分析代码性能
1、资源列表Lcov:lcov可以采用html的格式显示gcov的结果,lcov的源码下载地址如下:http://ltp.sourceforge.net/coverage/lcov.php。下载lcov源码包(wget http://downloads.sourceforge.net/ltp/lcov-1.6.tar.gz),解压lcov压缩包(tar -xvf lcov-1.6.tar.
2009-09-03 17:17:00 2632
转载 设备类的规定
Class Code TableClass CodesClassDescription0x00Devices built before class codes (i.e. pre PCI 2.0)0x01Mass storage controller0x02Network controller0x03Dis
2009-08-31 16:41:00 1060
转载 ACPI 体系中的重要名词
DSDT: DSDT 称做 Differentiated Definition Block,存在于 BIOS 中并与当前的硬件平台兼容的,提供了系统的硬件特性(例如某些设备的内部寄存器和存储器)的应用策略和配置,在系统初始化的时候,DSDT 被当前系统启动时初始化到名字空间中。 FADT:FADT 中包含了 ACPI 的硬件寄存器组(GPE)的应用和配置(包含它们的硬件地址)也包括DSD
2009-04-28 10:21:00 1554
转载 IRQ中断请求原理
IRQ ( 中斷請求 ) 是 PC 非常重要的一個功能. 在一般的電腦系統裡. 當裝備需要系統來服務時.有二種方法 :一是 polling. 由 CPU 一直去問裝備是否需要服務. 如果需要時就去服務它. 這很浪費 CPU 的時間. 另一種方法就是 IRQ 法. 當裝備需耍服務時就發出 IRQ. 當系統收到這個 IRQ 時才去服務它. 就樣可大大減小系統的負擔. IRQ 由中斷控制器 (825
2009-01-16 10:17:00 4232
转载 事件驱动的应用开发模型
从目前看,大量数据的流动仍然主要分布在局域网的分布式系统中,该类系统的大流量、实时性的特点要求系统具有实时响应、交互动作异步非耦合、高可用性、高可得到性等特征。而因为系统主要局限在局域网内运行,因而在系统的构建上应用要具有灵活多样可靠稳定的性能。事实上,良好的局域网应用是联入广域网的前提。在该类分布式系统中,引导数据流动和分布式动作的往往是事件的作用,或者称之为消息。事件是激活和驱动分布式系统
2008-05-13 09:33:00 1221
转载 rpcgen用法
Linux下C语言-RPC远程调用编程rpcgen用法在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令。通过rpcgen的man手册看到此工具的作用是把RPC源程序编译成C语言源程序,从而轻松实现远程过程调用。下面的例子程序的作用是客户端程序取中心服务器上时间的,编程过程如下:先编写一个 “ RPC
2008-04-09 09:17:00 9101 3
转载 Tcl script中的自动加载
在unknown过程中一项非常有用的功能就是自动加载,自动加载功能允许你编写一组Tcl过程放到一个脚本文件中,然后把该文件放到库目录之下,当程序调用这些过程的时候,第一次调用时由于命令还不存在就会进入unknown命令,而unknown则会找到在哪个库文件中包含了这个过程的定义,接着会加载它,再去重新执行命令,而到下次使用刚才调用过的命令的时候,由于它已经存在了,从而会正常的执行命令,自动加载
2008-02-26 11:25:00 1423
转载 实现BIN文件数据读取的TCL脚本分析
#需要需要设置文件及路径set openfile "C://Program Files//JTAGNET//RunBin//s2k000071v1.jtg//eeprom.bin"; #打开文件set fl [open $openfile]puts "open file : $openfile"#配置文件数据读入格式fconfigure $fl -encoding binary -tra
2008-02-25 19:11:00 2131
原创 __atribute__使用:关于_attribute__ ((used,__section__(".xxxx")))的理解
从etherboot代码中发现有一个__attribute__的使用,#define __pci_driver __attribute__ ((used,__section__(".drivers.pci")))/* Defined by the linker... */extern const struct pci_driver pci_drivers[];extern const struct
2008-01-16 09:37:00 4045 1
原创 中签了,奥运门票!细细
感谢您积极参与北京2008年奥运会门票第一阶段的申购活动。在对所有超额预订场次的申购人进行抽签后,我们很高兴地通知您已经成功申购了以下奥运门票。相应票款将从您提供的账号中划扣。请确保在9月10日之前,您的账号中储有足够的存款余额,或者保持有足够的信用额度,以支付您的票款。票款划扣将从该日开始。如果我们在2007年9月30日之前无法正常划扣您的票款,您将无法最终获得第一阶段订购的门票。请妥善保存
2007-08-29 13:03:00 717
原创 CVS的日常使用,目前用的比较多的。
版本分支的建立:cvs rtag -b -r release_1_0 release_1_0_patch proj_dir 按tag下载:cvs co -r tag名 -d 下载到本地目录名 cvs路径从分支下到某个具体目录: cvs co -r 分支名 -d 下载到本地目录名 cvs路径在cvs分支上面打rtag:cvs rtag -r 分支名称 tag名称 cvs路径删
2007-04-12 11:55:00 888
转载 限制挡的三大作用
“1”、“2”、“D+O/D-off(相当于限制在3挡)”具有限制自动变速箱的换挡功能,以实现发动机转速持续提升的目的,有利于发动机功率和扭矩的输出,因而称为“限制挡”,有3个的特殊功能:1)车的动力性更易于表现有一部分人称“限制挡”为“运动挡”,特别是在需要急加速(如超车)时,将“D”挡转换为“3”挡(本车为关闭O/D开关,即仪表盘下方的O/D-off灯亮),可以令自动挡车普遍存在的“油门”滞后
2007-04-12 11:47:00 1362
原创 5000公里了,我的tiida
12月份到现在,已经跑了5000公里了。还算省油,8个多。减震不理想(毕竟20w以下的车)。参加了首保和二保。all is free。在北京这种地方还没有磕磕碰碰,暗自庆幸。
2007-03-28 14:58:00 784
原创 《大食客》的吃后感
以前吃了亚运村很多店,没有什么记录,打算记录一下以便以后腐败时候做一参考。前几天去了大食客吃,首先商网上查了一下,说大食客还算不错,所以很想去吃一把。去的不算早。但是停车位已经没有了,害得我在路边停车,收了2元钱。一进大食客就能感觉到这一家是东北菜。因为有很多被面子。呵呵。我和老婆到了2楼,人也很多。找了个位置坐下。没有免费茶,但是有免费的开水。我们要了酱骨头(招牌菜),芹菜粉丝,还有什么土鸡。总
2007-03-27 18:18:00 796
原创 _Sysctl的使用
如何在系统运行时改变系统参数呢?可以用_sysctl()函数,使用前,先用syscall()函数注册我们的_sysctl函数,其中syscall*表示_sysctl的参数个数。如果_sysctl有一个参数,这调用syscall1。 详细可以看man 2 sysctl的说明和例子。在实际工作中,我想改变/proc/sys/net/下面的tcp_keepalive_intvl参数,可以按如下方
2007-03-06 18:06:00 1408
原创 gcc中的选项-L和-l
今天有空看看MAKEFILE编写,由于较长时间写代码,忘记了makefile的编写,发现-L是-l的搜索路径。记一下。 另外:GNU链接器几个开关项的解释:-lm -lc -lgcc -lm 代表链接器将连接GCC的数学库libm.a -lc 代表链接器将连接GCC的标准C库libc.a -lgcc 代表链接器将连接GCC的支持库libgcc.a 在连接时,这些库的排列顺序一般为
2007-02-07 15:38:00 1580
原创 inline的用法
inline + static:如果一个函数既是inline又是static,如果所有对函数的调用都能被展开在调用者里面,并且这个函数的地址从来没有被使用过,那么这种情况下不存在对这个函数本身汇编代码的引用。这时,GNU CC实际上并不输出这个函数的汇编代码,除非加选项“-fkeep-inline-functions”。存在一些由于各种原因不能被展开的调用(比如,在函数声明前的调用不能被展
2007-02-07 13:40:00 1270
原创 signal_pending(current)用法
signal_pending(current)检查当前进程是否有信号处理,返回不为0表示有信号需要处理。返回 -ERESTARTSYS 表示信号函数处理完毕后重新执行信号函数前的某个系统调用。也就是说,如果信号函数前有发生系统调用,在调度信号处理函数之前,内核会检查系统调用的返回值,看看是不是因为这个信号而中断了系统调用.如果返回值-ERESTARTSYS,并且当前调度的信号具备-ERES
2007-01-10 15:12:00 4727 1
原创 内核里面屏蔽信号的方法
spin_lock_irqsave(¤t->sigmask_lock, flags); oldset = current->blocked; sigfillset(¤t->blocked); recalc_sigpending(current); // 重新计算current->sigpending spin_unlock_irqres
2007-01-04 14:59:00 1452
NAND overview: from memory to systems
2012-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人