成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Android與Linux系統的差異

系統 Linux 服務器
Android和Linux作為現行主流的操作系統,無論在消費類產品還是在工控領域,都有廣泛的應用。都說Android系統是脫胎于Linux系統,那么是不是Android是不是屬于Linux的一種。今天我們就來談談Android和Linux系統的異同點。

 Android和Linux作為現行主流的操作系統,無論在消費類產品還是在工控領域,都有廣泛的應用。都說Android系統是脫胎于Linux系統,那么是不是Android是不是屬于Linux的一種。今天我們就來談談Android和Linux系統的異同點。

 

1. 兩者的共同點

Android是基于Linux內核的系統。Android和Linux系統的核心系統服務都依賴于Linux內核,如安全、內核管理、進程管理、網絡堆棧、驅動模型等。Linux內核也作為兩者的硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層應用開發提供統一的服務。

 

2. 系統框架的差異

Linux系統與Android表面上為兩個不同的操作系統,但是Android本質上還是一個Linux系統,只不過Google對它進行了裁剪和定制。

另外,相較于Linux系統,android在其Linux內核上面運行了一個叫Dalvik(4.4版本后改為ART)的Java虛擬機(JVM),因而使用JAVA開發的android的應用程序可以通過JAVA虛擬機運行在Android系統上。而Linux的應用程序使用的是C/C++開發的,可以機器碼的形式運行在內核系統上,兩者的系統框架差異,如圖。

 

3. Linux與android底層驅動軟件的差異

Android除了Linux內核具備的常用核心驅動外,還增加了自己專有的內核驅動程序,如顯示驅動、藍牙驅動、相機驅動、內存卡驅動、Binder IPC驅動等。

另外,Android系統為了保護硬件廠商的知識產權,增加了HAL層,可將驅動具體的實現部分抽取發到HAL中去實現,從而規避了硬件驅動開源的風險,所以android的驅動程序是分為兩部分,一部分寫入內核中,一部分寫入HAL層中。

Android除要實現底層驅動的開發外,還需要根據JNI規則將驅動程序封裝為JNI層接口,以達到應用程序(JAVA程序) 可通過JNI來調用內核驅動程序。以顯示驅動程序Framebuffer為例,如圖。

 

Linux系統的顯示驅動模型

 

Android系統的顯示驅動模型

(1)Linux系統:Framebuffer驅動只需要編譯到Linux內核中,并留出相應的read、write、ioctl等接口,便可供上位機應用程序調用。

(2)Android系統:Framebuffer驅動先將簡單的硬件寄存器讀寫操作的驅動編譯進入內核中,再將具體的硬件實現方式的驅動寫入HAL層中,并根據JNI規格封裝為JNI接口,才可供上位機應用程序調用。

4. Linux與android應用層軟件的差異

但是Android應用程序是使用java語言寫的,不能直接調用C語言實現的系統接口,而Linux系統中可以用C語言調用系統接口來與內核進行通信,于是Android系統中就有了一個叫做JNI的概念,用實現java與C/C++程序之間的信息交互。

(1)Android應用程序訪問Android內核驅動程序的方式:

1:APP—>JNI—>Android內核驅動程序

2:APP—>硬件訪問服務—>Android內核驅動程序

(2)Linux應用程序訪問linux驅動程序的方式

1. APP—> Linux內核驅動程序

2. APP—>C庫—>Linux內核驅動程序

責任編輯:武曉燕 來源: 電子應用學習館
相關推薦

2009-05-31 16:19:51

LinuxWin結構

2009-03-18 08:50:59

LinuxWindows系統目錄

2024-01-26 08:33:14

JDK17JDK11版本

2009-04-27 16:23:15

LinuxUnix操作系統

2014-05-14 09:12:40

數據恢復

2012-04-09 11:23:20

ibmdw

2016-11-18 15:39:31

Liunx

2014-05-29 17:03:05

UnixLinux管理員

2018-02-08 10:57:35

LinuxUnix操作系統

2015-09-22 11:23:57

網絡研發網絡技術研究SDN

2009-06-17 12:09:41

2012-08-29 13:39:29

2009-06-16 09:29:59

2018-02-05 10:07:33

操作系統LinuxUnix

2018-04-26 09:33:16

2016-07-22 10:50:56

Linux內核無線子系統

2009-08-21 10:28:21

C#異步方法C#同步方法

2017-09-12 14:14:05

2021-08-26 10:24:52

Linux 系統分析高負載

2023-06-12 15:43:44

鴻蒙智能家居開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久aⅴ国产馆 | 中文字幕日韩在线 | 国产视频久久 | 久久出精品| 日韩一二区 | 国产精品久久 | 午夜免费福利影院 | 亚洲精品在线免费 | 欧美日韩在线一区二区 | 国产精品一区二区视频 | 精品美女久久久久久免费 | 玖玖视频| 亚洲国产成人av好男人在线观看 | 欧美爱爱视频 | 国产一区二区三区网站 | 国产精品一区二区视频 | 三级视频在线观看电影 | 懂色av蜜桃av | 国产一区二区三区四区五区加勒比 | 国产小视频在线 | 中文字幕在线电影观看 | 9999视频 | 欧美1—12sexvideos | 中文在线一区二区 | 罗宾被扒开腿做同人网站 | 在线欧美小视频 | 久久久国产精品一区 | 日韩午夜电影在线观看 | 中文字幕av网站 | 最新国产福利在线 | 国产精品久久久久久久久久久久久 | 成人国内精品久久久久一区 | 狠狠综合网 | 自拍偷拍亚洲欧美 | 99精品国自产在线 | 国产精品视频一二三区 | 麻豆av网站 | 久久综合99 | 精品久久亚洲 | 中文字幕的av| 国产在线麻豆精品入口 |