顯示具有 l4 標籤的文章。 顯示所有文章
顯示具有 l4 標籤的文章。 顯示所有文章

2007年5月6日 星期日

OKL4在gumstix的測試結果

之前的文章「Open Kernel Labs公司成立,強化L4與虛擬技術應用」提過新成立公司的 "Open Kernel Labs" 提供一系列以L4 microkernel為基礎的embedded與virtualization技術,而即使在邁入商業應用的今日,仍以BSD License (3-clauses)釋出成果,態度相當可取。"Open Kernel Labs" 提供一個針對開發者的Portal site:portal.ok-labs.com,目前開放下載的版本為okl4 release-1.4.1.1,支援IA32與ARM (arm926ejs, xscale, arm1136js, arm1176js)等架構,若以平台來看的話,通用IA32架構,也就是PC99,以及gumstix (based on PXA255)兩項有支援。

gumstix的應用很廣,許多機器人與控制系統都可見其蹤跡,同時也是採用我比較熟悉的Xscale架構,去年也開始相關的qemu模擬工作,自然引起我的高度關注。okl4 release-1.4.1.1相較於NICTA的版本,實在簡單許多。首先,得準備好工具,python2.4、Skyeye (用以模擬與偵錯gumstix),以及ARM toolchain,剛剛已在台大做了mirror如下:

在進行之前,我們來複習NICTA規範的L4 Microkernel / Embedded & Virtualization的架構,Iguana是個運作於L4 microkernel的server,提供作業系統所需的系統服務,像是記憶體管理、權限控管,與驅動程式等等;Kenge概念上類似L4Env,也是提供虛擬執行環境所需的基礎建設;Wombat就相當有意思,也是本架構的賣點,Wombat是個修改過的Linux kernel (目前版本 2.6.10),運作於L4 Microkernel與Iguana之上,如此一來,既可透過Wombat來達成原本Linux應用程式的相容性,又可在L4 Microkernel達到Realtime最佳的效能。OKL4 release提供以上元件的實做,附加具體而微的Linux系統,基本上,只要設定toolchain與Skyeye的路徑後,直接執行以下指令即可建構:
./tools/build.py machine=gumstix project=iguana wombat=True simulate
需注意的是,預設的安裝script忽略了libgcc_s.so.1,所以記得自ARM toolchain複製一份到 build/linux/install/lib/ 目錄。

透過模擬環境的執行畫面如下:
我在圖中以紅色箭頭標注了此virtualization環境的變化。首先是L4 Microkernel,再來是IguanaKenge,最後就是Wombat,最後會跑完Linux booting flow,切入Linux user-space。對了,剛剛也試著用qemu去執行,但似乎會卡在igms0的處理。

2007年4月18日 星期三

Open Kernel Labs公司成立,強化L4與虛擬技術應用

今天閱讀LinuxDevices.com時瞥見一則新聞「Startup touts virtualizing microkernel」,提及原本NICTA(澳洲的產學合作機構) 中專注於L4 microkernel為基礎的虛擬化 (virtualization) 技術的研究單位,正式成立公司 "Open Kernel Labs",看來即將在2008年為資訊產業帶來新的震撼。雖然L4 microkernel之父Jochen Liedtke已於2001年六月10日去世,但L4 microkernel設計與我們同在,並深深影響這個世紀的作業系統。

L4採用第二的micro-kernel設計,在kernel本身只提供十來個system call,相較於第一代的micro-kernel的Mach有一百多個而言,L4的設計相當精簡,有文獻指出,適當的規劃micro-kernel system call可提升系統效率,L4正是基於此一理念的實作。德國Dresden科技大學基於L4 microkernel提出L4Linux的設計,那是運作於L4 Micro-kernel的之上Linux server(修改過的Linux kernel,所以在該server上可運作一般的Linux應用程式),揭開L4在虛擬化技術的序幕,研發團隊率先將Linux Kernel 2.4移植到L4 Kernel Family (泛指 V.2、X.0 與 X.2 規格者),於是,原本的Linux程式可在不需修改的前提下,在L4 Micro-Kernel運作。幾乎在同一時間,德國Karlsruhe大學也成立L4Ka小組,與澳洲的New South Wales大學合作開發針對嵌入式系統的L4最佳化實做,後來也不約而同切入虛擬化技術的領域。

NICTA在澳洲扮演產學合作的角色,早在兩年前即與通訊大廠Qualcomm合作開發基於L4與虛擬化技術的3G手機設計在MSM6550晶片組的硬體上,提供虛擬化執行平台,允許Linux (在其上運作豐富的應用程式) 與BREW RTOS (進行資訊處理與操作3G Modem之用) 並行存在,這是個相當成功的展示。不僅如此,NICTA也跟澳洲當地的FancyPaints合作開發提供給Qualcomm 3G CDMA平台的絢麗手機人機介面。今日,這些成果將由專業商業公司進行維護與開創新價值,"Open Kernel Labs"也表示將繼續原本開放原始碼的實做(以BSD License釋出),相當值得關注。

在今年OSDC.tw研討會上,OrzLab揭露了RT nanokernel for Embedded Linux的設計,儘管途徑與L4 microkernel不同,但許多資源是可以共享的,同時我們也提出LOVER的口號,也就是 "Linux Optimized for Virtualization, Embedded, and Realtime" 這個概念的落實。