Linux界一個不成文的規矩:找不到應用程序,那就自己做一個吧。
應用程序和內核又是兩碼事。Linux操作系統內核,涉及到進程調度、內存管理、文件管理,一觸而發全局。
同時,還要對X86體系結構、內核源代碼算法有深刻的認識。哪怕改一個很小的地方,沒有十足的功力也是不能完成的。
但是既然研發部門決定要做,沖浪決定要做,就一定要做出個樣子出來。
§6 封閉開發
許多方案擺在了台面上,最後選定的方案,極大的體現了靈活性。
以前要改Kernel中的進程數,必須依據新的參數重新編譯內核。潛台詞就是,如果你不會玩編譯內核的東東,那就只好一邊歇著了。
這無疑增高了Linux的門檻,不能期望每一用戶都去自己編譯內核,所以這次的改動,又泛生出一個方面---就是要實現用戶自己的定制。
實際做法是,啟動時特設了一個LILO參數,可通過修改此參數,自動傳入內核,從而達到實際進程數的變動。
這種改動實現的方法,處處為用戶著想,充分體現了沖浪技術的風格。哪怕是做個patch,也不能被動的做。
經過幾個星期的日夜奮戰,沖浪終於通過過硬的技術,實踐了自己的思想。
§7 成功
這是一次成功的突破--Kernel V2.2.X 最大進程數的限制的突破。
這場看不見的戰役,至少為用戶搶先了半年左右的時間,使XteamLinux Server 能夠響應企業關鍵應用的需要。
而且很有趣的是,即使2.4出來,這個折衷方法也會更快;因為在進程數未超出4090時,處理仍然不變,開銷更小,更加利用了系統的整體性能。
可以說,這是情理之中,意料之外的結果。就怕不做,如果真正去做了,原來所料想的負面影響反而會減弱。皇天也怕認真人啊。
§8 Open Source
Xteam這次不但自己做了,還要遵守GPL,把開發的成果貢獻給社團。
甚至更進一步,不是被動地公布源代碼就完了,還要詳細的講解這次修改內核實現的方法。授人以魚,不如授人以漁。
在Linux裡,沒有封閉的世界。
Xteam不把自己看做是一家中國的Linux漢化公司,而是要到Linux世界去沖浪的操作系統平台級的軟件公司。
任一說,只有做操作系統級的程序,才能吸引到中國最傑出的程序員,只有人才是未來沖浪世界的動力。
(本文涉及的關於進程突破的詳細技術文檔,請見www.xteamlinux.com.cn)