Android 内核初识(3)init进程】的更多相关文章

init是一个进程,确切地说,它是Linux系统中用户空间的第一个进程.由于Android是基于Linux内核的,所以init也是Android系统中用户空间的第一个进程,它的进程号是1.作为天字第一号的进程,init被赋予了很多极其重要的工作职责. · 挂载设备 · 解析两个配置文件,中一个是系统配置文件init.rc,另外一个是和硬件平台相关的配置文件,以HTC G7手机为例,这个配置文件名为init.bravo.rc. · 执行各个阶段的动作,创建Zygote的工作就是在其中的某个阶段完成…
简介 Zygote本身是一个Native的应用程序,和驱动.内核等均无关系.Zygote是由init进程根据init.rc文件中的配置项而创建的. zygote最初的名字叫“app_process”,这个名字是在Android.mk文件中被指定的,但app_process在运行过程中,通过Linux下的pctrl系统调用将自己的名字换成了“zygote”,所以我们通过ps命令看到的进程名是“zygote”. 通过JNI调用Java函数,注意调用的是com.android.internal.os.…
简介 SystemServer的进程名实际上叫做“system_server”,通常简称为SS. 系统中的服务驻留在其中,常见的比如WindowManagerServer(Wms).ActivityManagerSystemService(AmS). PackageManagerServer(PmS)等,这些系统服务都是以一个线程的方式存在于SystemServer进程中. SS是由Zygote通过Zygote.forkSystemServer函数fork诞生出来的.与Zygote生死与共.SS…
简介 SystemServer的进程名实际上叫做“system_server”,通常简称为SS. 系统中的服务驻留在其中,常见的比如WindowManagerServer(Wms).ActivityManagerSystemService(AmS). PackageManagerServer(PmS)等,这些系统服务都是以一个线程的方式存在于SystemServer进程中. SS是由Zygote通过Zygote.forkSystemServer函数fork诞生出来的.与Zygote生死与共.SS…
简介 Windows平台上有一个叫注册表的东西.注册表可以存储一些类似key/value的键值对.一般而言,系统或某些应用程序会把自己的一些属性存储在注册表中,即使下次系统重启或应用程序重启,它还能够根据之前在注册表中设置的属性,进行相应的初始化工作. Android平台也提供了一个类型机制,可称之为属性服务(property service).应用程序可通过这个属性机制,查询或设置属性. 可以用adb shell登录到真机或模拟器上,然后用getprop命令查看当前系统中有哪些属性. init…
start_kernel其实也是内核的一个进程,它占用了进程号0,start_kernel的内容简写如下: asmlinkage void __init start_kernel(void) //内核线程,0号进程idle进程 { ...... tick_init(); boot_cpu_init(); page_address_init(); //内存管理相关 kernel2.6.35.11/mm/highmem.c ...... setup_arch(&command_line); //内核…
简介 Binder是Android系统提供的一种IPC(进程间通信)机制.由于Android是基于Linux内核的,因此,除了Binder外,还存在其他的IPC机制,例如管道和socket等.Binder相对于其他IPC机制来说,就更加灵活和方便了.Android系统基本上可以看作是一个基于Binder通信的C/S架构.Binder就像网络一样,把系统各个部分连接在了一起,因此它是非常重要的. 什么是Binder Binder是android在内核中专门用于完成进程间通信而设置的一个虚拟设备(/…
官方文档: http://source.android.com/source/requirements.html  Requirements The Android build is routinely tested in-house on recent versions of Ubuntu LTS (14.04), but most distributions should have the required build tools available. Before you download…
简介 RefBase是Android中所有对象的始祖,类似MFC中的CObject及Java中的Object对象.在Android中,RefBase结合sp和wp,实现了一套通过引用计数的方法来控制对象生命周期的机制.RefBase的子类在构造一个实际对象的同时,还会悄悄地构造一个影子对象. sp是strong pointer, wp是weak pointer, LightRefBase是轻量级的引用计数类,只有一个引用计数,为0就删除. RefBase,sp,wp中的引用计数 · RefBas…
以模块角度 以Java,native,kernel角度…