EDA365电子论坛网
标题:
ARM主板RK3288/RK3399主板中安卓系统与LINUX系统的相同点与不同点
[打印本页]
作者:
monsterskyy
时间:
2021-1-19 13:42
标题:
ARM主板RK3288/RK3399主板中安卓系统与LINUX系统的相同点与不同点
安卓
,是一个系统,用于移动终端,
智能手机
、平板之类,如今也可以用于桌面工作站或电视机顶盒、智能电视等。它的内核基于linux内核,但不同于其他linux发行版,有部分源码闭源。
linux,是一个内核,不是完整的一个系统,所有以linux为内核工作的系统统称linux发行版。
) c2 m* g4 r5 C& I4 h3 i, X6 n
* Y; b% \" a7 o6 ^9 k
Android和Linux作为现行主流的
操作系统
,无论在消费类产品还是在工控领域,都有广泛的应用。都说Android系统是脱胎于Linux系统,那么是不是Android是不是属于Linux的一种。现在就来谈谈Android和Linux系统的异同点。
; S$ R) w2 z1 ^: T, y
, Y p4 f! O: P- j1 c. g$ s
2 V. v' @, |5 Z: I- t/ j0 W
1. 两者的共同点
( i0 W; e" a# N( D/ Z' I6 I! l0 p3 I
Android是基于Linux内核的系统。Android和Linux系统的核心系统服务都依赖于Linux内核,如安全、内核管理、进程管理、网络堆栈、驱动模型等。Linux内核也作为两者的硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层应用开发提供统一的服务。
; M5 b9 i* a) ~- ~, N
0 ? K/ V* t" ]5 J2 t V' A( n
{+ ] k$ v( k% q; w( b$ k0 _
" A- ?! ~7 y$ ?, y0 i, A. @( H
2. 系统框架的差异
% h& ?6 h, O% W9 _
Linux系统与Android表面上为两个不同的操作系统,但是Android本质上还是一个Linux系统,只不过Google对它进行了裁剪和定制。
6 O; t* \1 y [& J5 p1 R) D1 h9 \
另外,相较于
Linux系统,android在其Linux内核上面运行了一个叫Dalvik(4.4版本后改为ART)的Java虚拟机(JVM),因而使用JAVA开发的android的应用程序可以通过JAVA虚拟机运行在Android系统上。而Linux的应用程序使用的是C/C++开发的,可以
机器码
的形式运行在内核系统上。
2 |: Z E0 [) M
" o9 N5 G8 D/ a; \" h$ U1 t; ~ u" @) }
9 y, M2 W) D$ N
3. Linux与android底层驱动软件的差异
" {2 Z8 Q# v# J0 o+ u% O* {
Android除了Linux内核具备的常用核心驱动外,还增加了自己专有的内核驱动程序,如显示驱动、
蓝牙
驱动、相机驱动、内存卡驱动、Binder IPC驱动等。
4 I9 H4 S! m6 y4 q C
另外,
Android系统为了保护硬件厂商的知识产权,增加了HAL层,可将驱动具体的实现部分抽取发到HAL中去实现,从而规避了硬件驱动开源的风险,所以android的驱动程序是分为两部分,一部分写入内核中,一部分写入HAL层中。
7 L* n' J! m' ]4 N( q3 V0 E4 Q
Android除要实现底层驱动的开发外,还需要根据JNI规则将驱动程序封装为JNI层
接口
,以达到应用程序(JAVA程序) 可通过JNI来调用内核驱动程序。以显示驱动程序Framebuffer为例。
# ~3 p( J) j' i( @- H9 I% B7 R
8 N C* F' E4 g
2 x3 ?6 O* E9 A. {' `
I8 @# s: ^2 S) e5 L* R
095217epfunzeu2epr6gyr.jpg.thumb.png
(235.01 KB, 下载次数: 3)
下载附件
保存到相册
2021-1-19 13:42 上传
4 H# V* }4 l# ~! q
! s. p2 |7 Q; K$ V i5 y
) L( z, O; e* R
. t6 v- O5 j- | e. g( P, F0 T
% g( W# a# g4 d4 b9 ^4 \
作者:
qq666888qqw
时间:
2021-1-19 15:00
我用的手机就是安卓的
作者:
21CASXY
时间:
2021-1-20 09:17
学习
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2