关注分享主机优惠活动
国内外VPS云服务器

Android是基于linux吗(Android是基于Linux还是unix)?

今天主机频道就和大家分享一下Android系统是否基于Linux系统的相关知识点。内容详实,逻辑清晰。我相信大部分人还是太了解这些知识了,所以我把这篇文章分享给大家,供大家参考。希望你看完这篇文章有所收获。让我们一起来看看吧。

Android系统基于Linux系统;Android是Google于2007年11月5日公布的一个基于Linux平台的开源手机操作系统的名称。该平台由操作系统、中间件、用户界面和应用软件组成。

Android操作系统介绍

Android是Google于2007年11月5日公布的一个基于Linux平台的开源手机操作系统的名称。该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件栈的架构,主要分为三个部分。底层基于Linux内核的工作,用C语言开发,只提供基本功能。中间层包括函数库和虚拟机,由C++开发。最上层是各种应用软件,包括通话程序、短信程序等。应用软件由公司自己开发,Java是编程的一部分。

Android这个词的原意是指“机器人”。起初,Android主要支持手机。后来发展完善,逐渐延伸到平板电脑等领域。这是第一个真正开放和完整的移动终端软件。

系统架构:

Android的系统架构和它的操作系统一样,采用分层架构。Android分为四层,从上到下分别是应用层、应用框架层、系统运行层和Linux内核层。

一、应用程序

Android是和一系列核心应用包一起发布的,包括客户端、SMS短信程序、日历、地图、浏览器、联系人管理器等等。所有的应用程序都是用JAVA语言编写的。

二、应用框架

开发人员还可以完全访问核心应用程序使用的API框架。该应用程序的架构设计简化了组件的重用;任何应用程序都可以发布其功能块,任何其他应用程序都可以使用其发布的功能块(以框架的安全性为准)。同样,应用程序重用机制也使用户能够方便地替换程序组件。

第三,系统运行时

Android包含一些C/C++库,可以被Android系统中的不同组件使用。他们通过Android应用框架为开发者提供服务。

第四,Linux内核层

Android内核是基于Linux内核的修改内核版本,提供支持Android平台的设备驱动。

系统结构:

首先,系统内核

Android运行在Linux内核上,但不是GNU/Linux。因为GNU/Linux支持的大部分功能Android都不支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango和Glibc等,它们都被移除了。Android用Bionic代替Glibc,Cairo用Skia,FFmpeg用opencore。为了实现商业应用,Android必须去掉GNU GPL许可限制的部分。比如Android把驱动移到用户空间,把Linux驱动和Linux内核完全分开。Bionic/Libc/Kernel/不是一个标准的内核头文件。Android的内核头是由Linux内核头用工具生成的,这样做是为了保存常量、数据结构和宏。

第二,硬件提取层

Android的HAL(硬件抽象层)可以以封闭源代码的形式提供硬件驱动模块。HAL的目的是将Android框架从Linux内核中分离出来,让Android不会过于依赖Linux内核,从而达到内核独立的理念,Android框架的开发可以不考虑驱动的实现。

第三,中介软件

操作系统和应用程序之间的桥梁,应用分为两层:功能层(库)和虚拟机(虚拟机)。Bionic是libc for Android的改进版本。Android还包括Webkit,这是苹果Safari浏览器背后的引擎。Surface flinger在屏幕上显示2D或3D内容。Android使用谷歌自制BionicLibc的工具链。

Android以OpenCORE为基础,open core。开放核心可分为七大块:PVPlayer、PVAuthor、Codec、packet video multimedia framework(pvmf)、操作系统兼容库(oscl)、Common和OpenMAX。

Android使用skia作为核心图形引擎,配合OpenGL/ES。Skia的功能与LinuxCairo相同,但与Linux Cairo相比,skia的功能还处于初级阶段。Skia于2005年被谷歌收购,Skia GL的源代码于2007年初公开。Skia也是谷歌Chrome的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。数据库分为公共数据库和私有数据库。用户可以通过ContentResolver类(列)获取公共数据库。

Android的中间层大部分是用Java实现的,采用特殊的Dalvik虚拟机。Dalvik虚拟机是一个“基于寄存器”的Java虚拟机。变量存储在寄存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例,每个Android应用都由一个Dalvik虚拟机运行,这样在运行程序的时候可以优化系统。Dalvik虚拟机不运行Java字节码,而是运行一个名为。dex格式。

第四,安全授权机制

Android本身就是一个独立权限的操作系统。在这种操作系统中,每个应用程序都使用唯一的系统标识身份(Linux用户ID和组ID)运行。系统的每个部分也使用自己独立的识别方法。这就是Linux将应用程序与应用程序以及应用程序与系统分开的方式。

应用组件:

Android开发的四个组成部分是:

一、活动:用于展示功能。

二、服务:服务在后台运行,不提供界面呈现。

3.BroadcastReceiver:用于接收广播。

4.ContentProvider:支持在多个应用中存储和读取数据,相当于一个数据库。

未经允许不得转载:主机频道 » Android是基于linux吗(Android是基于Linux还是unix)?

评论 抢沙发

评论前必须登录!