- 博客(38)
- 资源 (1)
- 收藏
- 关注
转载 Linux Makefile 详细语法
转载自:http://blog.163.com/bical@126/blog/static/479354942013411114118416/Linux Makefile 详细语法最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把
2016-01-13 09:51:08
731
转载 linux脚本 awk命令详解
转载自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、
2016-01-13 09:48:46
530
原创 DVFS Governor Interactive-choose_freq()函数解析
一.choose_freq函数概述在interative策略中,choose_freq函数用来选择一个合适的频率,使选频后系统的workload小于或等于target load. 其核心思想是:选取一个最小的频率,使在这个频率中的target load达到理想状态。 1. 影响选频的核心因素有两个:1.两次统计时间内系统频率的平均频率loadadjfreq,2.系统设定好的ta
2015-10-27 17:39:07
2662
转载 /proc/sys/vm虚拟内存参数。
1.admin_reserve_kbytes 给有cap_sys_admin权限的用户保留的内存数量,默认值是min(free pages * 3%, 8MB)。这些内存是为了给管理员登录和杀死进程恢复系统提供足够的内存。2.block_dump 如果设置的是非零值,则会启用块I/O调试。更多的关于块I/O调试的信息可以参见Documentation/laptops/lapt
2015-09-24 10:34:29
7708
转载 安卓build编译各种系统镜像的过程。
在前面一篇文章中,我们分析了Android模块的编译过程。当Android系统的所有模块都编译好之后,我们就可以对编译出来的模块文件进行打包了。打包结果是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img、userdata.img和recovery.img等。这些镜像文件最终可以烧录到手机上运行。在本文中,我们就详细分析Android系统的镜像文件的打包过程。
2015-09-15 13:54:01
3266
转载 Makefile中eval函数用法
函数功能:函数“eval”是一个比较特殊的函数。使用它我们可以在我们的Makefile中构造一个可变的规则结构关系(依赖关系链),其中可以使用其它变量和函数。函数“eval”对它的参数进行展开,展开的结果作为Makefile的一部分,make可以对展开内容进行语法解析。展开的结果可以包含一个新变量、目标、隐含规则或者是明确规则等。也就是说此函数的功能主要是:根据其参数的关系、结构,对它们进行替换展
2015-08-22 14:40:24
2445
原创 手机录像出现arn无响应
个人总结,仅供参考手机录像卡死出现anr,由于公司外卡通常比较低廉,经常出现存储相关问题,分析过程仅供参考。。。kernel log info:// NOT RESPONDING: com.android.camera2 (pid 3221) Time Longth Since Monkey Start: 19814808ANR in com.android.camera2 (co
2015-07-16 15:40:05
6506
原创 repo命令下载安卓代码
MocorDroid code download command is as follows. should be replaced with specific branch you wants. Remove the angle brackets when replacing.Download branches are shown in Table1.$ repo init -
2015-06-17 14:00:13
1101
转载 Android-Product-Makefiles
Android-Product-Makefiles1 到哪儿去找某Product的Makefiles?Android的产品配置中,我们在build的时候用chooseproduct指定了产品名,比如叫 pxa988dkb_def ,那么,Android怎么知道应该去使用这个产品的Makefiles,而不是pxa986ff_def 的Makefiles呢?尤其是,它怎么知道到
2015-06-11 11:16:19
1455
转载 Android编译系统环境初始化过程分析
Android源代码在编译之前,要先对编译环境进行初始化,其中最主要就是指定编译的类型和目标设备的型号。Android的编译类型主要有eng、userdebug和user三种,而支持的目标设备型号则是不确定的,它们由当前的源码配置情况所决定。为了确定源码支持的所有目标设备型号,Android编译系统在初始化的过程中,需要在特定的目录中加载特定的配置文件。接下来本文就对上述的初始化过程进行详细分析。
2015-06-10 11:21:22
623
转载 安卓编译系统简介
本文系本站原创,欢迎转载! 转载请注明出处:http://blog.youkuaiyun.com/mr_raptor/article/details/7540066++++++++++++++++++++++++++++++++++++++++++ Android编译系统详解(一):http://blog.youkuaiyun.com/mr_raptor/article/details/7539
2015-06-10 11:02:12
422
转载 深入理解SELinux SEAndroid(第一部分)
深入理解SELinux SEAndroid原创:http://blog.youkuaiyun.com/innost/article/details/19299937SEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Linux的安全
2015-06-10 10:33:19
432
转载 android中image文件的压缩与解压缩
我们将android源码进行编译之后,会在out/target/product//目录下生成几个image文件:system.img,recovery.img,userdata.img等,将这些image文件连同一些bin文件烧写到机器的nand flash之后(利用专门的烧写工具),便可以启动系统了。由于项目的原因,近日接触了有关这些image文件的操作,故将其整理成本文。
2015-06-09 16:13:14
744
转载 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img.
原创:http://www.cnblogs.com/cute/p/4140230.htmlLinux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img.Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img
2015-06-09 14:00:00
1139
转载 Android编译系统参考手册
build/core/Makefile.mk在main.mk里定义了许多目标,而Makefile定义了各个目标的生成规则CL_RED编译输出用的颜色,类似的还有 CL_GRN CL_YLW CL_BLU CL_MAG CL_CYN CL_RSTCL_RED表示用echo输出时使用红色作为前景色FILE_NAME_TAG输出的文件名的tag,
2015-06-09 10:21:04
3474
转载 mount命令里的bind选项
http://www.wzzjla.com/Html/201208/401.htmlmount显示:/dev/mtdblock0 on /flash type jffs2 (rw)/dev/mtdblock0 on /etc type jffs2 (rw)看到的现象是这样,我们再看一看启动脚本,为什么是这样:先是mount /dev/mtdblock0 /f
2015-04-24 15:33:24
1169
转载 使用blktrace统计磁盘块I/O访问频率
http://blog.chinaunix.net/uid-24774106-id-4096470.html如果我们想知道,在一段时间内,那一个磁盘块被读写的频率最高,怎么办? 我问这个问题是看到taobao kernel wiki上面有这么一段话,看了我十分心痒:通过对blktrace的输出结果进行分析,我们可以对特定时间段内发生的读、写操作的磁盘块进行I/O频
2015-02-06 11:37:15
478
转载 Git和Repo管理使用简要介绍
原创http://blog.youkuaiyun.com/stevenhu_223/article/details/8828130在Linux平台下进行Android系统项目开发时,需要git或repo管理。 一. Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 2. Repo: Rep
2015-02-04 11:26:28
382
转载 /proc/sys/vm参数(转)
1) /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。缺省设置:0,禁用Block Debug模式2) /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘,后台回写所有进程的cac
2015-02-04 11:25:41
508
转载 GPT分区数据格式分析(图已补上)
http://blog.youkuaiyun.com/diaoxuesong/article/details/94060151. 背景与前言随着技术的不断提高,电子产品的集成度变得越来越高,硬盘是这几年中的一个突出产品,近年来,硬盘容量不断提升,从500G到1TB,目前已经能以很便宜的价格买到3TB的硬盘。分区就是把一块大的物理硬盘分成一个一个的逻辑盘,这样便于文档归类,减少坏道损失。传统
2015-02-02 14:39:34
8762
转载 FAT32文件系统的存储组织结构(一)
http://blog.chinaunix.net/uid-26913704-id-3213948.html对磁盘的物理结构,逻辑结构和存储结构有了比较深入的了解后,我们来仔细探讨FAT32文件系统的存储组织结构。说到文件系统的组织结构,我们应该马上意识到,这指的是文件系统在同一个分区内的组织结构,在这个话题上,我们完全可以不管分区之外的所有事情。 为了分析FAT32文
2014-12-25 11:44:50
804
转载 Linux 的并发可管理工作队列机制探讨
http://www.ibm.com/developerworks/cn/linux/l-cn-cncrrc-mngd-wkq/index.html本文简要分析比较了内核中的各种延迟机制,着重于工作队列的使用、实现以及限制,随后分析了自版本 2.6.36 出现的并发可管理工作队列的实现以及将来的应用前景。并发可管理工作队列的出现慢工作机制为什么说是“提供过内核中还曾短暂
2014-12-18 13:45:12
558
转载 android adb常用指令
转载自:http://www.javaeye.com/topic/260042Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出ad
2014-12-15 16:46:34
432
原创 在安卓项目中单独编译某个c源文件
想要在x86下编写一个c源文件测试手机某些功能,交叉编译后放到展讯手机中运行测试。那么问题来了,好像仅仅使用交叉编译器arm-eabi-gcc编译c文件总是出错,原因是依赖某些库,同事告诉我要在安卓源码中编译才行。一。在安卓项目根目录下新建test目录,编写好源文件test.c后放到test目录下,编写Android.mk文件如下(相当与mkfile)。二,在安卓项目下执行#sou
2014-12-15 16:05:47
1980
转载 Linux中的工作队列
http://tanatseng.blog.163.com/blog/static/174991629201132734828701/工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到工作队列。说白了就是系统延时调度的一个自定义函数。 工作队列是实现延迟的新机制,从 2.5 版本 Linux内核开始提供该功能。不同于微线程一
2014-12-12 15:50:22
780
转载 linux下数据同步、回写机制分析
http://blog.chinaunix.net/uid-9543173-id-3568434.html一、前言在linux2.6.32之前,linux下数据同步是基于pdflush线程机制来实现的,在linux2.6.32以上的版本,内核彻底删掉了pdflush机制,改为了基于per-bdi线程来实现数据同步,与pdflush线程相比,在per-bdi线程机制中,每个后备存储器
2014-12-11 16:55:09
596
转载 Linux 3.2中回写机制的变革
http://www.linuxidc.com/Linux/2013-01/77577.htmwriteback机制模型在Linux-3.2新内核中,page cache和buffer cache的刷新机制发生了改变。放弃了原有的pdflush机制,改成了bdi_writeback机制。这种变化主要解决原有pdflush机制存在的一个问题:在多磁盘的系统中,pdflush管理了所有磁盘
2014-12-11 16:45:16
455
转载 Linux DirectIO机制分析
http://www.oenhan.com/ext3-fs-directioDirectIO是write函数的一个选项,用来确定数据内容直接写到磁盘上,而非缓存中,保证即是系统异常了,也能保证紧要数据写到磁盘上,具体写文件的机制流程可以参考前面写的Linux内核写文件流程>,DirectIO流程也是接续着写文件流程而来的。内核走到__generic_file_aio_write函数
2014-12-11 16:41:22
4135
转载 Linux内核文件一致性之被动一致性
http://tracymacding.blog.163.com/blog/static/212869299201302172851251/前言 前一篇博客中我们仔细描述了Linux文件系统的主动一致性,即文件系统对外提供的用于实现文件一致性的接口,应用程序可以调用这些接口同步文件/系统的脏数据和元数据。但诚如前一篇博客中所说,一个成熟的系统不仅应该只有这些由
2014-12-04 16:11:17
1214
转载 Linux文件系统从磁盘读页面
http://tracymacding.blog.163.com/blog/static/21286929920130395934274/1. 引言在我前面的博客中详细分析了Linux页面缓存的实现机制,包括各种数据结构以及之间的关联。本篇专栏中我们将会详细讨论文件系统如何从磁盘上读出一个页面。我们知道,文件系统以页面(page,默认大小4096字节)为单位缓存文件数据
2014-12-04 16:09:50
689
转载 【转】ext4+delalloc造成单次写延迟增加的分析
转自 http://blog.tao.ma/?p=58这篇文章是淘宝内核组的刘峥同学在内部技术论坛上发表的一篇文章,但是由于刘峥同学目前没有blog,征得本人同意,贴在我的blog上,如果大家喜欢,请去新浪微博关注他。:)日前线上在升级到Ext4文件系统后出现应用写操作延迟开销增大的问题。造成这一问题的根源目前已经查明,是由于Ext4文件系统的一个新特性——Delay Allocation
2014-12-01 10:53:55
533
转载 【转】通过blktrace, debugfs分析磁盘IO
前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debugfs找到发生IO的文件,然后再结合自己的应用程序,分析出这些IO到底是谁产生的,最终目的当然是尽量减少不必要的IO干扰,提高程序的性能。blktrace是Jens Axobe写的一个跟踪IO请求的
2014-12-01 10:51:12
596
转载 每天一个linux命令(46):vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结
2014-12-01 10:45:07
405
转载 每天一个linux命令(47):iostat命令
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。
2014-12-01 10:02:32
432
转载 uboot中宏开关。
#define DEBUG是什么意思呢?编译器在内存中会维护一张关于 #define的表结构。这里只是添加了一个表项叫DEBUG,没有内容。这种写法本身没有错误,倒是下面运用到了一个技巧:#ifndef是查询该表有没有该表项,如果没有即为成功,此时将会编译之后的程序语句。一般是为了调试而设置的一些程序。待发布release版本时,没有了DEBUG表项,所以很多语句就不编译了,此时的程序被极度优
2014-09-22 14:28:13
1920
转载 uboot CONFIG_SYS_HUSH_PARSER 选项
u-boot中配置选项众多,有些配置选择提供了很好的功能,CONFIG_SYS_HUSH_PARSER 选项就提供了比较实用的功能,看看一个例子:在CONFIG_SYS_HUSH_PARSER 选项没有打开之前的运行结果:环境变量配置如下: bootcmd:"setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$ro
2014-09-17 11:34:43
2439
转载 2014.4新版uboot启动流程分析
原文地址:最近开始接触uboot,现在需要将2014.4版本uboot移植到公司armv7开发板。在网上搜索讲uboot启动过程的文章,大多都是比较老版本的uboot,于是决定将新版uboot启动过程记录下来,和大家共享。[cpp] view plaincopy# # (C) Copyright 2000-2013 # Wolfgang Denk,
2014-09-11 17:44:55
806
转载 uboot环境变量实现分析
u-boot的环境变量用来存储一些经常使用的参数变量,uboot希望将环境变量存储在静态存储器中(如nand nor eeprom mmc)。其中有一些也是大家经常使用,有一些是使用人员自己定义的,更改这些名字会出现错误,下面的表中我们列出了一些常用的环境变量: bootdelay 执行自动启动的等候秒数 baudrate 串口控制台的波特率
2014-09-11 17:39:01
435
经典c语言算法
2012-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人