本篇文章给大家谈谈linux安卓为什么,以及Linux是安卓吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、安卓系统是基于linux内核开发的,两者的具体区别是什么?为什么安卓多用于移动设备而linux不是?
- 2、为什么苹果选择UNIX?安卓选择Linux ?苹果比安卓快的具体原因是什么?系统不开源可以破解吗?
- 3、Linux系统一般都有shell,为什么安卓手机不搞shell,这样手机就更加有可玩性了?
- 4、安卓和Linux是什么关系安卓能运行Linux软件?为什么说安卓是虚拟机环境?虚拟机有什么特点优?
- 5、为什么Linux安全,而安卓不安全
- 6、Linux和安卓有什么关系
安卓系统是基于linux内核开发的,两者的具体区别是什么?为什么安卓多用于移动设备而linux不是?
安卓基于linux内核,但是针对移动设备做了更多的优化,所以安卓多用于移动设备。两者区别如下:
一、主体不同
1、安卓系统:是一种基于Linux的自由及开放源代码的操作系统。
2、linux内核:是一套免费使用和自由传播的类UNIX操作系统。
二、应用不同
1、安卓系统:主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
2、linux内核:是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
三、特点不同
1、安卓系统:会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2、linux内核:继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
参考资料来源:百度百科-linux
参考资料来源:百度百科-Android
为什么苹果选择UNIX?安卓选择Linux ?苹果比安卓快的具体原因是什么?系统不开源可以破解吗?
原因,技术问题,一个封闭的,Unix, 简化形成了Linux,
Linux则是Android的内核,
而苹果则是使用unix系统作为ios和macos的内核。
几个系统出现的时间 UNIX系统的诞生 1969年;
iOS系统也是Unix了,而安卓也是Linux了,因为这两者都是基于这两个内核而来的,不也是套了个马甲么?
安卓虽然选择了Linux做为底层核心,开发也是一项庞大且复杂的工程,基于Linux一样有诸多模块要开发的,需要有一整套的知识体系框架、编程接口、编程语言等等。
快的原因:因为苹果有严格的上架审核:苹果上架审核被拒5大原因及解决方案 苹果审核大体分为三部分,预审、机审和人工审核。目前应用提审的整个流程大体分为五个阶段:(准备上传)、(等待审核)、 (审核)、(等待开发者发布)
Linux系统一般都有shell,为什么安卓手机不搞shell,这样手机就更加有可玩性了?
是的。理论上是可以的,实际上当然也是可以的,android 手机可以跑起 apache, nginx, mysql, ssh等服务,只要你手机性能足够强劲,存储空间足够大。不过,实际上很多人并没有直接接触到 Linux,而是通过 GNU 接触到 Linux 的,而很多 Linux 服务程序也都依赖 GNU ,他们真正需要的是 GNU 而非仅仅 Linux 内核,所以需要 GNU 相关的一些软件来保证更完整的 Linux 体验。GNU 软件往往依赖 glibc,android 因为不含 glibc ,直接移植 GNU 软件并非 100% 奏效。现有的移植方法包括但不限于以下两种:一种是直接基于 android 的 c 库,他跟 glibc 会有不同,因此某些软件需要适当的修改代码才能正常编译,如果你只需要移植单个软件,一般会用这种方法。另外一种是借助把 glibc 调用翻译成 android c 库的桥,这种方法可以兼容所有 gnu 应用。ubuntu 是用的这种方法。不过无论用何种方法,最终就是个「工作量」的问题。怀着一颗折腾的心,总是能够实现的,而且实际上已经有人实现。
安卓和Linux是什么关系安卓能运行Linux软件?为什么说安卓是虚拟机环境?虚拟机有什么特点优?
安卓一开始是使用的linux系统内核。linux操作系统内核,套上壳,加一些应用软件,就是操作系统了。linux系统是用C语言写的,被广泛地移植到各种机器上。
虚拟机,就是一个虚拟的计算机硬件系统,有虚拟的CPU、指令集。运行时,将虚拟指令翻译成实体机器指令执行。JAVA语言就是运行的在虚拟机上的。使用虚拟机的好处,就是二进制代码可以在任何实体机器上运行,真正跨平台;缺点是翻译执行,效率比较低。
linux系统可以安装在任何计算机、手机上面,移植比较简单。但是应用软件有限。
为什么Linux安全,而安卓不安全
Linux安全的理由:
一般意义上的linux发行版以内核为基础,有一系列配套软件。安装软件的方式提倡用发行版的软件仓库,用源代码编译安装。除了比较高级的权限管理机制,这种软件分发渠道也是其安全性的来源之一。
安卓不安全理由:
因为安卓“不安全”不过是一个程序读了另一个程序的内容,安卓“不安全”不过是一个程序读了另一个程序的内容,比如通信录什么的。使用了系统提供的服务,只不过使用的过程用户不知道而已,所以下载正规渠道的软件,安卓也是很安全的。
Linux和安卓有什么关系
Android是基于Linux内核的操作系统,
虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了
自己所特有的驱动程序。下面我们就来分析一下它们之间究竟有什么关系?
一、Android为什么会选择Linux
成熟的操作系统有很多,但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,这也是很多
教材反复讲到的linux的重要特点。比如:
1、强大的内存管理和进程管理方案
2、基于权限的安全模式
3、支持共享库
4、经过认证的驱动模型
5、Linux本身就是开源项目
更多关于上述特性的信息可以参考Linux 2.6版内核的官方文档,这便于我们在后面的学习中更好地理解Android
所特有的功能特性。接下来分析Android与Linux的关系。其实实际上选择linux内核的手机系统很多,记得前几年
就见过三星的一款linux内核的手机,并且那款手机保持了linux系统的大部分特征,所以用起来感觉就像一个小巧
的linux系统。
二、Android对Linux的改动
原文作者说是“Android不是Linux”,关于这个观点,要看读者自己怎么看了,如果说Linux是说的内核,那
Android自然不是Linux。如果Linux是指Linux发行版,那Android当然是Linux,否则ubuntu,Fedora等都不是
linux了。
Android对linux系统的改动主要有以下几个方面:
1.它没有glibc支持
由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为
C库,而是Google自己开发了一套Bionic Libc来代替glibc。
2.它并不包括一整套标准的Linux使用程序
Android并没有完全照搬Liunx系统的内核,除了修正部分Liunx的Bug之外,还增加了不少内容,比如:它基于ARM
构架增加的Gold-Fish平台,以及yaffs2 FLASH文件系统(如果学习了嵌入式的话就会知道yaffs2 FLASH文件系
统已经在基于linux的很多嵌入式设备上采用了,技术已经非常成熟)等。
3.它没有本地基于X服务的窗口系统
什么是本地窗口系统呢?本地窗口系统是指GNU/Linux上的X窗口系统,或者Mac OX X的Quartz等。不同的操作系统
的窗口系统可能不一样,Android并没有使用(也不需要使用)Linux的X窗口系统(对原作者的这个观点不是很赞
同,原文章这一点放在第一条,并说“这是Android不是Linux的一个基本原因”,这个不敢苟同,由于作者 没有
指明android用的什么显示系统,我也不好说)。
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存储。
上面这些要点足以说明Android不是Linux。学习应用Android一般围绕Android的这些特有的部分展开,建议大家先复习一下Linux内核的基本知识,推荐《Linux就该这么学》。
关于linux安卓为什么和Linux是安卓吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。