1.Android为什么选择java?

  由于java虚拟机,实现软件层的编程与硬件无关性(无需进行特定编译或平台配置)。

2.Android和Linux内核区别?

  Android上的应用软件运行在dalvik虚拟机上的java软件,dalvik依赖Linux内核。可见Android运行在Linux之上的操作系统。主要差别如下:

  - Android Binder:提供Android平台的进程间通信;Linux系统上层进程间通信主要是Desktop BUS,用消息总线的方式进行IPC。

  - Android电源管理

  - 低内存管理器(low Memory Killer)

  - 匿名共享内存

  - Android PMEM:用于向用户空间提供连续的物理内存区域

  - Android logger:轻量级日志设备

  - Android Alarm:定时器,用于把设备从睡眠状态唤醒。

  - USB Gadget:USB设备驱动

  - Android RAM Console:为了提供调试功能,Android允许将调试日志信息写入RAM Console设备中,是一个基于RAM的Buffer

  - Android timed device:提供对设备进行定时控制功能,目前仅支持振动器和LED设备

  - Yaffs2文件系统

3.Android系统移植的任务:

  Android移植开发的工作由:核心库,Dalvik虚拟机,硬件抽象层,Linux内核层,硬件系统协同完成

  - Linux中的相关设备驱动程序

  - Android本地框架中的硬件抽象层

4.系统和硬件之间的交互方式:

  - 系统调用

  - 驱动程序

  - 使用proc文件系统

  - 使用虚拟文件系统

  - 使用内存映像

5.HAL硬件抽象层目的:

  把Android Framework与Linux kernel隔离,让Android不至于过度依赖Linux kernel,从而可以在不考虑驱动程序前提下进行Android Framework开发。

6.Goldfish基础:

  Goldfish是一种虚拟的ARM处理器,在Android的仿真环境中使用,运行arm926t指令集

7.Ashmem驱动介绍

  Ashmem是Android的内存分配/共享机制,基于mmap系统调用,和传统内存分配机制相比是提供了辅助内核内存回收算法的机制

8.Pmem:与Ashmem都是通过mmap实现共享,区别是Pmem的共享区域是一段连续的物理内存,而Ashmem在虚拟空间地址连续,物理空间不一定连续

9.MSM内核:MSM是美国高通公司的应用处理器,是Android系统最常用的处理器产品之一。

10.OMAP基础:OMAP是德州仪器公司的应用处理器

11.JNI:java Native Interface,java本地调用

关于android和Linux的一些问题的更多相关文章

  1. Android和Linux应用综合对比分析

    原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...

  2. Android中Linux suspend/resume流程

    Android中Linux suspend/resume流程首先我们从linux kernel 的suspend说起,不管你是使用echo mem > /sys/power/state 或者使用 ...

  3. android sdk linux 文本 64 位置

    android sdk linux 64 之前获得模.现在补上一,然后,小伙伴们下载 版权声明:本文博主原创文章,博客,未经同意不得转载.

  4. React++ node.js ++SQL Sever ++MySQL++ python ++ php ++ java ++ c++ c#++ java ++ android ++ ios ++Linux+

    "C语言在它诞生的那个年代,是非常不错的语言,可惜没有OOP.当项目臃肿到一定程度,人类就不可控了. 为了弥补这个缺陷,C++诞生了.而为了应对各种情况,C++设计的大而全,太多复杂的特性, ...

  5. 八一八android与Linux的关系

    Linux与Androld的关系 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序.下面我们就来分析一 ...

  6. Android 运行 Linux 可执行程序

    /**************************************************************************** * Android 运行 Linux 可执行 ...

  7. android与linux之间的关系

    篇一(system/core/init/init.c): 对Android感兴趣的朋友都知道,Android系统是建立在Linux内核之上的.那么Linux内核和Android什么关系?Linux内核 ...

  8. 如何在Android 或Linux 下,做Suspend /Resume 的Debug【转】

    转自:http://blog.csdn.net/jacobywu/article/details/24735521 目录(?)[-] Question Answer 加boot 參數 no_conso ...

  9. Linux下搭建Android NDK , Linux 驱动开发环境

    Eclispe Luna(4.4):http://www.eclipse.org/downloads/ CDT :http://www.eclipse.org/cdt/downloads.php AD ...

随机推荐

  1. 非构造函数方式创建DbContext实例的方法

    using Microsoft.EntityFrameworkCore;using Microsoft.EntityFrameworkCore.Design;using Microsoft.Entit ...

  2. C++11中一个使用for+auto时容易发生的bug

    C++11中一个使用for+auto时容易发生的bug 一个小坑,那就是忘记在for循环中使用auto时加引用. 例如: for(auto num : nums){ // do some thing ...

  3. CentOS 7常用命令

    常用命令 文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file ...

  4. Oracle数据库正则表达式

    正则表达式: 无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java.C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出 ...

  5. 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)

    一.定义 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果 ...

  6. 服务器搭建远程docker深度学习环境

    服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...

  7. PicGo软件搭配gitee实现图床

    1.安装PicGo软件,并配置gitee 1.1安装picGo picGo 安装gitee-uploader 插件 官网下载地址如下:最新版本 可以自行选择版本进行下载,这里我选择了最新的版本进行下载 ...

  8. Appium之常用API

    Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...

  9. 正则表达式与SQL

    在我心中正则表达式和SQL就是一样的东西. SQL是结构化查询语言,是根据某个查询.修改规则来查询修改数据,是描述一个规则给数据库,数据库来执行, 数据库返回结果,过程不需要考虑,不算是编程语言. 正 ...

  10. vSphere Client上安装虚拟机工具VMware Tools

    vSphere Client上安装虚拟机工具VMware Tools 1.安装虚拟机 具体安装步骤就不详述了,安装虚拟机之后右击虚拟机名->客户机->安装/升级VMware Tools,这 ...