标签:
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
关于Framework,就是应用层底下的控制层,离应用层最近,总想找个机会,写写WindowMangerService和ActivityManagerService(注意非控件,而是指一类服务)以及其他一些东西,对底层做一个更为全面的认识。而很早以前,写过一篇文章,来简述Android系统-"
就着上图,我们会对每一条做进一步的解说(注意上图大多是包含关系,少数是关联关系,请区别对待)。由于android系统基于linux,就先讲一下linux基础,文件系统通常有3个特点:
1、由文件和目录组成,占据一定存储空间
2、具有读、写、执行权限,可以复制和移动
3、多个文件系统可以并列,且类型可以不同,如FAT16和NTFS
主要的文件目录有以下几种-与android系统类比:
1、bin,存放用户级二进制工具-相当于android系统的acct目录
2、boot,内核镜像文件,由bootloader装载-firmware
3、dev,各种文件系统如打印机等-相当于android系统的dev目录+storage+mnt/sdcard
4、etc,配置文件区-相当于android系统的config目录
5、home,用户工作目录-data/user
6、lib,系统运行时库的存放地-data/app-lib
7、opt,存放系统程序-data/app-private
8、proc,系统级如内核和进程所在文件-proc目录
9、root,管理员工作目录-root目录
10、sbin,管理员的二进制工具-sbin目录
11、sys,驱动对应的系统文件如固件、内核、电量等-sys目录+system目录
12、usr,应用程序安装区-data/app
13、var,调试信息等-data/anr等
因此从上面来以看出,其实操作系统都是由文件组成,外加一些硬件感应设备。但上面介绍的依然不全面,因为android是一层套一层,资源是总体一致,大体分散的结构。同时上面会涉及到进程pid,值为100以内是系统进程,1000以内是root进程,1000以上是用户进程。讲完目录,咱们再讲讲命令:
1、man,查询某命令的意思
2、ls,列出当前目录下所有文件及文件夹信息
3、find,用名字查找文件信息
4、grep,查询文件中的字符串信息
5、cat,打开文件
6、chmod,指定权限,ugo指user(自身)、group(组)、other(其他),权限有r(读1)w(写2)x(执行4),指定权限有两种方式如chmod ug+x(给予当前用户和某群组执行的权限),chmod 777(给予三者所有权限,原因请看上一行)
7、ps和kill,ps列出当前所有进程,kill杀死某进程
8、export,用于设置变量作用于全局
9、mount和unmount,加载和卸载文件系统
好在用过linux操作系统工作过一段时间,对后来做Android开发,起到很大的帮助,上面介绍的是一些常用命令,有兴趣的可以安装一个linux系统来用,之前有一个同事使用ubuntu来编译so,而我当年用的是小红帽rethat。
下面简单讲一个linux启动过程,其实Dalvik虚拟机也是类似
标签:
原文地址:http://blog.csdn.net/reboot123/article/details/52247736