请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 16|回复: 0

Linux和Android系统5大对比你选择哪一个

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32176
发表于 2021-1-30 04:10:49 | 显示全部楼层 |阅读模式
  借使你的下一个运用会安顿正在一个32位或64位收拾器和TCP/IP汇集的筑造上,那么现正在恰是好机缘,由于你曾经酌量拔取Linux或者Android行为你的嵌入式操作编制。将原有及时操作编制和嵌入式内核比拟较,无论是Android仍旧Linux都是成熟的企业/桌面级操作编制。它们都能运转现成的中央件和打包运用顺序,即使是正在特意的嵌入式和转移运用情况中。然而,这两个开源的操作编制从软件旅馆的底层到顶层的开垦、集成和托管形式都纷歧律,而这些都影响着奈何以及正在哪里找到最好的安顿计划。
  本文将会收拾出正在拔取小绿呆板人或矮胖企鹅时要酌量的决断身分。特殊地,本文眷注的是为何正在差别的利用场景下须要差别的开垦步骤,为何是利用这个操作编制而不是另一个,为何有些运用顺序只需利用一个操作编制,而有时期却同时须要这两个操作编制。
  接下来的实质局限代外了一个经典的“思思运动”,但本质上这个磋商源于一系列盘绕以能源管束,IVI(汽车新闻文娱编制),汇集和智能显示筑造为条件的项目宗旨的对话和产物策画的龃龉。


  绝公众半的原有嵌入式编制都好坏常封锁的实体。纵使选中的及时操作编制撑持圭表的API(样板的如POSIX线程和/或BSDlite 汇集的子集),为那些嵌入式平台细心定制或托管正在那些平台上的运用顺序也还都是高度定制的。它们也还是是独一的正在所有性命周期中运转正在那些编制的软件。比拟之下,那些安顿正在智妙手机、平板电脑和其他越来越众的今世智能筑造上的软件曾经更像桌面**务器编制软件了。因为有了越来越众的今世筑造,原始筑造缔制商、运营商和终端用户曾经能够正在筑造的所有利用经过中安设新运用顺序包了。固件和编制软件也已能正在不凭借格外的劳动台软件或工场式RMA(翻修)顺序的环境下完毕升级。
  正在创设一个智妙手机操作编制时,Google将Android定位为一个怒放的、现场可升级的运用顺序平台,这个转移操作编制的主旨机思是随时或许运转运用顺序包。是以,为了创筑,发卖和安顿打包运用顺序,盘绕着Android平台生态情况的优化开始是通过Google Play运用店肆实行的。
  嵌入式Linux编制也存正在着和Android运用顺序平台同样的环境,但从施行的角度来看,它更适合一次性安顿正在封锁盒运用中。确实如许,Linux上的编程存正在着更众被承认的编程步骤,比方C,C++,Java,Ruby,Python,Lua等等,但却不存正在一个为修建、颁发和安设运用顺序的简单模子,也不存正在一个跟Android一律的撑持(借使不确定)互操作性的硬件概括模子。相反,存正在着众种特定的步骤(如保证束,apt-get等步骤)和劳动正在差别内核编制架构树(Kernel Tree)中的普遍/最佳施行。
  因为这些务实的缘由,Linux有点更适合于封锁或半封锁的嵌入式运用顺序。借使不须要广博的互操作性,也不必酌量是否会损坏API和打包运用顺序,原始筑造缔制商(OEM)就能够从统制中解脱;这还能让他们从为筑造的硬件和软件需求特意做定制和适配Linux的劳动中解脱。若当一个生态编制盘绕简单筑造演变(就相同爆发正在Raspberry Pi和Python上),Linux的例子总能突破封锁盒子战术,就相同利用了Dalvik虚拟机和亲睐于Java的Android一律。
  有一点须要留心,不要把怒放盒子和封锁盒子的题目与开源和不开源的题目杂沓。Linux内核和GNU/Linux操作编制远比Android更开源。保卫和升级Linux的社区是真正的精英管束的社区,它对种种源泉的资源都怒放。比拟之下,Android是Google和它的顶级团结伙伴OHA能够发号布令和掌控平台发扬门途图的个人俱乐部,它只接收了外界机合的最小输入。
  和怒放/闭合盒子相合的题目是资源雄厚与否的题目。有一个异常资源不够的例子是说唯有一个汇集接口的大块头的筑造,而一个异常资源雄厚的策画则须要一个显示器、键盘、定点筑造或触摸屏,一个健旺的内存和存储器部件等。天下上最可靠的策画则是介于这两者之间。
  鉴于其智妙手机的遗产,Android实用于具有雄厚接口的消费电子类运用顺序。正在盒子以外,Android制定栈撑持手持安适板类型的摆设,况且它正越来越众地被安顿正在DTV,机顶盒,IVI编制和其他用户界面鳞集型编制上。是以,没有众少令人信服的原故去说服人们正在无外设的编制上利用Android编制。
  相反,Linux或许撑持的硬件摆设和外围筑造领域尽头广博况且雄厚,它还能够依照须要被减少为一个只具有内存、存储器等的绝顶精简的编制。若没有几百MB以至GB的DRAM或更众的Flash空间(对付操作编制和运用顺序),是无法将Android安顿正在如此的编制之上的,但你能够只须要几十MB的存储空间就能安顿一个简约型嵌入式Linux编制(天啊,我从未思到过我会以为Linux是那么的小!)。正在为精简硬件摆设挑选编制时,另一个不投票给Android的缘由是Android是CPU/GPU鳞集型的编制。
  因此,借使你的策画是思通过安顿一个低端CPU,晦气用GPU,而且最小化内存和存储器来到达消重本钱的宗旨,那么Linux是一个更适当的拔取。借使你有良众钱拿来“烧” -- 这些年,硅的代价只消几美元了,但显示器和输入硬件则很能够是须要几万美元的,那么这时期Android会更适合你。
  正在上个月的RTC杂志上,我写了一篇为无外设编制挑选可用筑造行为显示任职器的著作。正在文中我夸大了当地无外设编制策画是奈何诈欺正在邻近或长途的基于浏览器显示筑造的,搜罗智妙手机、数字电视等。正在Android和Linux被选择其一的条件下,须要一个当地的仍旧长途的显示器是另一个决断身分。若你的筑造须要一个近隔断的身体上接触的显示,那么具有一个集成用户接口(UI)的Android是一个不错的拔取。但借使用户首要是思正在远方通过浏览器或专用的智妙手机安适板电脑运用顺序来与筑造交互,那么你能够通过撑持利用嵌入式Linux来托管Apache任职或几个小Web任职器**务器端的编程规范(PHP,Python,C等)到达免却Android编制的开销的宗旨。
  当然,你能够依照须要同时摆设Android和Linux来撑持当地显示、汇集接口或转移运用顺序。两个操作编制都撑持雄厚的用户接口,况且都很容易被安顿为Web任职器。但现成的Android运用顺序只可运转和显示正在一个Android原生显示筑造上,而利用GTK+或Qt创筑的Linux原生运用则恳求一个当地显示器或一个可用的长途X任职器。
  一个半工夫性的论点是Android或Linux是熟识的编程发言和框架。借使你的团队曾经正在极少其他情况中创筑了Java运用顺序,那么你很能够会期望能够诈欺这个专业学问去创设其他筑造上的运用顺序(以至是无外设的筑造)。但借使你的开垦职员更熟识C/C++,Lua,GTK+和QT相同的UI框架及众数的其他编程范式,那么激烈创议你拔取Linux和/或LAMP(Linux,Apache httpd,MySQL和PHP/Perl/Python)。
  这个论点并非是很了了的,还要和正在座的其他人一道磋商。你也能够利用Android/Linux当地编程接口来创筑你的嵌入式运用顺序,但你能够会突破Android运用顺序的互操作性和封装,而且不再具有一个怒放盒子。还请记住,正在拔取某种发言和框架的同时往往还要酌量是当地显示仍旧长途显示。别的,也许更解放性的思思是当今开垦职员通达众种发言,如此无论正在Android仍旧正在Linux上利用Java,C++或Web编程发言都市感触同样痛疾。
  一套非工夫然而庞杂的以许可体系为核心的拔取圭表盘绕着Linux和Android以及写给这两个操作编制的运用顺序和扩展打开。很众原生筑造缔制商之因此采用Android是由于这个转移操作编制的自正在许可条件:本质上Apache 2.0对付Android中央件及其运用顺序的组件只是正在底层Linux级其余通用大家许可证(GNU GPL)局限对原生筑造缔制商有披露原料的恳求。Android中的顶级Apache许可证老是注解“OEM friendly”,是由于筑造缔制商批改了Android旅馆的大局限,并利用了正在Apache和任何其他OSS许可证(外1)下都不须要披露批改和分发他们本人的代码的硬件概括层(HAL)来增加了外围筑造接口。本质环境稍微有些庞杂,这正在Black Duck的著作“Android-Opportunity,Complexity and Abundance”中有陈述。

  这不是一个阻挡Linux的例子它只是很能够完备地正在一台运转着Linux的筑造上分隔和扞卫专有代码。然而,批改和增加到嵌入式Linux旅馆上的每一品种型都须要酌量它本人的本质环境(睹外1)。特殊地,极少原生筑造缔制商不锺爱直接正在任何GNU许可证(GPLv2/v3,LGPL等)下劳动,这就导致他们拔取了Android,而非Linux。当然,他们还是须要安顿Linux内核,但运转其上的Android库和中央件仅仅将它行为一个“缓冲器”。每每做到如此就能够感触很痛疾了。
  正在这里,咱们的宗旨只是为各品种型的智能筑造供应拔取Android或Linux的凡是指示步骤。对付笔直运用顺序(手机、医学筑造、运输器械等)而言,这种分类自己并不思列出整个的步骤,而是思供应开垦规范依赖的拔取圭表,或者供应酌量筑造商场和安顿性命周期的途径。
  外2总结了本文外述的论点。它夸大了拔取不是绝对的:因为Android包蕴了一个Linux内核实例,Android编制外面上能够托管和运转和Linux一律的软件。Linux同样由于能托管和运转Java,以及一系列的用户接口(UI)框架,它也能被安顿正在有当地显示器的筑造中,纵使正在和Android有亲热相干的手机、平板电脑和其他筑造上。

  因此,去利用Android或Linux或同时利用这两个操作编制吧。但须要先酌量以下题目:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表