作者 lobnqii.bbs@moca.csie.chu.edu.tw (lobnqii),
.目前的作業系統不少,但安全性顯然皆不足,敝人「發想」很久,
想寫一個安全性比較高,具有美國國防部 A Degree(A1,A2,A3) 的
作業系統核心(win2000 是 C2)。
.這個作業系統可以切出類似VM(不完全是)的架構來容納不同的作業
系統 及 其它晶片架構。
.這個作業系統至少是3D(x,y,z),甚至是4D(x,y,z,t)
.週邊的介面就使用Linux標準(or Windows)吧,這樣就能夠把精神專
注在核心上及比較快能有成就。
.這個作業系統準備作商業化用途,當然某些使用方式亦可免費供使用
類似GPL or LGPL
我知道目前時機寫作業系統是有點自找麻煩,但考慮現前作業系統安全
性缺失如此大,仍然有市場。若您有興趣,大夥來研究如何進行,比較
希望您是已婚的人士且已滿30歲的人,若專案成功,大家可以來合組新
公司。
(聽說 CIH 病毒的作者<在網虎任職>三個月就重寫出Linux 新核心,只
有4K)
前幾個月看到報導有一種新型的顯示器,可以有霧汽上呈現真實3D的
畫面,這不是目前的螢幕模擬3D,也不是最先進具有遮光層的那種3D
LCD,而是真實的3D,具有Z軸的立體。很像科幻片中的立體影像,差
別的是目前是在霧汽中呈現,未來,也許就直接在空氣中呈現吧?
我這裡的3D意思就是,能夠在這種真實立體的顯示器上使用的作業系
統,當然,模擬成目前2D的畫面(CRT or LCD)就更不成問題。
至於4D,那是加上T軸,它是指時間的意思。每一個執行斷點,連續起
來就是時間的意思。一個作業系統能跑的起來,就是每一個時間點之
程式碼的連續。所以,這個4D作業系統可以回顧任何一個所設定區間內
的時點在做什麼及反覆那個時點的作業。這是很困難的技術,前提或是
硬碟夠大且CPU速度必須非常的快,也許要128位元的電腦才夠快吧?或
是把這功能做成只在需要時才啟動,例如一般的教學檔,在準備錄音時
才啟動。
同時,這個4D作業系統可以呈現不同銀河系之因旋轉速度快慢不同所呈
現的對比狀況(做一個氣象動態呈現的系統應該更容易)。所以,在不同
Galaxy中所看到的時間是不一樣的(動畫、電影之播放速度),有的是比
我們世界(或銀河系)快(以人類每秒能看30張畫面為對照)有的是比我們
世界慢。當然,也可以一直切出與我們太陽系同樣時頻的Galaxy。所以
,我預設要稱這個作業系統叫「The Universe」。
In this Universe,其項下可以切出許多Galaxy(銀河系,功能類OS or
VM),每個銀河系下有許多的世界(VM or AS)及視窗(目前通用的window)
,而這樣的畫面皆是3D呈現(請參考VRML)。
感謝您的建議,如您所說的,寫個作業系統大概是資訊人的夢想!
敝人之所以想寫新作業系統而不是改寫既有的作業系統環境(例GNOME,KDE)
主要是有下列幾點原因--
1.自主性考量:Linux Kernel是GPL(&LGPL),它是有版本差別,不同版本的授
權不一,只要那一日授權條件改一下(當然這機率很低),所有
的桌面環境(GNOME,KDE)恐怕也要跟著重寫。
這就像是台灣的行政院長,權力是很大,但總統不爽他還是要
去職,而且速度還「非常快」(看看阿扁前四年換了幾個行政
院長)
對於要如何處置、授權自己的作業系統給予大眾的使用的方式,
改寫Linxu也不具有此權限。
2.架構上考量:寫c/c++語言的人,不太喜歡去維護他人的系統,主要是前置
編輯(precombiler)的敘述比較複雜、不容易閱讀。而要改寫
Linux kernel至敝人所定義的架構,比維護其他人的系統更複
雜,了解作業系統的人應該大致上知道它的routine library
都是2D的(x,y),敝人所架構的系統是3D至4D,不但Memory的
管理及運算皆要重寫,連Graphic的介面也要全部重寫。而這二
部份幾乎就是一個作業系統的核心,要改寫與重寫已差別不大了。
3.興趣的考量:寫作業系統帶著對自己能力的考驗,及興趣的發揮,以及成就的
滿足。這就像有人批評登喜瑪拉雅山喪命的人是「自討苦吃」一
般,我想,這些自討苦吃的人不外也是在完成興趣上的一個夢想
吧?(internet 的前身也只是要使世界各地的科學家快速交流新
資訊,也沒想過會發展成現今的模樣)
其實,目前就已有很多新架構的作業系統被創作成功(成就或大或小之差別),例
如Menuet OS,一張1.25"磁片就裝的下,顯然,只要善於掌握1024個中斷向量,
要如何演譯畫面及作業管理並不是想像中的困難!
我記得有一本激勵創新的毒舌派書中這樣說:
『當別人規勸您不要輕易去嘗試新創作,其實是他們的懦弱不敢創新』
當然也有流派顛倒的說法:
『不善於應用現前的工具而只一味的去研新,只是驢子』
什麼是與什麼不是,我想這應該是人生觀的不同吧........我應該是屬於喜歡不
受拘束及喜歡創新的那種驢子!^++++++++^
graphic interface 是否與kernel有關,這要看這kernel要包到什麼程度而定。
如吾人所熟知,不同的CPU有一些比較特殊的語法例如:3DNow!SSE...
在設計new kernel時要不要考慮就支援這些規格呢?很多的作業系統為了要跨平台
之緣故,它會把這一部份挪到與之有相關的模組中撰寫。
所以,繪圖並非完全與kernel無關。就算不支援特異的語法,也可以將繪圖函式寫
入kernel之中,「據說」Mac的作業系統就是這樣做,所以它的圖形表達就比Linux
來的順暢!
至於4D的功能要等到硬體支援才實做,我約估至少要等個二十年才有可能...
(二十年前就已經有影像電話,但至最近幾年才比較被人所接受)
首先感謝您對這個專案計劃感興趣!
目前所「發想」的spec,依您所問的順序回答如下--
..
1.一開始的話,您計畫針對那種 architecture 作 programming 呢?
覆:這是一個新作業系統,所以結構是自訂的,並沒有針對那一種作業
系統架構來進行。至於新架構是什麼?我的想法是「安全性高」、
「可以與各系統相容」、「週邊設計時之Envi.System(chip land)」
,這些功能皆可以Universe所切出的Galaxy(類VM)實作,算是第二層
的架構。(第一層是The Universe OS之task管理等)
..
..
2.您是否有規劃在 development host 上選擇那種 tool-chain 作開發?
覆:這是一個大問題,個人的想法是,軟體部份先寫一個編譯器or組譯器
,至於是那一種要商量後才能決定。硬體部份先以Intel CPU為標的。
由於OS本身是立足在商業上,所以是否有development host可以同意
空間供吾等免費使用,由於目前還未諮商到這一步所以還無法回答,
不過,也可以自己架站做CVS的管理,不一定要使用外界的空間及工具。
..
..
3.另外,您這個 OS 所要提供的 service 是那種 task-oriented,
是 Very-Secured 或是單純有一個所謂很酷的 4D-GUI,
還是二者兼具,或者另有其他的任務?
覆:商業的考量「Security」是一定必須考慮在內。我有一個構想,除了
一般目前所熟知的即時性防範之外,在Galaxy切出時就具有無法透通
至其他Galaxy及Universe OS的預設功能(除非在OS層打開這個透通設
定值),當這個銀河系掛掉時,其他的系統並不會受到影響,免除了
目前所熟知的各類系統(windows,linux,unix,mac..)因為被侵入而
各類檔案被感染的危險(Virus)或資料被竊取的危險(hacker)。
GUI一定是真實3D(但由於目前沒有真實立體顯示器,所以會把z軸轉換
為x,y軸值,之後而繪出用2D所模擬出的3D畫面,若不考慮相容性的問題
在所規範的2D顯示器規格內跑程式時,就在Library上做多形封裝,把
z軸的值失能),若您看過3D的運用就是那種(參考VRML),而4D的引用
也的確是很有賣點,例如動態氣象系統、各類標準模型的建立等,只是
技術性比較深,應該不會列入首波的架構中。
當然還有很多很好的構想數百條(還未仔細整理),不過首次要建構的主
要目標就是第一項的回答內容。
..
我個人的想法是,就算專案失敗,磨磨刀對自己也只是有益無害,總比閒著
看電視來的好吧?
先感謝各位對此案的關心!
作業系統及系統核心是怎麼回事,我當然是知道的(要寫系統的人,「怎麼
」會不知道呢?)。但一個作業系統是否能存在而被人廣泛使用,它本身的
UI、介面的透通及行銷方式是絕對重要因素的鐵三角,反而不是核心的技術
是否夠優良這個問題。
如吾等所認知,微軟的作業系統起初就不是效率最好,UI也不是最佳(Mac比
它好多了),但卻能佔有桌上市場這麼久,有絕大因素是行銷的技術關係。
當然,我們也不能否認,它近十年來的UI已是漸登上親和的峰頂(比Unix-like
的作業系統還易用許多)
許多朋友指教及關心新系統(及其核心)要如何實踐的問題,我個人對此案
的見解是,除了應實踐系統核心之傳統優良技術(CPU Sceduling、Job
Scheduling、Memory Management、Multi-Programming、Time Sharing、
Virtual Memory Management、Protection of CPU & Memory & I/O...and
so on),另外一些獨創的方式也是可以加入,例如直接把通用的繪圖模式加
入(記憶體愈來愈大,可以容許這部所佔太空間)以加快處理速度,把一些比
較特異的語法或架構另寫成模組來呼叫。還有,可以把Computer Cluster &
Computing 的技術再包進去,把所創的系統切換及其同步非同步管理的技
術寫入....如是等等。
其實,一個作業系統會成功,個人的見解上述核心技術只是基本面,而且所佔
的的影響力不算是最大的。如上所述反而是它的UI易用性,介面透通,以及行
銷的方式是否適當所佔的影響最大。技術的優良,只能贏得學術界的讚譽,固
然有加分的效果,但靠學術界是無法生存(以商業考量)。Linux若不是Open
Source 有幾個具影響力的廠商會理它嗎?(本案是以商業化為主要考量,免
費提供使用為副)
因此,在本案敝人就規劃出許多具上述直覺、易用及透通的的架構。這些架構
當然是比windows目前的某些架構優良,或是它並不具有的。只是我沒有細述
整體架構,所以絕大部份的人是霧裡看花,乃至有譏評出現。(有人或會說
你何不整個架構托出,若如此我會說「有這必要性」嗎?)
建設性的指教我一向接受,譏評式的指教我也接受,但三言二語無釐頭的
「譏笑」,嘿......那就笑吧!我的立場是可以「隨興」來盡量解釋...
(學習成果的取得,大都經由學問而來,少數人是經由「強打」,這些人的
我執深固如頑石,學習歷程必須長於他人,在下也只能對他採用「盡量解
釋」的態度來因應甚至不予理會)
感謝ajax的鼓勵,敝人當自強!那些譏評及譏笑者,敝人也一併感謝,原因
請參考孔子的理論。