( http://os.inf.tu-dresden.de/pubs/sosp97/) The Performance of µ-Kernel-Based Systems
先是說明一下micro kernel的歷史.
第一代的u-kernel :Chorus, Mach。
第二代的 : L-4, QNX。
古老 u-kernel為人詬病之處就是效能,但是第二代的u-kenrl已經很不錯了。
所謂的 "pure" u-kernel 就是說,kernel 只提供
- address space
- threads
- IPC
這篇文章將Linux porting到L4 上,並且調整一些server,看看實做一些到L4內,和增加一些是當的user space server 對於效能有甚麼影響。
這個porting,讓Linux Kernel 算是L4 的一個User Process (簡單的說,是一個Pager - 記憶體管理程式)。原Linux上的user program也算是L 4的user process。
這個porting 目的要保持所有ABI一致,同時說明,由於Linux source code的高度模組化,所以可以把porting到L4的動作當作是porting到另一個hardware architecture,所以只需要更動hardware dependent part (就是source code中的arch folder..)。
文章說明的東西很多:
- L4
- Linux
- Linux on L 4
- Linux on L4 的各項實做:kernel service, interrupt, user process, System call, Signaling, Scheduling, Tagged TLB, Dual Space Mistake (?),
接下來作調整和benchmark..
- 先作基本的benchmark
- 把Linux 中的pipe和RPC改為L4 中的IPC作法
- 將Virtual Memory Operation 由Linux Server中分離出來,成為一個獨立的user space server。
不僅能用,而且商業化了。
回覆刪除請參考 LinuxDevices.com 的新聞:
http://www.linuxdevices.com/news/NS4095436375.html
-%
Fluffy Spider Technology (FST) will reportedly port its user interface technology to ERTOS, a micro-kernel based real-time Linux implementation likely to be used in Qualcomm mobile phones. FST's "FancyPants" UI technology has already been embedded in a multimedia-enabled mobile terminal used in New York City taxis.
%-
如果兄臺有興趣的話,歡迎交流,小弟最近在做 Realtime Microkernel (nano-kernel approach) based on Linux.
(哇..jserv的留言耶..)..
回覆刪除除了MINIX外,我還沒真的run過任何一個microkernel的OS呢,更不用說是development了。
Linux porting到L4後,效能雖然降低5%,但是realtime performance好像增加了喔。這一段不知道是怎麼做到的,有時間時再來track一下這個專案的code。
但是...什麼時候才會有時間呀?最近被CE+Platformbuild 搞得焦頭爛額...什麼時候才會有時間繼續 study Linux...