EDA365电子论坛网

标题: ARM主板RK3288/RK3399主板中安卓系统与LINUX系统的相同点与不同点 [打印本页]

作者: 13360509869    时间: 2020-11-30 09:55
标题: ARM主板RK3288/RK3399主板中安卓系统与LINUX系统的相同点与不同点

- |( l' V* v; m; n5 n: u
安卓,是一个系统,用于移动终端,智能手机、平板之类,如今也可以用于桌面工作站或电视机顶盒、智能电视等。它的内核基于linux内核,但不同于其他linux发行版,有部分源码闭源。        linux,是一个内核,不是完整的一个系统,所有以linux为内核工作的系统统称linux发行版。' C4 c5 d1 T: e+ Y2 u6 ^
2 L; E0 I* j+ P& v( z$ P5 W3 f
       Android和Linux作为现行主流的操作系统,无论在消费类产品还是在工控领域,都有广泛的应用。都说Android系统是脱胎于Linux系统,那么是不是Android是不是属于Linux的一种。现在就来谈谈Android和Linux系统的异同点。9 _( W( _8 p2 V, J. D5 Y1 c* @2 E
$ R; R' C4 x- S1 R$ B( F( m* k

: I) [% g' c* D7 \
1. 两者的共同点
+ h; i' p# q- r+ A8 S: a9 f+ I
       Android是基于Linux内核的系统。Android和Linux系统的核心系统服务都依赖于Linux内核,如安全、内核管理、进程管理、网络堆栈、驱动模型等。Linux内核也作为两者的硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层应用开发提供统一的服务。
# X& |9 g+ u6 N# x: f

8 y& E, r/ \$ S) ]2 k" s0 b) E

1 P0 u2 e2 q. H; m; y7 Q

  a! {# u7 k8 l7 W
2. 系统框架的差异
8 M) N. T! x8 Q. G
       Linux系统与Android表面上为两个不同的操作系统,但是Android本质上还是一个Linux系统,只不过Google对它进行了裁剪和定制。
# L0 U# Y+ v! L7 ]6 H6 t
另外,相较于Linux系统,android在其Linux内核上面运行了一个叫Dalvik(4.4版本后改为ART)的Java虚拟机(JVM),因而使用JAVA开发的android的应用程序可以通过JAVA虚拟机运行在Android系统上。而Linux的应用程序使用的是C/C++开发的,可以机器码的形式运行在内核系统上。
' @$ p7 w- w1 y# E- y' i
7 A& w4 ?* A% g) j' W

) j( u$ h$ O8 Q1 p3 n( {
3. Linux与android底层驱动软件的差异
' Z7 n5 p+ B: m+ t$ j( q4 Y
Android除了Linux内核具备的常用核心驱动外,还增加了自己专有的内核驱动程序,如显示驱动、蓝牙驱动、相机驱动、内存卡驱动、Binder IPC驱动等。
0 _5 O  @/ v: w/ u. Z
另外,Android系统为了保护硬件厂商的知识产权,增加了HAL层,可将驱动具体的实现部分抽取发到HAL中去实现,从而规避了硬件驱动开源的风险,所以android的驱动程序是分为两部分,一部分写入内核中,一部分写入HAL层中。- g8 U& A" }7 R4 g1 f
Android除要实现底层驱动的开发外,还需要根据JNI规则将驱动程序封装为JNI层接口,以达到应用程序(JAVA程序) 可通过JNI来调用内核驱动程序。以显示驱动程序Framebuffer为例。
不知道这个解释大家是否还清楚,欢迎提供更多的关于安卓与LIUNX系统的区别详细解释。如果有想学习这个一块的盆友可以找我要相关的学习资料vxyd118118

7 C( Q  P; L" ~; B/ k' m. u
作者: IBB-EUT    时间: 2020-11-30 11:19
学习学习!




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2