什么是操作系统?兼谈WebOS(全文)

2006-05-20 14:48:28 来源: DoNews(北京) 举报
0
分享到:
T + -

前面写了篇《Google收购Writely,WebOS即将成型》, 200来字的小文章。但是因为提到了WebOS这个词语,遭到了很多人的质疑,人名太多我就不详细的列了。WebOS这个词汇产生于上世纪90年代,还很新,很多人不了解不认同可以理解,但是这些质疑者,却恶语相向,什么“看看大学本科操作系统教材好吗?!莫名其妙。”什么“忽悠也不是你这么这个忽悠法,凭概念吃饭的时代已经过去了。”的,我本来不想多说,插科打诨,息事宁人,原因是没精力和他们纠缠,也没有义务跟他们上课。但是人家又说我不敢正面应对,或者太小气,不肯传道授业解惑于他人。那好,写这么一篇东西出来,好也好,坏也罢,说我无知的可以继续,说我小气的可以歇着了。

[跳过第一页,直接了解WebOS]

醒客老哥,回应我的文章谈了些想法《Google的操作系统重要吗 》,他的想法跟我的不尽相同,但是遭到了跟我一样的待遇。看来我们遇到了硬茬子,说好也不对,说坏也不对,提到WebOS就一律是忽悠,哈哈。他有写了篇《再说Google OS 》,原本是解释,没想到遭到了更多的砖头的袭击,看来我也难逃此运了,哈哈。

什么是操作系统

操作系统在维基百科中文版中的定义如下:

操作系统(Operating System,简称OS) , 是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。

操作系统在维基百科英文版的定义 如下:

An operating system is a special computer program that manages the relationship between application software, the wide variety of hardware that makes up a computer system, and the user of the system.

大家可以很清晰的看到这两个定义并没有本质的区别。操作系统的定义很简单,就是提供应用程序的运行环境,提供用户操作环境的软件。

操作系统的简要历史

在早期的计算机系统里面是没有操作系统的,最早的ENIAC (Electronic Numerical Integrator and Computer)没有键盘显示器等等的,所有的输入操作都是通过对开关的通断来实现的,输出是通过灯泡的亮灭显示的,改变计算公式甚至需要对线路进行重新的布置,那个年代是没有操作系统的。

两位女士正在操作ENIAC

ENIAC里面并没有内存,只有寄存器,而且控制系统是通过硬接线实现的,想改变公式就需要对线路重新布置。这样操作其实非常的不方便。所以,著名的"计算机之父"冯·诺依曼加入这个计划之后,提出了改进意见EDVAC (Electronic Discrete Variable AutomaticComputer)计划。EDVAC实际上就是最早的冯诺依曼结构的雏形,现在我们使用的通用计算机结构仍旧属于冯诺依曼结构。

之后为了方便无人值守的批量任务执行,产生了单任务的批处理操作系统,批处理操作系统的任务很简单,按照实现设定好的顺序把任务装入执行。为了充分利用大型机等昂贵设备的资源,产生了多任务操作系统(分时操作系统),为了让一般的学生和科学工作者也可以分享大型机的计算能力,出现了大型机+分时操作系统+ 哑终端的模式。之后,慢慢出现了为普通人服务的微型机,也就是个人电脑。然而最早的个人电脑也是没有操作系统的,最早的个人电脑是阿尔塔(牛郎星电脑)没有键盘,显示器,只有开关和灯泡(像不像微型版的ENIAC)。微软第一个成功的商业产品其实就是给牛郎星写的BASIC解释器,因为很多人免费使用(也就是盗版)这个BASIC解释器,比尔盖茨写了封“给爱好者们的公开信”,成为商业软件产业诞生的标志。实际上我们知道的著名的Apple I上面也并没有安装操作系统,只有一个ROM BASIC和引导程序。

谈这些历史,是想让大家知道,在没有操作系统的年代,裸机也是可以使用的。而操作系统的产生是为了给应用程序提供一个运行环境。

操作系统必须直接驱动硬件么?

我们见到的大部分操作系统都是直接驱动硬件的,这就给人一个错觉,所有的操作系统都是必须驱动硬件的。win31推出的时候,虽然有内存管理,进程管理(那时候win系统没有线程概念),有图形界面,但是仍旧被人质疑是否是操作系统。原因是win31的文件系统是dos支持的,引导程序是 dos,换言之,win31不能直接运行在硬件上。这是一种误解,现代的操作系统大多分层,为了移植和系统的结构化,一般来说操作系统都会分为硬件相关层,硬件无关层。硬件相关层一般就是io处理和做驱动程序管理。而内存管理,进程管理,图形界面等等一般都是硬件无关层处理的。

对Cpu来说,一段普通内存地址和一块硬件端口映射出来的内存地址并没有任何区别。这是因为从计算逻辑上看,任何功能用硬件实现和用软件实现并没有任何的区别。正因为此,我们才能在一台win操作系统的机器上面VMWare上面安装一个linux,或者反之。操作系统就是应用程序的运行环境,也就是一个硬件和软件之间的层。早期的操作系统比如dos,比如unix之前的那些专用的大型机操作系统等等,它们根硬件的结合都比较紧密,难以分开,提供的硬件以外的功能也很少。然而unix本身就是为了解决在多种不同类型大型机之间移植而设计,从概念上就已经跟硬件分离了。windows也很类似, winnt4.0可以用于x86芯片,也可以用于alpha芯片的机器就是因为这个原因。

分布式操作系统更是传统操作系统思想的变革,分布式操作系统是安装在整个分布系统里面的,其中任何一台也可以安装有自己的本地操作系统。

什么是WebOS?

维基百科英文版中的WebOS条目 ,提到:

More generally, WebOS refers to a software platform that interacts with the user through a web browser and does not depend on any particular local operating system. Such predictions date to the mid-1990s, when Marc Andreessen predicted that Microsoft Windows was destined to become "a poorly debugged set of device drivers running Netscape Navigator." More recently attention has focused on rumors that Google might produce a software platform.

不用太多解释了吧?刚才居然有人要我解释一下,“我问你一个问题:"does not depend on any particular local operating system"是不是指的webos自成系统,无需windows/unix/linux/mac os之类的"Operating systems"?上边那个问题你别长篇大论一大堆,就回答"webos需要本地操作系统"或者"webos不需要本地操作系统"就ok啦.”

好,我给你解释一下,“does not depend on any particular local operating system”的意思是不依赖于某种特定的本地操作系统,这句话翻译成比较简单理解的话就是,跨平台,也就是跨本地操作系统的平台。也就是说,在本地操作系统支持一个浏览器的情况下,不管你用任何本地操作系统都可以正常的运行。根据“奥卡姆剃刀原理”实际上一个WebOS不需要携带一个本地操作系统部分,只要用户安装一个任意的本地操作系统就可以了,或者说,不需要硬件相关部分。因为它可以运行在任何的支持浏览器的情况下,因为浏览器就是它的运行环境。

我认为醒客老哥犯了一个错误,就是忘了用那个著名的剃刀。在目前的软件行业的情况下,Google采用一个Linux/BSD发行版(用这两个是因为版权原因,如果不考虑版权因素,捆绑一个简化版的Win也不是坏的方案)作为发行的WebOS的本地操作系统做起来太容易了,但是Google没有必要这么做。或者说没有必要把携带一个本地操作系统的WebOS当作重点,因为这样显然会激怒操作系统厂商(当然这里主要是微软),而且实际上也提高了用户进入的门槛。但是如果,用户希望在裸机使用WebOS的时候,一个捆绑了本地操作系统的发行版是更好的选择,因为这个本地操作系统的最主要任务是运行一个浏览器,所以他对硬件的要求将很低,安装也会很方便。

在更多的情况下,WebOS的应用看起来还是根现在的Google网站没有什么区别。但是随着相应应用跟进,你就会发现什么是WebOS了。

1、Notepad/Word还需要么?用Writely你可以在线编辑你的文章,你可以在任何可以上网的地方修改你的文章(有网络,还要什么U盘),你可以跟你的朋友在互连网范围内方便的协同编辑文档(Word能做么?)。

2、Outlook/Outlook Express/Foxmail你还需要么?OL/OE一般来说文件夹内信件数千后就会很慢,存储文件超过1G后就非常不稳定(Foxmail没测过),而Gmail现在2G多了还是那么飞快。

3、Acdsee还需要么?我的图片都在Flickr了。呵呵,这个服务不是Google的,但是Google做一个会很难么?

我就不列举了,实际上在企业领域B/S应用早就非常普遍了,随着技术的发展你会发现一切你想做的东西都可以在浏览器里面去做。如果你关心微软的新技术你会发现,微软曾经说过以后没有IE了,因为整个OS就是一个IE。作技术的朋友去关注下XAML/XUL,这两种技术都是用浏览器技术来解释XML描述的应用程序界面的应用。

还用我说很多么?诸位知道Google的核心技术是什么么?那就是海量数据存储和检索,关键词是Google file system, Bigtable, Mapreduce 。这一技术跟浏览器这个富表现能力的瘦客户端结合起来使用,会产生什么?还用我多说么?

最近N多人盛传Google要发布自己的网络存储服务,目前还不确实,但是大家可以试试看用Gmail+GmailFS就可以实现这个服务了,当然这个实现方式很蹩脚。

WebOS出来以后,是一家独大然后大家全部死掉么?

这本来是一篇要写的文章的题目,今天既然提到了,暂时就不单独写了。实际上WebOS更重要的是一个运行环境,通用客户端-〉浏览器,网络存储-〉Google的海量技术,在这个框架下,有无数的可能性。Google没有能力包打天下,这个类似微软,我们常说微软的垄断,但是微软也开创了一个新的市场,那就是微机软件市场。微软进行DOS/WIN平台切换的时候,软件开发商叫苦不迭,但是阵痛以后,他们得到了一个更加广阔的市场。这次也很类同。我们有了Writely可以在整个Web协同编辑文档了,我们还需要可以整个Web系统做演讲稿的工具,还需要很多很多的东西。

一次平台切换就是一次洗牌,关键看你能不能跟上平台切换的脚步。97年的时候,我们听到了很多做dos汉化的厂商的声音,比如说windows没啥的,跟ucsdk意思差不多。比如说本地化问题,微软解决不了,等等。我在很早以前的文章《标准,要挣钱除了标准还是标准》里面说过这个问题,“曾几何时,中国人的Ucdos和Wps给我们带来了无上的民族自豪感,虽然他们也建构在微软的平台上面,但是毕竟让我们感觉我们离世界软件大国的脚步并不遥远,甚至当时有人会认为中华民族的伟大复兴就将会依靠软件业。但是,一朝微软进行平台更替,整个中国软件行业才发现这种并不遥远,其实只是一种错觉。应该说Ucdos的荣光来自于微软对Dos中文化的投入甚微,或者说心不在焉,在当时我们不能准确地了解到,微软这种心不在焉也许并不是不重视中国市场,而是打算在Win95一劳永逸的解决问题(注一)。而Wps就是一种悲剧了,我有时候在想,就算金山现在做得再差劲,政府采购也应该对他们有所偏向。要知道Wps对中国的信息化贡献极大,而某种程度上说,政府的追赶时髦和没有民族软件危机意识也是Wps失败的主要原因之一(注二)。抛去这场悲剧中的民族感情色彩,我们发现在那个历史时刻,我们全行业溃败(注三)的主要原因很简单,不掌握标准,而且跟不上掌握标准者的脚步。”

后话

有人说了句“说老实话,查询一个英文词从第一页开始出现中文网页还真不多见 ”并用此来说明问题,有人还因此推论“就是我国IT已经与时俱进了几乎跟上世界脚步了,要不就是又一次自己瞎忽悠。”,但是我只能说,不会用Google的我见过,但是不会用还愣充会用还拿来当论据的我第一次看到,不能不说一下了。

请把你的Google的语言设定为英文然后,搜索“webos”不然,你当然会看到中文文章在第一页,基本上只要不是极其生僻的英文单词在这个模式下,第一篇都可以看到中文。不信你试试,在语言设定为中文的情况下,你搜索tom,第一页还全都是中文的呢。

Google语言设定为英文的时候,搜索"WebOS"至少第8页才有中文文章,希望某些人写文章之前,对自己卖弄的东西验证一下,你自己不明白无所谓,害了别人就不好了。

Google的界面语言选择会对搜索结果产生影响

陈刚 本文来源:DoNews 责任编辑:王晓易_NE0011
分享到:
跟贴0
参与0
发贴
为您推荐
  • 推荐
  • 娱乐
  • 体育
  • 财经
  • 时尚
  • 科技
  • 军事
  • 汽车
+ 加载更多新闻
×

放弃1亿去读MBA的人,后来怎样了?

热点新闻

态度原创

精彩推荐
海淘品牌
阅读下一篇

返回网易首页 返回科技首页