主题:【原创】浏览器是怎么变成操作系统的 -- 美人他爹
包括绝对地要在用cache数据的时候就用rmdbs我认为就是错误的。
数据库不等于RMDBS,也不等于SQL。
比如说berkeleydb的设计思路,虽然底层也是b+树实现,但是接口极其简单,就很容易做cache,在local,manage 300G的数据速度极快,大大超过了RMDBS。在并发每秒1800个access的情况下,时间小于1ms。而这个时候,一台oracle应该网络通信时间都得100ms以上了。
而如果数据不是那种集合关系,那么强行用SQL会非常别扭和低效。
数据库是数据库,但数据库不是RMDBS而已。
听起来有点象, 而且好象也有了SQL接口。
不过在这个具体问题上我同意你的观点。我记得好像这个版上曾经讨论过数据库是不是已死的问题,谈到大蟑螂兄说的"要占用多少内存哪"应该不是问题,把250台4G的机子cluster起来,就有1T的内存,象Amazon这样的店也应该足够把他们的所有的catalogue全部放在内存里而无需数据库了(当然作为persistant的工具也许数据库还有用)。
【1】非传统的Chrome OS
浏览器是操作系统吗?严格说来不是。
传统意义上的操作系统,是指硬件与应用软件之间的隔离层,它的任务是,1. 提供给软件调用和控制硬件设备的标准命令集,这样软件就不用担心同一类型但是由不同厂商生产的硬件设备的命令集有什么不同,从而简化了软件开发的难度,2. 在多个软件同时调用和控制硬件设备时,协调这些软件占用硬件设备的时间长短以及谁先谁后的优先级,从而避免多个软件竞争使用硬件时,可能产生的冲突。
从这个定义出发,浏览器是应用软件,而不是操作系统,甚至不是操作系统的一部份。但是为什么Google最近推出的Chrome OS,把浏览器Chrome作为操作系统的一部份呢?原因在于如何定义应用软件。
很多应用软件都是遵循MVC范式,M=Model,指的是Data,V=View,指的是UI,C=Control,指的是业务处理逻辑。Data有三个来源,1. 电脑本地存储系统,应用软件程序可以通过文件系统的APIs,来读取这些数据,2. 网络服务器,通过给应用软件指定URL,来获取相应数据,3. 在使用应用软件时,用户输入的数据,或者在运行应用软件的过程中,应用软件生成的数据,作为中间结果,被应用程序重新调用。至于UI和Control,对于传统意义的应用软件开发来说,这两者都由软件开发者通过编写程序的方式来实现。
大多数UI部分的程序开发,繁琐而且雷同。为了简化UI部分的程序开发,一个思路是把雷同的程序编写成函数库,应用开发者只需要调用函数库的APIs,而不需要重复实现这些函数库。譬如Java Swing就是这种思路的范例。
另一个思路是浏览器,UI的开发者不写程序,而是写HTML和CSS。程序描绘的是过程,控制电脑先做什么后做什么,每一步怎么做。而HTML和CSS描绘的是结果,包括图片和文字的布局,以及字体颜色等等的渲染效果。至于先画什么,后画什么,调用哪个函数库去布局去渲染,这些工作交给浏览器去自动完成。
对于Chrome OS来说,应用软件指的是,UI部分由HTML+CSS定义的非传统意义的软件。这样的软件,离不开浏览器去读解HTML+CSS,去自动规划如何实现目标的步骤,以及自动实施这些步骤。对于这样的非传统意义的软件来说,作为隔离硬件和软件的操作系统,自然应该包含浏览器。
换而言之,Chrome OS不是传统意义上的操作系统。它与传统意义的操作系统的分水岭,表面上看在于是否把浏览器当作操作系统的一部份,但是实质问题是Chrome OS支持的应用软件,不是传统意义上的应用软件,至少Chrome OS提倡的应用软件的模范,不是传统意义上的应用软件。
同时隐藏本地应用和网络应用的区别,只要UI是字符流,UI都由浏览器来render,这个回到了x-window了。
由此,客户端只要能跑一个能解释这个字符流的浏览器就可以了。
如果这个字符流可以被我们的脑子解释,那么直接把脑袋后面那个接口插到网络上面...
至少没胜过windows,因为没有那个必要。现在客户端已足够强大了,反倒是网络传输依旧是瓶颈,换汤不换药的nc式的chrome先要活下来再说,至于打败windows,还不如reactOS希望更大一点。
SQL只是语言而已
自然会出现在家用ctrl+c到公司用ctrl+v,还认为是理所当然的用户。 Chrome OS是无缝计算的开端。 个人数据随人走一成习惯,没有了你才觉得不正常。你现在还是可以用打字机写文章,但你试试用打字机发帖子玩BBS看看。
载入中
载入中...必要时请刷新页面
恭喜:你意外获得【通宝】一枚
鲜花已经成功送出。
此次送花为【有效送花赞扬,涨乐善、声望】
[返回] [关闭]
现在工作需要
用BO构建Universe
给下面各个部门的Crystal Reports提供data source
觉得crystal比其他的语言都奇怪的多
语言本身不难
但是总是局限在一个report上
到现在也没有适应
一旦需求明确,立刻就可以把长sql里的临时表变成需要维护的正式表。
这样的技巧很好玩,而且几乎没有书可以讲。刚入行时,有位老大给我找了个据说是史上最快的取分页数据的sql,很开眼界。
我爱sql,perl(正则表达式部分)这类换脑筋的玩法
俺的工作,就是整天pl/sql,编码调试等等。没觉得不方便,也不觉得效率低。
如果是翻译和解释HTML和CSS作为UI,那么任何浏览器都有这个功能,是否都被考虑为操作系统的一部分呢?
曾经简略的看了一下Chrome介绍,好像是每一个Tag都是独立的进程。这样的设计是否有独到的好处呢?