Exokernel - oraccha/omicron GitHub Wiki
MITのPDOS(Parallel & Distributed OS)グループ M.Frans Kaashoek 教授らによるプロジェクト.
- [http://www.pdos.lcs.mit.edu/exo.html 本家]
- [http://amsterdam.lcs.mit.edu/exo/distrib.html Exopc Exokernel Distribution] . CVS リポジトリが公開されているみたい.
- Kaashoek氏は,MITに来る前は,AndrewTanenbaum教授の元でAmoebaに係っていたんだね.
論文
- Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr, Exokernel: an operating system architecture for application-level resource management. In the Proceedings of the 15th ACM SOSP, pp.251-266, 1995. ([http://citeseer.nj.nec.com/engler95exokernel.html ResearchIndex])
- [http://amsterdam.lcs.mit.edu/exo/exo-slides/sld001.htm Exokernels (or, making the operating system just another application library)] (slides)
Exokernelはハードウェアの多重化と保護だけを提供するカーネルであり,それ以外の抽象化はアプリケーションにリンクされるライブラリ(libOS)によって行われる.
- 言い直すと,OSはハードウェア資源を多重化するカーネルとその資源を抽象化するライブラリOSから構成される.従来のカーネルはハードウェア資源を管理し,抽象化して(例えば,Mach の pmap)提供していたが,Exokernel ではこれを libOS に任せてしまう.libOS は特権モードでは動作しないが,従来のOSの仕事をこなす.資源管理と保護の分離が Exokernel の肝である.
- 保護が必要な場合はカーネル呼出しが必要だが,大半の処理はライブラリ内で完結し,IPCの必要がない.
- このようにカーネルのポータビリティを重視せず,ハードウェアに合わせて最適化しようというのが Exokernel や L4 などの特徴.