博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android深度探索第一章节的总结
阅读量:6300 次
发布时间:2019-06-22

本文共 792 字,大约阅读时间需要 2 分钟。

  Android目前目前占有了智能手机操作系统的大部分市场份额,是目前手机操作系统开发的主流。同时Android是在linux的基础上开发的,所以Android的内核和linux内核大部分相同。由于Android的原生代码支持的设备并不多,因此需要额外的开发一些程序,使Android可以识别相应设备的硬件。Android的系统架构一共有四层,其中包括:应用程序,Android SDK API,C/C++代码库,Linux内核。Android系统移植的主要工作包括:应用移植和系统移植。其中应用移植是应用程序移植到某一个特定的硬件平台上。而系统移植则是指Android操作系统在某一个特定的硬件平台上运行。要使操作系统在硬件平台上运行首先要支持相应的CPU架构,其次需要识别平台上的各种硬件则必须移植驱动,最后需移植HAL(硬件抽象层)。

  Linux内核的版本目前主要维护Linux2.4,Linux2.6和Linux3.x.其中Linux2.6是使用最广泛的版本,Android就是使用了其内核版本。Linux内核版本号有下面几部分组成:主版本号;次版本号;修订版本号;微调版本号以及为特定的Linux系统特别调校的描述。学习Linux驱动需要做一些相应的准备,例如:一个自己熟悉的操作系统,学习相关的硬件知识,学医GNU C等。驱动是直接和硬件交互的一类程序,负责对硬件进行抽象。驱动针对的对象是存储器和外设,而不是针对CPU核。Linux将存储器和外设分为3大类:字符设备,块设备,网络设备。

  关于Android的驱动开发与Linux的驱动开发可以说是大同小异,学习Android可以相应的借鉴Linux。同时学习其特有的东西。这样两门课程就可以相辅相成。

  

转载于:https://www.cnblogs.com/swjlinux/p/5408423.html

你可能感兴趣的文章
Ready? Go! 下篇:多核并起
查看>>
Java学习笔记(6)——Java之HelloWorld
查看>>
实施SCM和ERP的目标及效果截然不同
查看>>
zabbix监控zookeeper
查看>>
windows下 wxpython 进行GUI项目开发的方案
查看>>
BT5 ssh启动,密钥添加
查看>>
我的友情链接
查看>>
基于开源软件cobar配置分布式数据库
查看>>
Code:Blocks 中文乱码问题原因分析和解决方法!
查看>>
Tomcat 解决jvm中文乱码,控制台乱码
查看>>
LVS之高可用性群集实现
查看>>
免费正则表达式辅助工具
查看>>
传智播客OA项目学习--阶段一(1、总体规划)
查看>>
解决bug的技巧
查看>>
我的友情链接
查看>>
无需pip源相关配置,便可用豆瓣源pip安装
查看>>
mac上折腾mongoldb
查看>>
博客推广外链接-SEO搜索引擎优化
查看>>
PHP强制浏览器不缓存的方法
查看>>
mysql 5.6 rpm 包安装步骤需要注意的地方
查看>>