代码改变世界

【更】Android 属性系统

2011-12-06 19:42 by shy.ang, 582 阅读, 0 推荐, 收藏, 编辑
摘要:有一篇写的不错http://blog.sina.com.cn/s/blog_606334a20100gllo.html下面主要摘自此文。Android为了存储关于全局系统设置的信息,使用一个系统属性公共缓冲区,这个缓冲去的内容时(属性,值)对的列表,对外提供get和set服务。属性区域相当于一般应用的配置文件。系统属性信息的代码位于/bionic/libc/include/sys/_system_properties.c中属性系统初始化过程:init进程——>property_init()——>init_prpperty_area():首先创建一个装载property的worksp 阅读全文

【转】Consistent hashing

2011-11-30 09:20 by shy.ang, 411 阅读, 0 推荐, 收藏, 编辑
摘要:一致性hash算法(consistent hashing)http://blog.csdn.net/sparkliang/article/details/5279393consistent hashing算法早在1997年就在论文Consistent hashing and random trees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行 阅读全文

硬连接和软连接

2011-11-16 22:01 by shy.ang, 353 阅读, 0 推荐, 收藏, 编辑
摘要:硬连接: 硬连接能够删除源文件而数据不会丢失 硬连接不是复制数据,而是新增了对一个实际数据的指针,一般删除文件时只是删除了文件的一个指针,硬连接数减少一个,直到最后一个指针被删除,数据真的就被删除了。 不可以对目录设置,不可以跨分区设置 源文件和硬连接文件是“平级”关系,两者都指向同一个数据 硬连接起到数据保护作用,但只是对删除,不能对修改起到保护 硬连接和源文件inode号相同,是同一处的数据 ln source des软连接: 又称符号连接,是linux特殊文件 相当于windows的快捷方式 软连接存的是源文件的路径,是源文件的指针 删除源文件,软连接就会失效 软连接和源文件in... 阅读全文

Berkeley Sensor Database总结

2011-11-16 20:53 by shy.ang, 321 阅读, 0 推荐, 收藏, 编辑
摘要:http://sensor.berkeley.edu/Berkeley Sensor Databasel Based on Observation Data Model(ODM), MySQL, Apache Web Server and Perll Modified ODM Schema l Data Loaderl Web Interfacel Administrative and Reporting functionsData Loaderruns hourly to check for new measurements and then populate the Sensor Data 阅读全文

【转】distributed key-value database

2011-11-16 20:18 by shy.ang, 449 阅读, 0 推荐, 收藏, 编辑
摘要:http://blog.gslin.org/archives/2009/07/25/2065/资料库在RDBMS提供了很多而且很丰富的操作方式,但当资料量愈来愈大时,会遇到单台机器的网路频宽有限以及空间有限。这时候一定得走向多台的架构。Replication最容易解决的情况是「读取的query 比写入的query 多」,可以用database replication 解决,这也是Web 1.0 网站常见的解法之一(另外一种常见的解法是使用静态档案,或是reverse proxy cache),同步将资料复制到多台。Memcached接下来会发现当slave过多时会造成每台记忆体内重复cache 阅读全文

【转】实现大系统的小体会

2011-11-16 19:44 by shy.ang, 304 阅读, 0 推荐, 收藏, 编辑
摘要:http://blog.csdn.net/historyasamirror/article/details/6966672这些体会是基于一个这样的系统:它包含有十几个大小不一的模块,这些模块分布在不同的机器上,每个请求都需要这些模块的协作才能够完成。我不是太好意思称它为大系统或者分布式系统,因为它确实还差了那么点东西。但我也相信,任何一个真正的大系统/分布式系统也是从这么一个系统开始的。对于这样一个系统,消息通信模块,日志模块和监控模块是非常基础却至关重要的几个模块:消息通信模块是一切的基础。为了使得所有的模块尽可能的独立和解耦合,并且能够部署到不同的机器上,你应该让他们只使用某种基于网络协议 阅读全文

【转】linux虚拟内核文件系统介绍

2011-10-27 15:46 by shy.ang, 1855 阅读, 0 推荐, 收藏, 编辑
摘要:2.5 虚拟文件系统(sysfs,proc,tsmpfs等) 2.5.1 虚拟文件系统概述 2.5.2 proc 文件系统 2.5.3 sysfs文件系统 2.5.4 tmpfs文件系统 2.5.5 usbdevfs文件系统 2.5.6 devpts文件系统 2.5.1 虚拟文件系统概述 虚拟内核文件系统(Virtual Kernel File Systems),是指那些是由内核产生但并不存在于硬盘上(存在于内存中)的文件系统, 他们被用来与内核进行通信前面介绍的ext2,ext3,jffs2,yaffs2等目录和文件,都是真真正正、实实在在的存储在具体的外部存 储设备上的,它们可能是在本机的 阅读全文

Ubuntu 上编译Android内核

2011-10-25 12:37 by shy.ang, 484 阅读, 0 推荐, 收藏, 编辑
摘要:主要参考:http://source.android.com/source/initializing.htmlUbuntu上编译Android后emulator出现“command not found "和加载.img文件等相关问题的解决:vi $HOME/.profilePATH=”$HOME/Android/out/host/linux-x86/bin:$PATH"export ANDROID_PRODUCT_OUT=$HOME/Android/out/target/product/generic"adb shell : device not found &q 阅读全文

【转】深入理解 Android消息处理系统的原理

2011-10-22 21:17 by shy.ang, 356 阅读, 0 推荐, 收藏, 编辑
摘要:Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制。实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 本文深入介绍一下Android消息处理系统原理。 Android系统中Looper负责管理线程的消息队列和消息循环,具体实现请参考Looper的源码。 可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程... 阅读全文

[转]编译linux内核

2011-10-08 11:26 by shy.ang, 289 阅读, 0 推荐, 收藏, 编辑
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://kpjack.blog.51cto.com/627289/318296第一步:准备工作打开终端获得root权限:sudo su然后安装编译内核时需要的工具:apt-get install build-essential kernel-package libncurses5-dev libqt3-headersbuild-essential (基本的编程库(gcc, make等)kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和. 阅读全文