查看Android/CyanogenMod 发烧笔记的源代码
←
Android/CyanogenMod 发烧笔记
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== Android 手机系统结构 == Android 手机是:手机硬件 + Linux 内核 + Android扩展库(/system/lib/*.so) + 类Java虚拟机(google自己实现的虚拟机Dalvik)+ Java应用(图形环境,手机桌面,应用程序等等)的混合体 [[文件:AndroidArch.PNG]] 手机硬件之上跑的是 Linux 内核(http://www.kernel.org/ ),掌控所有软硬件资源,类似触摸屏、GPS、摄像头、传感器等硬件外设的驱动都实现为 Linux Kernel 的一个模块 上层应用如要访问硬件外设,已不是传统的 GNU/Linux 访问设备方式(比如通过打开 /dev/radio 设备文件,调用 read/write/ioctl 函数与设备交互),Android 把对设备的访问都封装成了一个个的共享库(位于 /system/lib/hw/ 下),比如 camera.aries.so 封装有手机相机的操作,sensors.aries.so 封装有所有传感器访问的操作等,上层应用通过 libhardware.so 这个统一的入口(提供 id 参数,区分具体设备),调用具体设备的封装共享库 Android 是建立在 GNU/Linux 基础上的嵌入式 Linux 系统(裁减不必要的组件),因此其也吸纳了社区的优秀核心C/C++应用库,比如基础的libc(/system/lib/libc.so,使用的是Bionic C库,专用于嵌入式的C库),嵌入式关系数据库sqlite引擎库(/system/lib/libsqlite.so),web浏览器核心库webkit(/system/lib/libwebcore.so) 等。 在往上就是 Dalvik 虚拟机,google实现了这个类Java的虚拟机,为能运行 Java 程序,其也实现了一个Java核心库,提供Java语言API中的大多数功能,这个核心库同时也包含了Android的一些核心API,比如android.os、android.net、android.media 等 上层的 Application Framework 和 Applications (APP) 都运行在 Dalvik 虚拟机环境中 Application Framework 和 Applications 在 GNU/Linux 环境中,都表现为一个独立的进程/线程: <pre> $ ps ...... system 180 1 11240 1448 c0720c44 4014eb94 S /system/bin/servicemanager radio 536 186 341380 43912 ffffffff 400f8a70 S com.android.phone system 376 186 411692 52192 ffffffff 400f7b94 S system_server $ pstree `-zygote-+-ceassist:remote-+-{Binder_1} | |- ...... | |- ...... | |-{SynthThread} | |-{Thread-2031} | `-{oPlaybackThrea} | |-system_server-+-{.ProcessManage} | |-{AccountManager} | |-{ActivityManage} | |-{AlarmManager} | |- ...... | |- ...... | |-{GpsLocationPro} | |-{LocationManage} | |- ...... | |-{PackageManager} | |- ...... | |-{UsbDeviceManag} | |- ...... | |-{WifiService} | |-{WindowManager} | |-{backup} | |-{gps_s5pc110} | |-{mDnsConnector} | `- ... |- ... `- ... </pre> http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is <br><br> === GPS interface of Android === <br><br>
返回到
Android/CyanogenMod 发烧笔记
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面