第(3/3)頁 但所謂窺一斑而知全豹,作為行內人,他們都有自己的眼力眼光和判斷標準,是可以有相應的評判資格的。 這里面最高興的,莫過于南廣義了。 但要說最震驚的,那就要算許忠信教授了。 他一臉不可思議的指著電腦屏幕。 眼睛卻死死的盯著陳哲,“這個調度系統的算法,也是你自己寫的?” 要知道,一款操作系統的內核,在調度系統上的算法,是相當復雜的。 雖然90年代的時候,情況還遠沒有后來發展的那么變態,但也不是一般人就可以玩得轉的。 內核的調度系統,是綜合了各種算法和tradeoff,并涉及到了吞吐量、響應時間、公平性、調度引起的額外開銷等各個方面上的權衡。 而這其中,也有先進先出算法、任務優先算法、時間片輪轉算法、最大最小公平性算法等各種不同的算法。 每一種算法,都有各自的優劣。 比如先進先出算法,雖然能保證最少的任務切換開銷、最大的吞吐量以及最樸實的公平性,但它的響應時間卻很高,只能適用于隊列中任務的耗時差不多的場景。 再比如時間片輪轉算法,它雖然能保證公平性,讓耗時短的任務即使落在后面,也能較快的得到調度執行。 但是,任務切換引起的調度開銷,就會相應的變大,需要多次切換任務上下文,時間片也不太好設置。 只能適用于隊列中耗時差不多的任務,比如多路視頻流處理。 最不適合的,則是計算性任務和i/o型任務混合的隊列。 而陳哲,卻在其中加入了另一個新型算法,也正是這個算法,引起了許忠信的驚嘆,進而忍不住開口詢問。 陳哲呵呵一笑,“這應該可以叫做多級反饋隊列調度算法吧,這種算法,可以兼顧響應時間、低調度開銷、饑餓避免、公平性等?!? 這種算法,后來也是公認為比較好的一種進程調度算法,可以滿足各類進程的需要。 陳哲知道,后來的windows、macosx、linux內核調度系統中,都會加入這種算法。 尤其是后來的多cpu核場景中,這種算法是最適合的。 許忠信就很意味深長的看了他一眼,心里已經拿定了主意,這小子就像是個寶藏,絕對不能光看著卻不動手去挖,那純粹就是一種浪費。 這個目光,也讓陳哲心里一哆嗦。 他不怕才怪呢,玩點兒應用還可以,真要讓他去搞什么純數,那可就要了老命了。 搞純數的,哪一個不是變態中的妖孽。 第(3/3)頁