`
nigelzeng
  • 浏览: 605712 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【转载】操作系统的灵魂是什么?

阅读更多

 

 


 

阿里云OS与谷歌Android之争、中兴明确即将推出自主操作系统,让操作系统顿时成一热词。

飞漫软件CEO魏永明自称“码农出身”,开发过类似Android的操作系统。这两天,他特意写文一篇,向大量非技术出身读者科普何谓“操作系统”、操作系统之必要性与难度。深入浅出,通俗易懂。

虎嗅摘出其中技术性没有那么强的段落,供大家参考。

引言

近一个月是个多事之秋(2012年9月),IT 和互联网领域也不平静。阿里云操作系统受到谷歌的打压,华为任正非提出要开发自己的操作系统,中兴也宣布今年第四季度将发布自己的操作系统。一时间,微博上有关自主知识产权操作系统的讨论如火如荼。这样的讨论,就如同“水木清华”某些板面上的“月经贴”一样,每隔一段时间就要火一次。但大部分讨论其实讨论不到点子上,就如同“瞎子摸象”一般,大家基本上只是站在自己的立场,基于自己的经验在判断孰是孰非。这样的讨论效率低下,本人认为有必要写一篇科普性的文章,从政治、技术、工程、法律等几个方面给“自主”操作系统来一个比较清晰的定义,并尝试给出一些技术、工程等方面的建议。

“自主”操作系统的不必要性

在谈“自主”操作系统的必要性之前,笔者先谈谈“自主”操作系统的不必要性。

在开源软件大行其道的今天,操作系统不再那么神秘,任何有足够财力的企业,依赖现有的开源软件,都可以比较容易地推出一个能够运行的操作系统。出于此观点,很多人认为有 Android 这样的开源操作系统,就没有必要再开发一个自己的操作系统了,到底谁拥有开源操作系统的知识产权,是无所谓的事情。

这个说法是有一定道理的。

从法律(指开源软件许可证)和技术上讲,就算 Google 不打算开源新的 Android 版本,不允许某些厂商使用 Android,我们一样可以在已经开源的 Android 之上继续发展自己的 Android 系统只要遵循已经开源的 Android 的许可证约束即可,而 Android 系统主要使用的开源软件许可证有 GPL(Linux 内核)、LGPL(各种运行时函数库)、Apache(Dalvik 虚拟机及 Java 类库),其实是非常宽松的。

这个说法的不足之处在于,未考虑到可能的专利(软件相关的专利通常和实现无关,就是说,你重写一段代码,并不表示你可以规避对应的专利),以及是否有能力自行发展 Android 的问题。

前者非常要害。谷歌在开发 Android,尤其是 Dalvik 虚拟机以及 Java 类库的过程中,肯定积累了大量专利,而这些专利是凌驾于软件的著作权和许可证之上的。也就是说,如果你基于现有的 Android 派生了一个分支,要想将运行有这个 Android 派生版本的软件放到自己的手机里边销售,谷歌马上可以拿出专利大棒来限制你。当前,谷歌尚未拿出专利大棒来限制各种派生于 Android 的系统。拿阿里云 OS 和谷歌最近的争论当中来看,谷歌也只是说阿里云 OS 导致 Android 不兼容。但一旦有厂商真的使用了阿里云 OS,谷歌马上就会拿出专利大棒,这将毫无疑问。

至于有没有能力来自行发展 Android 的问题,在中国有大量码农基数的基础上,只要有源代码,就可以在短时间内组织团队自行发展Android。

“自主”操作系统的必要性

强调需要“自主”操作系统的主要有两类人:政府中的政策制定者以及大型企业的决策者。

对政策制定者来讲,面向未来由中美两国主导的国际环境,作为两极世界中的中国,有没有自主的芯片、有没有自主的操作系统,关系到两个层面的东西,一个是国家安全,一个是面子。在这样的认识下,“核高基”的出现自然而然,其目的是支持国内企业发展核心电子器件、高端通用芯片及基础软件产品。我们暂且不谈核高基项目在实施过程中存在的制度性问题,它表明的国家是在战略上的一种布局,是一种国家意志,涉及到政治领域。

作为企业决策者,没有自主的操作系统,他将在很多方面受制于人。就拿阿里云和谷歌的争议事件来看,宏碁受到了来自谷歌的压力,然后就乖乖投降了。这里边有两个值得思考的地方:(1) 既然 Android 这么好,为什么宏碁还要和阿里 OS 合作?后者肯定没有 Android 成熟啊。(2) 为什么谷歌一施压,宏碁就放弃了和阿里 OS 的合作呢?(虎嗅注:宏碁目前称还没有放弃)显然,宏碁有动机选择另一个 OS 给自己的智能手机,可能的原因无外乎两种:阿里给钱了或者宏碁不希望被谷歌控制;另外,宏碁又那么容易地被谷歌搞定,说明谷歌能带给宏碁的利益远远大于阿里。

另外联想到微软向 Android 厂商收取专利许可费的事情,像宏碁这样的厂商,肯定也会被微软勒索,也包括中兴、华为等国际化的 Android 手机厂商,无一例外。对企业决策者来讲,这很难受给别人做嫁衣啊,有时候还两头受气!所以,小的厂商需要投靠大树来庇护自己(大多数乖乖就范于谷歌或微软),大的厂商就要考虑是不是开发一个“自主”的操作系统来抗衡了。

这样的思路下,华为、中兴等大的智能手机厂商,开发“自主”操作系统的动机非常强。

像阿里这样的公司,开发OS,其目的是要复制 Google 的商业模式,加上阿里 OS 又没有撇清和 Android 的关系,受到 Google 的打压就在情理之中了。

“自主”操作系统应该具备的特征

那么,“自主”操作系统应该张什么样?要回答这个问题,我们先看看假的“自主”操作系统张什么样。所谓假的“自主”操作系统,就是那些号称“自主”操作系统,但其实:

只是在已有的开源操作系统之上加了一层皮。比如各种基于 Android 的第三方 ROM,比如 MIUI、Flemy 等。这种操作系统仅仅在 UI/UE 上做了一些工作,就如同一个人换了一身衣服那样,实质上这个人不会因为换了一身衣服而从张三改叫成李四。

修改了已有开源操作系统的内部代码,做了一些优化或者去掉了别人的一些东西,添加了一些自己的内容。比如阿里 OS 就属于这种,或者哪些号称深度定制的 Android 系统也属此类。这种做法如同整容,的确动了些刀子,甚至改变了性别,但人还是那人,改了名字或性别也还是那人。

这么类比下来,读者应该就知道了,真的“自主”操作系统,必须要有自己的灵魂,只有这样,不管换什么衣服、是不是经过了整容,那人还是那人;通俗一点讲,只有换了脑袋的才能是一个全新的个体。

那么在操作系统当中,什么东西是灵魂?这个问题回答起来蛮难的。我们先看看哪些东西肯定不属于灵魂:

无法形成有效知识产权的软件组件,或者说,满世界有很多(开源的)实现的软件组件。比如内核、基础函数库、网络协议、图形库、浏览器引擎等等。这些东西可以看成是形成一个智能动物(比如“人”)的骨架或者躯体、甚至心脏,但远远算不上脑袋或者灵魂。这也是为什么笔者主张在“自主”操作系统中要尽量使用现有的成熟开源软件、而且不建议再行发明此类轮子的原因。

要知道哪些东西是灵魂,我们分析下 Google 在和阿里 OS 争论的过程中主要维护的是什么东西:

Google 的说法:阿里 OS 采用了 Android 的虚拟机和 Framework,但又不兼容 Android,破坏了 Android 的生态系统。这个说法可能还不是 Google 打压阿里 OS 的最关键原因,但起码说出了他们的担忧:阿里 OS 是想借 Android 打造自己的一个生态系统!另外,Google 对那些只换衣服的 Android 系统采取听之任之的态度,和他们一贯以来标榜的“只要兼容,我们欢迎”的态度一致也就是说,这些系统没有从根本上动摇 Google 的生态系统。

所以,真正的“自主”操作系统的灵魂,就是那个背后的、无形的生态系统,一个看似开放但其实封闭的生态系统。一旦加入这个生态系统,你就很难下来正所谓“上了贼船下不来”。

这就是我的回答:

一个真正“自主”的操作系统,必须建立自己的生态系统,一个开放的,但在某种程度上又封闭的生态系统。

操作系统生态系统?这名词大家说了很多年了,一个生态系统具体应该是什么样子?笔者从如下几个方面解释一下:

技术层面。操作系统必须通过某种技术将自己和其他的操作系统区隔开来。比如 Android 采用 Java 语言,但使用了不同于 Sun(现在是 Oracle) JDK 的 API;iOS 采用了 Object C 语言,为应用程序提供的接口和框架甚至有别于苹果自己的 Mac OS X;Windows Phone 采用了 C# 语言,在 .Net 框架下进行开发。为什么这些操作系统不使用 C/C++ 这类语言呢,C/C++ 尤其是 C 可是这些操作系统内核的编程语言啊!?这里有如下几个原因:

1、操作系统开发者不希望普通的应用程序通过使用比较低级的编程语言来控制系统或设备,毕竟操作系统是给智能手机、平板电脑这种消费类的电子设备使用的。

2、通过采用更加高级的语言来简化编程和开发人员的学习难度。

3、通过对看起来非常复杂的框架的持续演进,达到牵着开发者和厂商鼻子走的效果。

4、便于形成依附于某个操作系统的独有的开发者社区和文化。

法律层面。操作系统必须通过创建自己的有效知识产权体系来保护自己。前面已经说过,越底层的软件组件越没有市场价值(码农们可能不喜欢听这话,但现实就是这样的)。通过建立全新的、包裹在底层操作系统之上的框架、编程接口、编程语言等基础设施,操作系统开发商才有可能建立起有别于他人的有效的知识产权保护体系。也就是说,如果连框架、编程语言、编程接口等都抄袭他人(就算是开源的、许可证允许的),那永远也无法形成一个可以有效保护自己的知识产权体系。

市场层面。通过和上下游企业的合作,建立某种联盟或者许可、授权机制,让操作系统的用户(芯片厂商、手机厂商、平板厂商)能够从中获益。比如 Android 开放联盟,做的就是这个事情。

开发者社区。一个好的操作系统之生态系统,要充分照顾开发者的利益,具体有如下几点:

1、要有好的开发工具,便于开发者学习、开发和调试软件。

2、要有好的文档或者教程,帮助开发者迅速掌握相关开发技巧。

3、最重要的,要能够让开发者赚到钱。

看到这里,相信大家都会意识到:这也太难了吧!的确,这非常难,这也是为什么 Moblin、MeeGo、Bada、WebOS 等操作系统相继失败,而到目前,只有 iOS、Android、Windows Phone 这三种操作系统的原因。

 

转载自:linuxeden  http://www.linuxeden.com/html/news/20120924/130318.html

  • 大小: 44.9 KB
分享到:
评论

相关推荐

    安装操作系统方法大全(转载)

    ### 安装操作系统方法大全 #### 一、安装DOS系统 在早期计算机时代,DOS(磁盘操作系统)作为一款基本的操作系统被广泛使用。本文将详细介绍如何安装DOS系统,并基于DOS进行Windows 98的安装。 1. **安装DOS系统**...

    转载 纯nasm实现中文操作系统.txt

    根据提供的文件信息,本文将对纯NASM实现中文操作系统的核心技术点进行详细的解析与总结。 ### 一、项目概述 该文件描述了一个基于NASM汇编语言开发的中文操作系统的初步实现。NASM (Netwide Assembler) 是一个...

    计算机操作系统

    计算机操作系统是计算机系统的核心组成部分,负责管理和控制系统的硬件和软件资源,以提供高效、可靠的服务。在Windows操作系统中,线程是并发执行的基本单位,它允许一个进程内同时执行多个不同的代码段。线程的...

    [转载]自己动手写操作系统

    【操作系统原理】 操作系统是计算机系统的核心组成部分,它管理硬件资源、提供用户接口以及控制程序的执行。编写操作系统是一项复杂的任务,需要理解计算机硬件的工作原理,特别是处理器(CPU)的功能和内存管理。在...

    不用编程就能自制操作系统!

    不用编程就能自制操作系统!这个软件普通人也能用! 下载nasm 下载 Cygwin 打开自制操作系统.exe 输入操作系统名称,英语就行 下一步 随便写一个命令 打开终端 nasm -f bin hanos.asm -o hanos.bin 点击Cygwin....

    操作系统代码

    操作系统代码是计算机科学领域中的核心组成部分,涉及到计算机系统的底层运行机制和资源管理。在这个压缩包中,可能包含了一些实现操作系统功能的关键模块,如进程管理、内存管理、文件系统、设备驱动以及调度算法等...

    转载机顺槽监控系统的研究与设计

    软件设计主要是开发适配硬件的控制系统软件,如基于SIMATIC WinCC的远程监控平台,可以实现对转载机的远程操作和数据采集。同时,3DVR数字化监控平台提供了立体视觉的监控环境,使操作人员能更直观地了解现场情况。 ...

    LSMW操作详解 转载

    "LSMW操作详解 转载" LSMW(Legacy System Migration Workbench)是 SAP 系统中的一种批处理操作工具,能够对静态数据、动态数据和业务数据进行批量操作。LSMW 的原理是对需要批处理操作的流程进行录像,然后设定...

    操作系统银行家算法课程设计,任务书及源程序

    银行家算法是一种用来避免操作系统死锁出现的有效算法,所以在引入银行家算法的解释之前,有必要简单介绍下死锁的概念。 是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统...

    操作系统安装精华(部分原创)

    在没有光驱的情况下自己动手安装操作系统 可以U盘安装硬盘安装 本内容包括各个操作系统及急救工具盘在GRUB4DOS下的启动及安装,没有具体系统安装过程,只是提供一个在无光驱的情况下启动这些系统安装盘的方法 部分...

    井下巷道吊装转载系统的设计与应用

    总结来说,井下巷道吊装转载系统的创新设计和应用,成功地解决了大型设备在井下巷道操作的难题,为煤矿生产带来了显著的效益。通过科学合理的维护和保养,该系统能够保持高效稳定的运行状态,为企业带来更大的经济...

    转载点密闭自发电气水喷雾系统

    为了解决某选煤厂转载点处由于带式输送机高差大而产生的煤尘积聚、飞扬造成车间环境污染的问题,通过分析转载点产尘特性和产尘原因,研究了一套转载点粉尘治理方案。首先根据带式输送机尺寸以及风机安装位置、角度设计...

    掘进机用带式转载机的设计

    综上所述,掘进机用带式转载机的设计是一个系统工程,它涉及到机械设计、电气控制、工程安装和现场调试等多个方面。通过对技术参数的精确计算、结构组成的合理布局、设计选型的科学规划,以及安装调试的严格要求,...

    桥式起重机的智能转载系统设计技术研究.pdf

    4. 自动检测控制系统:负责传感器数据的自动采集与存储,为系统提供实时的环境和操作状态信息,是确保转载作业安全的基础。 5. 电气控制系统:按照工控机指令执行对起重机的变频控制,实现了对桥式起重机运动的精确...

    GDAL源码剖析转载pdf

    在开始文章之前,我想到几个问题,什么是 GDAL?GDAL 能做什么?GDAL 怎 么使用?GDAL 内部结构是怎么组织的?GDAL 提供的算法原理是什么?对于上面 的几个问题,希望大家看完本系列博文能对上面的几个问题少点疑惑...

    Qzone日志转载软件

    用户需要执行这个文件来启动软件,并进行日志的转载操作。 2. **love.html**:可能是一个示例日志或模板文件,展示如何展示转载的日志内容。用户可以通过查看这个文件了解日志的样式和结构。 3. **记事本.txt**:...

    煤矿非采区产煤转载运输系统设计及应用

    【非采区产煤转载运输系统】是一种针对煤矿开采中非采区的煤炭运输问题而设计的解决方案。在传统的煤矿作业中,非采区产煤往往通过辅助运输系统运送到地面,然后作为未经洗选的原煤销售,这种方式虽然比直接当作矸石...

    带式输送机中间转载装置设计研究

    在大型输送系统中,中间转载装置的设计至关重要,它不仅影响整个输送系统的效率,还涉及到物料的保护、设备的可靠性和系统的经济性。 根据描述,研究以某个具体带式输送机为案例,深入分析了该输送机的工况特点,...

Global site tag (gtag.js) - Google Analytics