コンテンツにスキップ

マイクロカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
モノリシックカーネル及びマイクロカーネルのOSの構成
マイクロカーネルの概念図

: microkernel (OS) OSOSOSOS

OS

[]






OS

OS

OS



(co-location)

[]


OSUNIX1632

UNIX Berkeley Software Distribution (BSD) OSBSDTCP/IPUNIXOSOS

UNIX

OS





UNIXOS

調UNIXUNIXI/O

1980OSOS

OS使

1980 Local Area Network 使Mach1990OSMach2000MachOPENSTEPXNUMach Darwin  macOS [1]2012Mach GNU Hurd  Arch Linux  Debian 

使使 (nanokernel) 使

[2][3]L4使

OSOSMach4.4BSDFUSELinuxZFS

[]


 (IPC) 使IPCIPCOSIPC使

IPCIPCIPC2IPCIPC

IPCIPC IPCL4IPC101[4]IPC direct process switch IPCL4 (RPC) IPC1 lazy scheduling IPCIPC

使L4IPCIPC使IPCL4

IPCIPC使DoSIPCIPCIPCL4MINIXQNXL4

[]




Unix

TCP/IPQNX QNX High Availability Toolkit [5]

 ChorusOS 

[]


Direct Memory Access (DMA) 

DMAIOMMUIOMMU使[6]

1967 Michigan Terminal System (MTS) [7]Unix[8]Linux Windows XP Windows

[]


OS

 - 

CPU -  scheduler activations 

 - 

 Per Brinch Hansen  Nucleus IBMVM

[9]

I/O

[2]



使L4LynxOSMINIXOS

IPCIPCCPU

[]


[2]1使2CPUIPCIPC

MachChorusOS[10]MachMach使[9]L4IPCMach101L4IPC[11][12][13]

L4LinuxL4Linux[14]OS

QNXIntegrity調OSIBM Sawmill Linux [15]

[16]

[]


[17][18] (TCB) TCB

KeyKOSEROS (CC)  (EAL) 7

[]


APIAPIEROSEROS API [19]L4 seL4 [20]

[21]API[22]CoyotosseL4Nova[23][24]Fiasco.OC[23][25]

seL4[21]APICC EAL7 

[]


 (nanokernel)  (picokernel) 使

(一)調使 Jonathan S. Shapiro The KeyKOS NanoKernel Architecture (1992) 使MachMach使使

(二)OS

(三)  Adeos OS使

1[26]

脚注[編集]



(一)^ Porting UNIX/Linux Applications to Mac OS X.  Apple. 2011426

(二)^ abcLiedtke, Jochen (September 1996). Towards Real Microkernels. Communications of the ACM 39 (9): 7077. doi:10.1145/234215.234473. 

(三)^ Heiser, Gernot; Uhlig, Volkmar and LeVasseur, Joshua (January 2006). Are Virtual-Machine Monitors Microkernels Done Right?. ACM SIGOPS Operating Systems Review (ACM) 40 (1): 9599. doi:10.1145/1113361.1113363. 

(四)^ Liedtke, Jochen (December 1993). "Improving IPC by kernel design". 14th ACM Symposium on Operating System Principles. Asheville, NC, USA. pp. 17588.

(五)^ QNX High Availability Toolkit

(六)^ Wong, William (2007-04-27). I/O, I/O, It's Off to Virtual Work We Go. Electronic Design. http://electronicdesign.com/article/embedded/i-o-i-o-it-s-off-to-virtual-work-we-go15350 200968. 

(七)^ Alexander, Michael T. (1971). Organization and Features of the Michigan Terminal System. Proceedings of the November 1618, 1971, fall joint computer conference 40: 589591. doi:10.1145/1478873.1478951. 

(八)^ Lions, John (1977-08-01). Lions' Commentary on UNIX 6th Edition, with Source Code. Peer-To-Peer Communications. ISBN 978-1-57398-013-5 

(九)^ abLiedtke, Jochen (December 1995). "On µ-Kernel Construction". 15th ACM symposium on Operating Systems Principles. pp. 237250. doi:10.1145/224056.224075

(十)^ Chen, Bradley; Bershad, Brian (December 1993). "The Impact of Operating System Structure on Memory System Performance". 14th ACM Symposium on Operating System Principles. Asheville, NC, USA. pp. 12033. doi:10.1145/168619.168629

(11)^ Liedtke, Jochen; Elphinstone, Kevin; Schönberg, Sebastian; Härtig, Hermann; Heiser, Gernot; Islam, Nayeem; Jaeger, Trent (May 1997). "Achieved IPC performance (still the foundation for extensibility)". 6th Workshop on Hot Topics in Operating Systems. Cape Cod, MA, USA: IEEE. pp. 2831.

(12)^ Gray, Charles; Chapman, Matthew; Chubb, Peter; Mosberger-Tang, David; Heiser, Gernot (April 2005). "Itaniuma system implementor's tale". USENIX Annual Technical Conference. Annaheim, CA, USA. pp. 264278.

(13)^ van Schaik, Carl; Heiser, Gernot (January 2007). "High-performance microkernels and virtualisation on ARM and segmented architectures" (PDF). 1st International Workshop on Microkernels for Embedded Systems. Sydney, Australia: NICTA. pp. 1121. 200741

(14)^ Härtig, Hermann; Hohmuth, Michael; Liedtke, Jochen; Schönberg, Sebastian (October 1997). The performance of µ-kernel-based systems. Proceedings of the sixteenth ACM symposium on Operating systems principles: 6677. doi:10.1145/268998.266660. ISBN 0-89791-916-5. http://portal.acm.org/citation.cfm?id=266660&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618. 

(15)^ Gefflaut, Alain; Jaeger, Trent; Park, Yoonho; Liedtke, Jochen; Elphinstone, Kevin J.; Uhlig, Volkmar; Tidswell, Jonathon E.; Deller, Luke; Reuther, Lars (2000). "The Sawmill multiserver approach". 9th ACM SIGOPS European Worshop. Kolding, Denmark. pp. 109114.

(16)^ Leslie, Ben; Chubb, Peter; FitzRoy-Dale, Nicholas; Götz, Stefan; Gray, Charles; Macpherson, Luke; Potts, Daniel; Shen, Yueting; Elphinstone, Kevin; Heiser, Gernot (September 2005). User-level device drivers: achieved performance. Journal of Computer Science and Technology 20 (5): 654664. doi:10.1007/s11390-005-0654-4. 

(17)^ Tanenbaum, Andrew S., Tanenbaum-Torvalds debate, part II

(18)^ Tanenbaum, A., Herder, J. and Bos, H. (May 2006).

(19)^ Shapiro, Jonathan S.; Weber, Samuel. "Verifying the EROS Confinement Mechanism". IEEE Conference on Security and Privacy. 201633

(20)^ Elkaduwe, Dhammika; Klein, Gerwin; Elphinstone, Kevin (2007). Verified Protection Model of the seL4 Microkernel. submitted for publication. http://www.nicta.com.au/pub?doc=1474 

(21)^ abKlein, Gerwin; Elphinstone, Kevin; Heiser, Gernot; Andronick, June; Cock, David; Derrin, Philip; Elkaduwe, Dhammika; Engelhardt, Kai; Kolanski, Rafal; Norrish, Michael; Sewell, Thomas; Tuch, Harvey; Winwood, Simon (October 2009). "seL4: Formal verification of an OS kernel" (PDF). 22nd ACM Symposium on Operating System Principles. Big Sky, MT, USA.

(22)^ Elkaduwe, Dhammika; Derrin, Philip; Elphinstone, Kevin (April 2008). "Kernel design for isolation and assurance of physical memory". 1st Workshop on Isolation and Integration in Embedded Systems. Glasgow, UK. doi:10.1145/1435458

(23)^ abTUD Home: Operating Systems: Research: Microkernel & Hypervisor. Faculty of Computer Science.  Technische Universität Dresden (2010812). 2011115

(24)^ Steinberg, Udo; Kauer, Bernhard (April 2010). "NOVA: A Microhypervisor-Based Secure Virtualization Architecture". Eurosys 2010. Paris, France. pp. 209222.

(25)^ Lackorzynski, Adam; Warg, Alexander (March 2009). "Taming Subsystems - Capabilities as Universal Resource Access Control in L4". IIES'09: Second Workshop on Isolation and Integration in Embedded Systems. Nuremberg, Germany.

(26)^ http://www.eecis.udel.edu/~mills/database/papers/nano/nano2.pdf

参考文献[編集]