萬維網操作系統--應用模型

 

萬維網操作系統--應用模型

 

普通應用程序雖軟件需求不一樣,但開發出來的程序卻有千篇一律的模式可以遵循,基本上都遵循這樣的規律:程序大部分分爲數據處理段、數據段,其中數據處理段部分必定包含在程序當中,而數據部分可放在程序中,也可放在獨立的文件中,當程序運行時,才由程序調入數據。由於數據與指令的這樣存放位置不同的差別,造成今天各種各樣的程序,最初程序數據處理與數據都放在一起,如一些簡單的小遊戲,後來,程序數據處理部分開始與數據分開,數據獨立存放同一機器的單獨文件裏,如編輯器,這是單機時代,再後來,程序數據處理部分開始與數據不但分開,而且數據獨立存放在不同機器裏,這是網絡時代,再後來,程序數據處理部分開始與數據不但分開,而且數據獨立存放在很多不同機器裏,這是雲計算時代。程序數據處理部分與數據部分分開這是由於數據處理部分一般較小、經常要修改,又與機器的指令相關,不同指令類型的機器,必須有不同的數據處理部分,而數據對處理算法來說,不會因機器指令不同而不同,數據是他們共同的部分。在Web時代應用程序本質也沒有發生改變,都是數據處理與數據分開的模型,但web應用程序與前面介紹的程序又有不同。在web應用程序裏,數據處理部分已經被統一化,即瀏覽器、web服務器作爲web應用程序共同的數據處理部分。瀏覽器負責處理數據的呈現,web服務負責提供、存儲、處理數據,而程序員只要編寫一些文本數據就可以了,當然一些高級web程序,還是必須編寫腳本程序。

應用程序從以前按照機器指令運行進化到按照數據運行,其中瀏覽器起着非常重要的作用,瀏覽器相當於web時代的程序機器,是一個非常大的進步。但這個進步隨着技術的發展,目前出現的應用讓瀏覽器編程越來越困難,如html、xml、css、script、sql、cloud等,這些都是要一大堆高級的技術來支持,非常不利於程序員的編程學習,要解決這個問題必須用比瀏覽器更爲上層的技術來代替,所以本文嘗試提出一個新的web應用程序模型。

操作系統的主要功能是管理計算機運行的任務、內存、IO等,廣義的web操作系統也相應定義了任務、內存。用戶打開一個頁面時,不再是簡單的返回html頁面,而是虛擬爲這個應用分配應用進程空間、進程號、函數空間。因爲Web應用永遠在線的特點,廣義操作系統分配的進程空間、進程號、函數空間都是永遠存在的,不會因爲用戶下線了,相應的進程空間、進程號、函數空間被消除了。這樣用戶的進程就要被賦予特別的意義,如打開facebook時,廣義操作系統爲我打開一個已經存在的進程(也可以重新創建),但重新創建一個用戶函數空間,每個用戶端產生的其他數據也都是用函數空間來表示。當廣義操作系統用這種方式管理數據時,其數據保存就不需要特定的存儲設備,如數據庫服務器、雲存儲等,我們可以自定義函數空間的存儲方式,只要方便用戶就可以。比如,sns應用中的粉絲應用,函數空間簡單定義如下:

<粉絲關係函數空間 ID=456346>

<用戶=“道指令創始人”/>

<粉絲=“愛因斯坦”/>

</粉絲關係函數空間>

 

<粉絲關係函數空間ID=3215>

<用戶=“道指令創始人”/>

<粉絲=“牛頓”/>

</粉絲關係函數空間>

 

<粉絲關係函數空間ID=5322>

<用戶=“道指令創始人”/>

<粉絲=“猿人”/>

</粉絲關係函數空間>

 

當各種不同用途的函數空間被定義及創建後,整個進程空間就會會有大量的函數空間數據片段,廣義操作系統的任務就是負責對這些空間數據的創建、保存、處理、銷燬。

實現這種空間定義非常簡單,如用數據庫實現時,最簡單的方式,只要一個數據庫表格就可以,程序員只要利用這個表格就可以開發出各種各樣的web應用(這個本人已經開發出了模型),把這個簡單的表格轉化爲其他的存儲方式也很簡單。

廣義操作系統的應用模型經過簡化後就與最原始的程序一樣,所有數據都在機器中運行,終於程序發展從單機、網絡、web又回到單機時代。

發佈了92 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章