广告
返回顶部
首页 > 资讯 > 操作系统 >安卓系统是基于Linux系统的吗
  • 213
分享到

安卓系统是基于Linux系统的吗

linux 2023-04-22 05:04:35 213人浏览 薄情痞子
摘要

今天小编给大家分享一下安卓系统是基于linux系统的吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了

今天小编给大家分享一下安卓系统是基于linux系统的吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

Android 操作系统介绍

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

Android一词的本义指“机器人”,最初的Android主要支持手机,后来经过开发改良,逐渐扩展到平板电脑及其他一些领域上,是首个为移动终端打造的真正的开放和完整的移动软件。

系统架构:

Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

一、应用程序

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

二、应用程序框架

开发人员也可以完全访问核心应用程序所使用的api框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

三、系统运行库

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

四、Linux内核层

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

系统结构:

一、系统内核

Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

二、硬件抽像层

Android 的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 Kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。

三、中介软件

操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了WEBkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的BionicLibc。

Android采用OpenCORE作为基础多媒体框架。Open CORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。

Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与LinuxCairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,Skia也是Google Chrome 的图形引擎。

Android的多媒体数据库采用sqlite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(ReGISter Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(Instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

四、安全权限机制

Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。

应用组件:

Android开发四大组件分别是:

一、活动(Activity): 用于表现功能。

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

三、广播接收器(BroadcastReceiver):用于接收广播。

四、内容提供商(ContentProvider): 支持在多个应用中存储和读取数据,相当于数据库。

以上就是“安卓系统是基于Linux系统的吗”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程服务器栏目。

--结束END--

本文标题: 安卓系统是基于Linux系统的吗

本文链接: https://www.lsjlt.com/news/201797.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 安卓系统是基于Linux系统的吗
    今天小编给大家分享一下安卓系统是基于Linux系统的吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-04-22
    linux
  • 安卓是不是linux系统
    本文小编为大家详细介绍“安卓是不是linux系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“安卓是不是linux系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。安卓是基于linux内核的自由及开发源代码的操...
    99+
    2023-07-02
  • 基于cobbler 实现自动安装linux系统
    1.安装个组件 yum install epel-rpm-macros.noarch -y #安装epel源 yum install -y cobbler cobbler-web dhcp tftp-server p...
    99+
    2022-06-04
    cobbler 安装linux linux系统安装
  • 鸿蒙系统是不是基于linux开发
    这篇文章主要介绍了鸿蒙系统是不是基于linux开发,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。鸿蒙系统不是基于linux开发的,而是基于微内核开发的。鸿蒙系统是一款基于微内...
    99+
    2023-06-15
  • 安卓系统是哪家公司的
    安卓系统是谷歌公司的,是目前全球最流行的移动操作系统之一,广泛应用于手机、平板电脑、智能电视、智能手表等设备中。作为一个开放、自由度高的移动操作系统,为开发者和用户提供了广阔的发展和使用空间。虽然面临一些挑战和争议,但安卓系统在移动设备领域...
    99+
    2023-08-17
  • xubuntu是linux系统吗
    这篇“xubuntu是linux系统吗”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“xubuntu是linux系统吗”文章吧...
    99+
    2023-07-06
  • Linux系统安装部署nacos集群:基于nacos2.0.3
    目录 前言 1.yum安装方式 2.docker安装方式 一、前置条件 1.操作系统或者虚拟机上安装jdk,版本>=8 2.下载好nacos2.0.3的压缩包 二、解压 三、部署  1.将 cluster.conf.example 文件复制...
    99+
    2023-08-31
    linux 运维 服务器
  • 基于Linux操作系统 Fedora是怎么样的
    这篇文章给大家介绍基于Linux操作系统 Fedora是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。虽然前几天我们就已经拿到了下载地址,直到今天,延期数次的Fedora11版本才终于到达正式版的文件夹里。Fe...
    99+
    2023-06-17
  • 基于centos7系统mongodb3.,4.4安装
    下载安装mongodbwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgztar zxv...
    99+
    2022-10-18
  • 腾讯云服务器装安卓系统安全吗
    腾讯云服务器装安卓系统的确可以提供安全保障,但具体的安全性还取决于服务器系统的类型和配置。如果您的服务器只运行在Windows操作系统上,那么在安装和配置腾讯云服务器之前,您需要先确定您的电脑是否符合操作系统的安全要求。如果您的电脑没有安装...
    99+
    2023-10-27
    腾讯 系统安全 服务器
  • linux是系统软件吗
    本文小编为大家详细介绍“linux是系统软件吗”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux是系统软件吗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。linux是系统软件;linux是一套开源免费的类...
    99+
    2023-07-02
  • 基于windowx的Hyper-v安装CentOS系统
    目前来说,对于大部分人使用linux,要么是使用云服务器,要么是在windows上安装虚拟机,直接再物理硬件上安装Linux的应该比较少。以前windows使用虚拟机的话,一般是安装Vmware或者VirtualBox。...
    99+
    2022-06-04
    windowx Hyper-v安装 CentOS系统 Hyper-v
  • 云服务器可以装双系统吗安卓
    云服务器可以安装两个系统,以方便您使用不同的应用程序和数据。 如果您只使用一个系统,那么云服务器通常可以安装两个或更多个操作系统版本,您可以将数据存储在不同的服务器上,以便您可以根据您的需求对数据进行访问和管理。 如果您同时使用多个系统,...
    99+
    2023-10-26
    双系统 服务器 吗安卓
  • 云服务器能运行exe吗安卓系统
    在使用云服务器的过程中,我们需要注意以下几点: 选择安全可靠的云服务提供商 选择安全可靠的云服务提供商是保障数据安全的关键。可以选择一些大型的云服务提供商,如AWS、Azure、Google Cloud等,这些云服务提供商都有完善的安...
    99+
    2023-10-27
    服务器 系统 exe
  • 腾讯云服务器装安卓系统安全吗可靠吗
    首先,腾讯云服务器的安全技术非常先进。目前,腾讯云服务器采用了多种安全措施,如网络隔离、漏洞扫描、防火墙、反病毒软件等,确保服务器的安全性。同时,腾讯云服务器还采用了云端加密技术,确保用户数据的安全。此外,腾讯云服务器还配备了多重安全策略,...
    99+
    2023-10-27
    腾讯 系统安全 可靠
  • 基于linux操作系统Mysql的基本操作(一)
    基于linux操作系统Mysql的基本操作(一)背景介绍:mysql软连接的建立,ln –s /usr/local/mysql/bin/mysql  /usr/bin1.本地登录,命令:...
    99+
    2022-10-18
  • 基于linux操作系统Mysql的基本操作(三)
    基于linux操作系统Mysql的基本操作(三) 知识点一:查看MYSQL数据库中所有用户命令: select distinct concat ('User:''',user,...
    99+
    2022-10-18
  • 用硬盘能安linux系统吗
    是的,可以将Linux系统安装在硬盘上。实际上,许多人选择在硬盘上安装Linux作为其主要操作系统。安装过程可能会因所使用的Linu...
    99+
    2023-08-28
    linux
  • 基于Debian的linux系统软件安装命令详解 (推荐)
    Debian简介  广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具...
    99+
    2022-06-03
    linux系统软件安装命令 linux 安装命令 Debian linux 安装命令
  • 基于JavaScript 的操作系统是怎样的
    这篇文章给大家介绍基于JavaScript 的操作系统是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我想大多数人听说过 Node.js,但是你听说过 NodeOS 吗...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作