今天主机频道就和大家分享一下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:支持在多个应用中存储和读取数据,相当于一个数据库。
评论前必须登录!
注册