國產操作系統

9
國國國國國國 國國國國國 – 國國國國國國國國

Upload: peter-cheung

Post on 15-Apr-2017

28 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 國產操作系統

國產操作系統意向及計劃 – 中國自主創新之路

Page 2: 國產操作系統

項目目標建立一支對操作系統核心技術有全盤控制力的團隊參考現有的操作系統設計,提出結構性的創新移值現在的應用軟件,在國產操上系統上形成可用性所有代碼以開源方式貢獻社會建立開發者和使用者社群,吸收來之社會及業界之意見

Page 3: 國產操作系統

以什麼方法去建造國產操作系統操作系統是模方塊是一個依賴另一個的,程現倒三角結構,請看

https://sourceforge.net/p/elf-dependency-walker/wiki/tutorial/

所以操作系統的開發必定由下而上,一步一步的把每一個模塊搞出來,上層的模塊對下層的模塊有很大的接口依賴,如果先搞上層的話,開發會有很大難度,接口也會被套死,創新基本上不可能,因為它要對下層接口要完全兼容,否則那個模塊插不進去運作。用 elf dependency walker 就可以把整個 Linux 裏面所有庫的依賴顯示出來,由此可以定立一個最短的開發路徑,因為圖表已經清楚顯示出那些庫是最重要,那些庫的依賴最少最獨立。我們不可能把所有庫到開發出來,因為人力物力消耗太過誇張,我們只需要把最重要的庫搞出來就可以令操作系統初步運行了。

Page 4: 國產操作系統

ELF dependency walker

Page 5: 國產操作系統

創新方法,應該到那裏創新假設我們已經造出了紅色的模塊,我們應該在 c++ 層面裏走自己的路,原因就是大型應用都是建立在 c++ 層面裏,而不是 c 。 c 的重要性主要是顯示在系統軟件裏。C++ 變代很快, c++0x11, c++2015 , boost 庫等等,我們站在它們之上建立一套屬於自己的庫,這一點的範圍和重點從後再議。 C++ 將會再次崛起。

Page 6: 國產操作系統

創新方法,應該到那裏創新 (II)

C 層面我們把最重要的庫換成自己的C++ 層面創造統一的庫以便掌握生態鏈建設

Page 7: 國產操作系統

自己做一套上層的庫對國產的意義只有內核,很難左右上層軟件的發展,只有掌管一個上層的開發庫,才能夠整合上層的軟件設計和內核的發展。Linux 世界上層的開發不統一,就是因為沒有人有能力一開始就去對上層的開發手法作出有效管理。微軟就是因為擁有 MFC 庫,所以在上層的創新上有非常大的話語權。因為國產操作系統上面的應用很少,如果上層的開發庫不統一,呈現混亂之象,廠商就會對國產 os 的生態環境存疑,因為開發手法存在太可選擇,廠商無法適從,心態上沒有依靠。統一上層開發好讓我們集中資源去建設生態系統。

Page 8: 國產操作系統

現在距離目標還有多遠的路以下列出主要技術難關

難關 我們現在的行動 預計時間完善內核所需功能 我們正對內核的各方面作出完善 , e.g.:

scheduler, driver model, etc..移值基礎庫 正在開發自己的加載器,我們已對 ELF,

GOT, PLT 作出掌握,正在編寫代碼,我們有自己的調試器加強我們的開發速度

Multi-boot 支持 已完成對 grub 的支持, memory layout 方面有待加強

文件系統 現在是用自己的,加載器搞定之後會支持一些簡單的 fs, 例如 fat 等

Page 9: 國產操作系統

開發手法我們會使用

Gcc, ld, binutils 內核調試格式用 dwarf 內核追蹤用 general kernel debugger Netbeans IDE