×

androidlinux

androidlinux(Linux和安卓具体是存在什么关系)

admin admin 发表于2022-09-02 21:22:35 浏览138 评论0

抢沙发发表评论

本文目录

Linux和安卓具体是存在什么关系


Android一种基于Linux的自由及开放源代码的操作系统。Linux操作系统的内核,安卓则是基于Linux内核开发的操作系统,安卓在Linux的基础上提供了驱动以及用户编程接口。

操作系统管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

Android以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。-androidlinux

Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。-androidlinux

扩展资料

APK安卓应用的后缀,是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。-androidlinux

apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。-androidlinux

Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接执行安装,和Windows Mobile中的PE文件有区别;

这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。-androidlinux

最终平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

参考资料:百度百科-Android(Google公司开发的操作系统)

参考资料:百度百科-操作系统


linux系统 和安卓有什么区别


1、支持软件格式不同

Android系统支持的是APK后缀文件格式,而linux系统若要运行APK软件则需要一个JAVA虚拟机环境来运行。

2、运行平台不同

Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

linux系统在移动设备和电脑上都可以运行,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。

伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。

3、linux系统包含Android系统,Android系统不linux系统

Android是一种基于Linux内核开发的操作系统。所以 Android 也可以算是 Linux 系统的一种。因为他是基于 Linux 内核上面运行的一个java虚拟机环境。


安卓和linux的关系


安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。两者是并存关系。
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
2010年2月,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去,从此,Android与Linux开发主流将分道扬镳。更多Linux知识可查看《Linux就该这么学》。
-androidlinux

linux和android的区别


虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。下面我们就来分析一下它们之间究竟有什么关系?
android是否能称为一种新的操作系统呢?至少我自己认为不算是,它最多算作一个新的应用程序罢了。
一、Android为什么会选择Linux
成熟的操作系统有很多,但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,比如:
1、强大的内存管理和进程管理方案
2、基于权限的安全模式
3、支持共享库
4、经过认证的驱动模型
5、Linux本身就是开源项目
更多关于上述特性的信息可以参考Linux 2.6版内核的官方文档,这便于我们在后面的学习中更好地理解Android所特有的功能特性。接下来分析Android与Linux的关系。
二、Android不是Linux
看到这个标题大家可能会有些迷惑,前面不是一直说Android是基于Linux内核的吗,怎么现在又不是Linux了?迷惑也是正常的,请先看下面几个要点,然后我们将对每一个要点进行分析,看完后你就会觉得Android不是Linux了。
因为它没有本地窗口系统,没有glibc的支持,而且并不包括一整套标准的Linux使用程序,同时增强了Linux以支持其特有的驱动。
1.它没有本地窗口系统
什么是本地窗口系统呢?本地窗口系统是指GNU/Linux上的X窗口系统,或者Mac OX X的Quartz等。不同的操作系统的窗口系统可能不一样,Android并没有使用(也不需要使用)Linux的X窗口系统,这是Android不是Linux的一个基本原因。
我很奇怪的是linux的Xwindow并不是其核心程序,你可以看到很多嵌入式linux根本不会用到这个图形界面系统,而手机上的android不使用Xwindow不是很正常吗?我们学习的时候用QT难道就不叫做linux系统了么?
2.它没有glibc支持
由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为C库,而是Google自己开发了一套Bionic Libc来代替glibc。
库文件不同,好吧,因为移植显然是要修改库文件和头文件的吧,求指教
3.它并不包括一整套标准的Linux使用程序
Android并没有完全照搬Liunx系统的内核,除了修正部分Liunx的Bug之外,还增加了不少内容,比如:它基于ARM构架增加的Gold-Fish平台,以及yaffs2 FLASH文件系统等。
4.Android专有的驱动程序
除了上面这些不同点之外,Android还对Linux设备驱动进行了增强,主要如下所示。
1)Android Binder 基于OpenBinder框架的一个驱动,用于提供 Android平台的进程间通信(InterProcess Communication,IPC)功能。源代码位于drivers/staging/android/binder.c。
2)Android电源管理(PM) 一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化。源代码位于:
kernel/power/earlysuspend.c
kernel/power/consoleearlysuspend.c
kernel/power/fbearlysuspend.c
kernel/power/wakelock.c
kernel/power/userwakelock.c
如果给内核添加驱动也可以称之为不同的话?
3)低内存管理器(Low Memory Killer) 比Linux的标准的OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程以释放需要的内存。源代码位于 drivers/staging/ android/lowmemorykiller.c。
4)匿名共享内存(Ashmem) 为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。源代码位于mm/ashmem.c。
5)Android PMEM(Physical) PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。源代码位于drivers/misc/pmem.c。
6)Android Logger 一个轻量级的日志设备,用于抓取Android系统的各种日志。源代码位于drivers/staging/android/logger.c。
7)Android Alarm 提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会运行的时钟基准。源代码位于drivers/rtc/alarm.c。
8)USB Gadget驱动 一个基于标准 Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gaeget框架的。源代码位于drivers/usb/gadget/。
9)Android Ram Console 为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。源代码位于drivers/staging/android / ram_console.c。
10)Android timed device 提供了对设备进行定时控制的功能,目前支持vibrator和LED设备。源代码位于drivers/staging/android /timed_output.c(timed_gpio.c)。
11)Yaffs2 文件系统 Android采用Yaffs2作为MTD nand flash文件系统,源代码位于fs/yaffs2/目录下。Yaffs2是一个快速稳定的应用于NAND和NOR Flash的跨平台的嵌入式设备文件系统,同其他Flash文件系统相比,Yaffs2能使用更小的内存来保存其运行状态,因此它占用内存小。Yaffs2的垃圾回收非常简单而且快速,因此能表现出更好的性能。Yaffs2在大容量的NAND Flash上的性能表现尤为突出,非常适合大容量的Flash存储。
-androidlinux

安卓系统和平时的linux系统有什么不同


1、从底层来讲,linux一般是要安装在pc,pc-server,及部分小型机上的。 那大体来说呢,架构属于X86-64或者安腾。

而android 一般是安装在手机跟平板电脑上的。 现在市面上,其CPU型号千变万化,一个厂家一个架构。 而且手机跟PC的硬件也不同。 必然导致其内核的不同

也就是说,从底层来讲,linux与android的内核支持架构有很大区别。   即便同样是android系统本身,由于不同型号的手机,使用的硬件也不同,

所以使用的内核也就不同,这也是为什么普遍的, 没一款手机几乎都有自己的底包,不能像PC那样互通。 关键是由于现在的手机CPU,硬件架构没有一个同一的标准。

2、架构上内核之上的则是lib了,也就是模块。这个两者没有太大的差别。 linux的lib也是可以随便定制的。android也一样。 但是lib是要依赖底包的。

3、应用的区别,lib之上是各种应用。 这个可以理解为软件。 这一个层面就没啥不同之处可讲了。 就是一个开发问题了。

总体来说呢,android采用了linux系统的开发思想跟工作原理。  lib这个中间层很多都是照搬linux核心lib重新定制开发的。  所以,说android是一种嵌入式定制的linux系统也是可以的。-androidlinux

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。-androidlinux

第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。-androidlinux


安卓手机可以直接装Linux吗


不能。Android虽说是在linux的基础上二次开发,但是适配工作各家是不一样,特定的系统只能装在特定的机型上。

一般手机使用安卓系统,而不会安装Linux系统。通常是安卓的手机刷Linux系统,而不是Linux的手机刷安卓,本质上安卓就是精简版的Linux。

在安卓的手机安装Linux系统,可以试试 Linux Installer,在Google Play上找得到,应该需要Root,手机配置可能不能太低。

扩展资料:

Linux是一种自由和开放源码的类UNIX操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。该操作系统的内核由林纳斯·托瓦兹于1991年10月5日首次发布。

Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统,现可运行在服务器和其他大型平台之上,如大型计算机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。-androidlinux


android系统是基于Linux对吗


Android是一种基于Linux的自由及开放源代码的操作系统。

主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,主要支持手机。-androidlinux

扩展资料:

平台优势:

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。-androidlinux

开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。-androidlinux

参考资料来源:百度百科——android系统


安卓和linux哪个好


相比较起来的话,安卓运行等方面差点。
但是总的来说这个问题是个伪命题,因为Android基于Linux内核,可以说安卓属于linux的分支!
而linux准确来说是一个内核系统,是内核代码。世界上有很多基于linux为基础的发行版本——比如红帽子、CentOS、SUSE、ubuntu等等很多!
但是安卓与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。
但是有人认为可以说Android不是Linux,因为它:
1、没有本地窗口系统,
2、没有glibc的支持,
3、并不包括一整套标准的Linux使用程序,
4、同时增强了Linux以支持其特有的驱动。
从内存管理等方面来说,安卓有比较大的缺陷。因为它是基于java语言虚拟机的平台进行运作,就像跟人对话多了个翻译(这点跟苹果不同,苹果是基于BSD内核,与linux运行都差不多的),而且他的碎片化等问题突出(linux没有什么碎片化问题)……
所以果粉经常对出厂时候运行也非常流畅的安卓阵营说的一句话就是:“不跟你比现在,要比就运行半年再比流畅!”而在这方面安卓基本都比不过的。
所以,linux好一点。但linux的手机基本没有,也就是搭载ubuntu的MX5有点靠边。
-androidlinux

安卓系统是基于linux内核开发的,两者的具体区别是什么为什么安卓多用于移动设备而linux不是


安卓基于linux内核,但是针对移动设备做了更多的优化,所以安卓多用于移动设备。两者区别如下:

一、主体不同

1、安卓系统:是一种基于Linux的自由及开放源代码的操作系统。

2、linux内核:是一套免费使用和自由传播的类UNIX操作系统。

二、应用不同

1、安卓系统:主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

2、linux内核:是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。

三、特点不同

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

2、linux内核:继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

参考资料来源:百度百科-linux

参考资料来源:百度百科-Android