第八十三章 系統內核和調度算法(周末加…


  南廣義不知道陳哲的心裡,會有這麼多的戲。寫到這裡我希望讀者記一下我們域名sto55.com

  他只是很驚奇於對方,竟然早就在做內核了,「怎麼沒直接帶過來讓大家看看?」

  陳哲就笑了笑,「這個不急,反正我對這個內核,還是頗有點兒信心的,等咱們討論完了,再過去看也不遲。」

  南廣義也沒有堅持,卻追問了一句,「你這個內核是怎麼構建的?」

  所謂構建,也就是體系結構了。

  陳哲也交代的很痛快,「應該算是類UNIX吧,和Linux也有點兒像,兼具穩定與安全可靠的特性。

  「它的底層是圖形化的,我認為除了編程設計、商務辦公之外,視頻、遊戲或其它多媒體應用程式等,會在未來有更大的市場需求。」

  閱讀更多內容,盡在s̷t̷o̷5̷5̷.̷c̷o̷m̷

  說實話,在陳哲的眼裡,Windows後來越來越龐大臃腫的體積,是無法規避越來越多的系統漏洞的。

  而這會兒蘋果的MacOS,還在死守著自己完全封閉,不帶別人一起玩的固執。

  就算是後來的OSX,雖然快速又穩定,占用的系統資源也很少,外部驅動的退出也很穩妥。

  但是,不能對系統進行深層次的改造,也使得它自定義程度並不高。

  這一點相當可惜。

  而陳哲之所以選擇這樣的一款內核,就是綜合了這兩者的優缺點,而搭建出來的。

  簡單、快捷、方便,再加上從底層就開始的圖形化設計,讓硬體與軟體的集成,使它在增添外設、運行應用程式、故障排除以及維護方面,都相對的更加突出。

  南廣義眼神很亮。

  心裡也跟貓抓似的,「這樣的話,會不會在處理底層任務,如內存管理、進程調度、文件管理上有所影響?畢竟,內核是直接與硬體交互的。」

  陳哲很自信地一笑,「放心,多用戶、多任務的屬性,還是保持的很好的,不但有強大的網絡功能,還兼具良好的移植性。」

  說白了,就是可以支持多種硬體平台的作業系統。

  無論是台式機、伺服器、超算,還是手機、平板、路由器以及視頻遊戲控制台,它都可以適用。

  只要你能遵循相應協議下,做好系統軟體和工具,並提供相應的系統設定和管理工具,就能形成一款真正的作業系統。

  說白了就是Shell、命令和工具、文件和目錄。

  而這些,就需要南老和他的團隊,圍繞著陳哲做出來的那款內核架構,去進行開發了。

  所以,聽到陳哲能有這樣的自信,南廣義更加心動了。

  別說他了,在場的有一個算一個,其實都有些心有期待的。

  畢竟,如果真像陳哲說的那樣,那無疑對於整個項目的研發,等於是一下子推進了一大截。

  這和從無到有,是完全的兩碼事兒。

  就像是你要建一棟大樓,從無到有的話,那就要經過選址、設計、打地基、建造、裝修等一系列的流程。

  但是,如果現在有一棟爛尾樓,無論是地段、整體構造、施工質量什麼的都符合你的心理預期。

  那麼,這樣可以節省了多少時間,就是顯而易見的事情了。

  現在陳哲給出的內核架構,就等於這棟爛尾樓。

  而南老他們需要做的,就是完成整個工程項目的施工。

  當然了,這只是一個比喻。

  畢竟,陳哲正在做的那個內核,也不是就可以直接拿過來用的。

  因為南老他們要做的,同樣是一個繁瑣的工程。

  所以,底層源碼肯定是不能完全一樣的,但是卻又必須保證兩者之間,在結構體系上的一致,

  這裡面,就需要考教陳哲的能力了。

  而在這方面,卻恰恰就是陳哲最適合開掛的領域。

  畢竟,他熟悉未來各種作業系統的發展趨勢,也熟知在這種發展中,所出現的各種需求。

  所以,他就能最大限度的,做出一款極其精簡,優化到了極致,甚至能讓你改無可改的程度。

  這種超前的設計理念和通用調度算法,再加上那種洞悉未來的領先思維,是完全可以保證他去實現這一點的。

  舉個最簡單的例子。

  如果這款內核看作是一種碳元素,它可以自然形成鑽石、炭、石墨,也可以成為無數的化合物,比如尼龍、汽油、香水、塑料、炸藥等。

  你可以把它應用到很多場景中,但卻很難改變碳元素本身。

  別較真,就是表達那麼個意思。

  不得不說,陳哲的想法是很好的。

  但是在沒有見到真實的東西之前,與會的眾人,還是難免會在心裡打個問號。

  而這個問號,在下午見識到陳哲的那款半成品內核後,就很快煙消雲散了。

  事實勝於雄辯。

  這些人可都是識貨的人,有見識、有能力,完全可以大致判斷出一個產品的好壞。

  雖然陳哲拿出來的,還僅僅只是一個半成品。

  但所謂窺一斑而知全豹,作為行內人,他們都有自己的眼力眼光和判斷標準,是可以有相應的評判資格的。

  這裡面最高興的,莫過於南廣義了。

  但要說最震驚的,那就要算許忠信教授了。

  他一臉不可思議的指著電腦屏幕。

  眼睛卻死死的盯著陳哲,「這個調度系統的算法,也是你自己寫的?」

  要知道,一款作業系統的內核,在調度系統上的算法,是相當複雜的。

  雖然90年代的時候,情況還遠沒有後來發展的那麼變態,但也不是一般人就可以玩得轉的。

  內核的調度系統,是綜合了各種算法和Tradeoff,並涉及到了吞吐量、響應時間、公平性、調度引起的額外開銷等各個方面上的權衡。

  而這其中,也有先進先出算法、任務優先算法、時間片輪轉算法、最大最小公平性算法等各種不同的算法。

  每一種算法,都有各自的優劣。

  比如先進先出算法,雖然能保證最少的任務切換開銷、最大的吞吐量以及最樸實的公平性,但它的響應時間卻很高,只能適用於隊列中任務的耗時差不多的場景。

  再比如時間片輪轉算法,它雖然能保證公平性,讓耗時短的任務即使落在後面,也能較快的得到調度執行。

  但是,任務切換引起的調度開銷,就會相應的變大,需要多次切換任務上下文,時間片也不太好設置。

  只能適用於隊列中耗時差不多的任務,比如多路視頻流處理。

  最不適合的,則是計算性任務和I/O型任務混合的隊列。

  而陳哲,卻在其中加入了另一個新型算法,也正是這個算法,引起了許忠信的驚嘆,進而忍不住開口詢問。

  陳哲呵呵一笑,「這應該可以叫做多級反饋隊列調度算法吧,這種算法,可以兼顧響應時間、低調度開銷、飢餓避免、公平性等。」

  這種算法,後來也是公認為比較好的一種進程調度算法,可以滿足各類進程的需要。

  陳哲知道,後來的Windows、MacOSX、Linux內核調度系統中,都會加入這種算法。

  尤其是後來的多CPU核場景中,這種算法是最適合的。

  許忠信就很意味深長的看了他一眼,心裡已經拿定了主意,這小子就像是個寶藏,絕對不能光看著卻不動手去挖,那純粹就是一種浪費。

  這個目光,也讓陳哲心裡一哆嗦。

  他不怕才怪呢,玩點兒應用還可以,真要讓他去搞什麼純數,那可就要了老命了。

  搞純數的,哪一個不是變態中的妖孽。

  【請記住我們的域名sto55.com 思兔閱讀,如果喜歡本站請分享到Facebook臉書】


章節目錄