五千年(敝帚自珍)

主题:【原创】说一说我对透明计算的疑惑 -- 鸿乾

共:💬119 🌺320 🌵2
全看分页树展 · 主题 跟帖
家园 任务单一,但调用并不单一啊。就说上网吧

首先声明一下,我不是程序员,只是N年前学过简单编程,操作系统原理也N久没有复习了。这儿有说的不对的地方,请大家指正。

由于MetaOS是基于裸机,本身并不是一个操作系统,而只是“调用OS和应用程序的片段”来在终端上执行,来达成应用。所以,我们得看看一个“上网”的程序怎么才能在一个裸机上运行。你用来类比的java是不恰当的,因为java程序是运行在jvm和OS之上的,java的二进制程序可比MetaOS省了好多好多事了

上网的常见应用就是浏览网页。我们来分析一下,要浏览网页得涉及多少“片段”。

>>>>>>

首先,MetaOS得先把终端所有硬件扫描一遍,知道都是些什么设备,才能从云端调用相应OS的相应驱动程序来使用硬件

其次,浏览器得有输入代码模块,要不怎么输入网页地址啊。这就得调用PS/2或者USB协议,知道用户都在输入什么

然后,要了解基本的TCPIP网络协议,进而了解HTTP协议,要是网页是加密(https)的,还得涉及加密解密库函数;这个时候,浏览器才有能力依据用户输入的网页地址,从服务器处拿到要显示的具体内容

这还是万里长征刚起步,更困难的还在后面。

拿到了网页,浏览器还得了解HTML协议,知道各个版本的HTML的语法含义;通常,网页上还有大量javascript/java代码,MetaOS还得知道怎么编译解释它们;然后,调用字库吧,不同字体使用的字库是不同的;现代的网页大多数都有图像视频吧,还得了解常见PNG, GIF,JPG图形格式,各种视频格式(avi, mpg);网页上有个Adobe Flash或者其他插件也很常见啊,还得要支持,否则你都不知道网页上都有什么啊

这时MetaOS知道网页都要显示什么了,现在就得调用函数知道该怎么渲染这些文字,图形,视频和Flash等内容,简单说就是得知道在显示器的什么位置显示什么

我上面说的每句话,基本上都对应着一个大函数库,同时,还得调用操作系统的进程管理,内存分配,文件管理等等模块协调这些函数的运行。所有这些函数库里面的函数相互调用,要想把涉及到的代码“片段”一个不落(落一个就缺一项功能),又一个不多(多一个就不必须地占用一份非常宝贵的广域网带宽)地从操作系统和应用程序里抽取出来,我完全不知道MetaOS该怎么才能做到。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河