2/7 Notes for L4 microkernel 的背景知識與最新的研究發展

221 views
Skip to first unread message

Ben

unread,
Feb 7, 2012, 10:59:27 AM2/7/12
to julu...@googlegroups.com

Notes 02-07

On u-Kernel Construction
15th ACM Symposium on OS Principles (1995)
AMSS -> L4 micro kernel based

DEC VMS -> WNT

HyperKernel
Exokernel

OSKit 猶他大學
﹣ 4~5行code 可實作出sleeping kernel

Minimum OS

Wiki -> microkernel definition
3 Generations of Microkernel
  • Mach, Chorus (1985-1994)
  • L3 & L4 (1990-2001)
  • seL4, Coyotos, Nova (2000-present)
    • news: Hypervisor technology claim 100 percent bug-free


Mach microkernel access permissions on system calls
  • Check access ACL
  • Cache misses
  • Async IPC
  • Virtual memory


L4 Minimality Principle
  • Fred Books


IBM developer work - visualization for embedded system

What properties do we expect from Kernel?

IDL = Interface Definition Language

Linux process manage <-> L4 Pager (Important)

L4 History: V2 API
-> Fiasco (Pentium): C++  (code generator with IDL)

L4 History: X.2/V4 API
-> L4KA: C++, NICTA/UNSW
     + AMSS

L4 Present: OKL4
-> Commercially-developed L4 system by Open Kernel Labs (OK Labs)
-> seL4

L4 Next: High security API

CODE ZERO Embedded Hypervisor and OS

code.google.com/p/tmk-project

L4Ka -> IPC

GUI into L4 or not microKernel?

→ FIASCO-UX MicroKernel

SMP IRP/Caches  -> OK Labs (4 guest OS/ 4 core cpu) (it can turn off 3 of 4 and 4 Guest OS keep running)  

Trap <-> RPC
   ⇒ Sending Small Data Size and try to minimize transfer action-> hardware design (ex: memory page 4K, avoid page fault)
   ⇒ Unique Identifiers
SMP (multi-core cpu)
   ⇒ solve IRP sharing
   ⇒ solve cache conflict issue

Reference
http://en.wikipedia.org/wiki/Microkernel

Jim Huang

unread,
Feb 7, 2012, 11:15:15 AM2/7/12
to julu...@googlegroups.com
在 2012年2月7日下午11:59,Ben <ben...@gmail.com> 寫道:
> Notes 02-07

啊,好像忘記邀請前來指教的朋友,加入此郵件論壇以交流 :)

> On u-Kernel Construction
> 15th ACM Symposium on OS Principles (1995)

摘要: http://www-cs-students.stanford.edu/~dbfaria/quals/summaries/Liedtke-1995.txt

> AMSS -> L4 micro kernel based

AMSS = Advanced Mobile Subscriber Software (Qualcomm)
關於 OKLabs 的商業化,可參考前 CTO 的介紹:
http://www.nicta.com.au/__data/assets/pdf_file/0019/23509/BP_GH_Slides.pdf

2005 年出現的新聞稿:
http://www.linuxfordevices.com/c/a/News/Open-source-virtualization-technology-sees-commercial-use/

15 億台 L4 microkernel 出貨量紀錄:
OK Labs Software Surpasses Milestone of 1.5 Billion Mobile Device
Shipments
http://www.ok-labs.com/releases/release/ok-labs-software-surpasses-milestone-of-1.5-billion-mobile-device-shipments/

不過 Qualcomm AMSS 的文件基本上沒有公開釋出,得支付龐大的授權金才能取得。

>
> DEC VMS -> WNT

這個笑話的梗在於:
http://www3.sympatico.ca/n.rieck/docs/Windows-NT_is_VMS_re-implemented.html

"VMS + 1 = WNT" makes no more sense than "IBM - 1 = HAL" (see HAL 9000)"

話說 Microsoft 在 1990 年代的開發策略真的很特別,竟然可以平行開發兩個本質截然不同的產品線。

> HyperKernel

是 hybrid kernel :)

> Exokernel

http://pdos.csail.mit.edu/exo.html

> OSKit 猶他大學
> ﹣ 4~5行code 可實作出sleeping kernel

OSKit:
http://www.cs.utah.edu/flux/oskit/

> Wiki -> microkernel definition
> 3 Generations of Microkernel

好文推薦: http://www.ibm.com/developerworks/linux/library/l-embedded-virtualization/

> Mach, Chorus (1985-1994)

這部份我會再補充。

> L3 & L4 (1990-2001)
> seL4, Coyotos, Nova (2000-present)
>
> news: Hypervisor technology claim 100 percent bug-free

來源:
http://www.linuxfordevices.com/c/a/News/NICTA-sel4-OK-Labs-OKL4/
基本上就是 seL4 的研究

> Mach microkernel access permissions on system calls
>
> Check access ACL

所以後來基本上 L4 都出現了 capability based 的設計。另外,現有 L4 家族的成員可見:
http://l4hq.org/
該網頁沒有持續更新,但有幾篇不錯的研究論文。

> Cache misses
> Async IPC
> Virtual memory
>
> L4 Minimality Principle
> Fred Books

這部份應該加強一下,觀念比較連貫,我會在簡報修正。

> IBM developer work - visualization for embedded system
>
> What properties do we expect from Kernel?
>
> IDL = Interface Definition Language
>
> Linux process manage <-> L4 Pager (Important)
>
> L4 History: V2 API
> -> Fiasco (Pentium): C++ (code generator with IDL)
>
> L4 History: X.2/V4 API
> -> L4KA: C++, NICTA/UNSW
> + AMSS
>
> L4 Present: OKL4
> -> Commercially-developed L4 system by Open Kernel Labs (OK Labs)
> -> seL4
>
> L4 Next: High security API
>
> CODE ZERO Embedded Hypervisor and OS
>
> code.google.com/p/tmk-project

基本上 TMK (Tiny Micro-Kernel) 就是另一個 L4 microkernel 的實做,再度簡化,在 IA32
上,kernel 本身的 code size 約 14 KB

預計採取 BSD License 釋出,也會搭配教材。

> L4Ka -> IPC
>
> GUI into L4 or not microKernel?
>
> → FIASCO-UX MicroKernel

http://os.inf.tu-dresden.de/fiasco/prev/ux/

>
> SMP IRP/Caches -> OK Labs (4 guest OS/ 4 core cpu) (it can turn off 3 of 4
> and 4 Guest OS keep running)

這部份我稍候補充。

> Trap <-> RPC
> => Sending Small Data Size and try to minimize transfer action-> hardware


> design (ex: memory page 4K, avoid page fault)

> => Unique Identifiers
> SMP (multi-core cpu)
> => solve IRP sharing
> => solve cache conflict issue
>
> Reference
> http://en.wikipedia.org/wiki/Microkernel

Jim Huang

unread,
Feb 7, 2012, 11:46:49 AM2/7/12
to julu...@googlegroups.com
在 2012年2月7日下午11:59,Ben <ben...@gmail.com> 寫道:
> Notes 02-07
[...]

> L4 Present: OKL4
> -> Commercially-developed L4 system by Open Kernel Labs (OK Labs)

突然想到很久以前的測試報告:
http://orzlab.blogspot.com/search/label/l4

基本上 OKL4 3.0 是 OKLabs 最後的 open source 版本,自 4.0 版開始,更名為 Microvisor (取自
Microkernel-based hypervisor),也不再開放了。
http://wiki.ok-labs.com/

Regards,
-jserv

way

unread,
Feb 7, 2012, 8:04:42 PM2/7/12
to julu...@googlegroups.com
感謝分享 !!

釋出時,如果有人的期末專題是把LINUX跑在TMK(台北牛乳大王) 上應該會得100分吧

可以試試看看~所以不知道這KERNEL是否有針對這點去考慮

Jim Huang

unread,
Feb 9, 2012, 5:28:39 PM2/9/12
to julu...@googlegroups.com
在 2012年2月8日上午12:15,Jim Huang <jser...@gmail.com> 寫道:
> 在 2012年2月7日下午11:59,Ben <ben...@gmail.com> 寫道:
>> AMSS -> L4 micro kernel based
>
> AMSS = Advanced Mobile Subscriber Software (Qualcomm)
> 關於 OKLabs 的商業化,可參考前 CTO 的介紹:
> http://www.nicta.com.au/__data/assets/pdf_file/0019/23509/BP_GH_Slides.pdf

AMSS 的圖文並茂簡介:
http://blog.csdn.net/yili_xie/article/details/5129469

「AMSS的source實際上是QC BREW(Binary Runtime Environment For
Wireless)平台的的底層部分,去掉了為應用程序提供接口的AEE(application execution
environment)部分,高通在Dual Proc芯片上的其他平台基本上都是採用的這樣的架構」

Regards,
-jserv

Jim Huang

unread,
Feb 9, 2012, 5:32:10 PM2/9/12
to julu...@googlegroups.com
在 2012年2月8日上午9:04,way <wayl...@gmail.com> 寫道:
> 在 2012年2月8日上午12:15,Jim Huang <jser...@gmail.com> 寫道:
>> 在 2012年2月7日下午11:59,Ben <ben...@gmail.com> 寫道:
[...]

>>> code.google.com/p/tmk-project
>>
>> 基本上 TMK (Tiny Micro-Kernel) 就是另一個 L4 microkernel 的實做,再度簡化,在 IA32
>> 上,kernel 本身的 code size 約 14 KB
>
> 釋出時,如果有人的期末專題是把LINUX跑在TMK(台北牛乳大王) 上應該會得100分吧
> 可以試試看看~所以不知道這KERNEL是否有針對這點去考慮

好像也是個方向 :-)

不過我比較期望有人可以利用 tmk (指作業系統) 來跟 TMK (Taipei Milk King) 建立一些關聯,比方說控制攪拌器或者其他週邊硬體

[*] http://www.tmkchain.com.tw/

odie

unread,
Feb 10, 2012, 11:56:33 AM2/10/12
to 星系統社群

之前有找過oskit的資料
http://man.lupaworld.com/content/develop/joyfire/project/2.html

不過專案死掉後就好少人討論

On 2月8日, 上午12時15分, Jim Huang <jserv...@gmail.com> wrote:
> 在 2012年2月7日下午11:59,Ben <benw...@gmail.com> 寫道:
>
> > Notes 02-07
>
> 啊,好像忘記邀請前來指教的朋友,加入此郵件論壇以交流 :)
>
> > On u-Kernel Construction
> > 15th ACM Symposium on OS Principles (1995)
>
> 摘要:http://www-cs-students.stanford.edu/~dbfaria/quals/summaries/Liedtke-...
>
> > AMSS -> L4 micro kernel based
>
> AMSS = Advanced Mobile Subscriber Software (Qualcomm)
> 關於 OKLabs 的商業化,可參考前 CTO 的介紹:
> http://www.nicta.com.au/__data/assets/pdf_file/0019/23509/BP_GH_Slide...
>
> 2005 年出現的新聞稿:
> http://www.linuxfordevices.com/c/a/News/Open-source-virtualization-te...
>
> 15 億台 L4 microkernel 出貨量紀錄:
> OK Labs Software Surpasses Milestone of 1.5 Billion Mobile Device
> Shipments
> http://www.ok-labs.com/releases/release/ok-labs-software-surpasses-mi...
>
> 不過 Qualcomm AMSS 的文件基本上沒有公開釋出,得支付龐大的授權金才能取得。
>
>
>
> > DEC VMS -> WNT
>
> 這個笑話的梗在於:
> http://www3.sympatico.ca/n.rieck/docs/Windows-NT_is_VMS_re-implemente...
>
> "VMS + 1 = WNT" makes no more sense than "IBM - 1 = HAL" (see HAL 9000)"
>
> 話說 Microsoft 在 1990 年代的開發策略真的很特別,竟然可以平行開發兩個本質截然不同的產品線。
>
> > HyperKernel
>
> 是 hybrid kernel :)
>
> > Exokernel
>
> http://pdos.csail.mit.edu/exo.html
>
> > OSKit 猶他大學
> > ﹣ 4~5行code 可實作出sleeping kernel
>
> OSKit:
> http://www.cs.utah.edu/flux/oskit/
>
> > Wiki -> microkernel definition
> > 3 Generations of Microkernel
>
> 好文推薦:http://www.ibm.com/developerworks/linux/library/l-embedded-virtualiza...

Jim Huang

unread,
Mar 3, 2012, 5:16:04 PM3/3/12
to julu...@googlegroups.com
在 2012年2月8日上午12:15,Jim Huang <jser...@gmail.com> 寫道:
> AMSS = Advanced Mobile Subscriber Software (Qualcomm)
> 關於 OKLabs 的商業化,可參考前 CTO 的介紹:
> http://www.nicta.com.au/__data/assets/pdf_file/0019/23509/BP_GH_Slides.pdf
> 2005 年出現的新聞稿:
> http://www.linuxfordevices.com/c/a/News/Open-source-virtualization-technology-sees-commercial-use/
[...]

> 不過 Qualcomm AMSS 的文件基本上沒有公開釋出,得支付龐大的授權金才能取得。

Google Code 上有一個專注於揭露 AMSS 設計的專案:
http://code.google.com/p/docl4amss/wiki/Main

這應該是目前公開資訊最清楚的匯集處了。

Regards,
-jserv

Jim Huang

unread,
Mar 11, 2012, 12:13:14 PM3/11/12
to julu...@googlegroups.com
在 2012年3月4日上午6:16,Jim Huang <jser...@gmail.com> 寫道:
> 在 2012年2月8日上午12:15,Jim Huang <jser...@gmail.com> 寫道:
>> AMSS = Advanced Mobile Subscriber Software (Qualcomm)
> Google Code 上有一個專注於揭露 AMSS 設計的專案:
> http://code.google.com/p/docl4amss/wiki/Main
> 這應該是目前公開資訊最清楚的匯集處了。

Guillaume Delugré 有一場對 Qualcomm baseband 作逆向工程的演講,錄影如下:
http://www.youtube.com/watch?v=IWSCdpAeONA

該影片的簡介:
"From the study of a simple 3G USB stick equipped with a Qualcomm
baseband, we will discuss how to dump the volatile memory,
reverse-engineer the proprietary RTOS, and ultimately execute and
debug code while trying to preserve the real-time system constraints."

Sincerely,
-jserv

Reply all
Reply to author
Forward
0 new messages