マイクロカーネルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > マイクロカーネルの意味・解説 

マイクロカーネル【microkernel】

読み方:まいくろかーねる

オペレーティングシステム中核部であるカーネルに、特に汎用性の高い基本機能だけをもたせて小型化したもの


マイクロカーネル

【英】microkernel

マイクロカーネルとは、OS中核部分であるソフトウェア群(カーネル)に必要最小限機能だけを搭載することで、小型化と処理の高速化を図る手法のことである。あるいは、そのように設計されカーネルのこともマイクロカーネルと呼ぶ。

通常のカーネルには備わっている機能は、独立した外部モジュールとして切り離されている。マイクロカーネル自体は、メモリー管理割り込み要求プロセス交信など、汎用性の高い機能だけを備える。この構造カーネル内部の処理の並列化実現し、処理能率向上している。同時に小型化実現される

マイクロカーネルの概念取り入れた製品としては、カーネギーメロン大学開発したMachマークオペレーティングシステムなどが代表的である。Windows NTWindows 2000内部にもマイクロ カーネルの技術取り入れられており、HALHardware Abstraction Layer)と呼ばれるハードウェア依存部分独立した形をとっている。

マイクロカーネルでは、外部機能モジュールプログラム部品)として外部用意されるカーネル出された処理要求多くは、カーネル内部から外部モジュール呼び出して行われることになる。モジュール化されることで、機能整理しやすくなり、追加移植容易になるメリットがある。ただし、純粋なマイクロカーネルの構造にしてしまうと、サブシステム間での通信や、サブシステムコアOSとの間でのスイッチにかかるオーバーヘッド大きくなり、実用的でなくなる。そのためWindows 2000では、HALと各サブシステムとの間にExecutiveエグゼクティブ)と呼ばれる中間層設け、ここにネットワークグラフィックス機能組み込むことで、オーバーヘッド低減させるようにしている。

マイクロカーナルに対して従来カーネルにおける(カーネル様々な機能実装していく)手法がは、モノリシックカーネル呼ばれるモノリシックカーネル採用している代表的なOSとしてはLinuxがある。

ソフトウェアのほかの用語一覧
OS:  LiveUSB  Mac OS  MS-DOS  マイクロカーネル  マルチタスク  内部コマンド  ノンプリエンプティブマルチタスク

マイクロカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/12 01:55 UTC 版)

マイクロカーネル: microkernel)とはオペレーティングシステム (OS) の設計思想、及びそのようなOSのカーネル部の名称である。OSが担う各種機能のうち、必要最小限のみをカーネル空間に残し、残りをユーザーレベルに移すことで全体の設計が簡素化でき、結果的にカスタマイズ性が向上し、性能も向上できるというOSの設計手法のことである。カーネル本体が小規模な機能に限定されるので「マイクロカーネル」と呼ばれるが、必ずしも小さなOSを構成するとは限らない。


  1. ^ Porting UNIX/Linux Applications to Mac OS X”. Apple. 2011年4月26日閲覧。
  2. ^ a b c Liedtke, Jochen (September 1996). “Towards Real Microkernels”. Communications of the ACM 39 (9): 70–77. doi:10.1145/234215.234473. 
  3. ^ Heiser, Gernot; Uhlig, Volkmar and LeVasseur, Joshua (January 2006). “Are Virtual-Machine Monitors Microkernels Done Right?”. ACM SIGOPS Operating Systems Review (ACM) 40 (1): 95–99. doi:10.1145/1113361.1113363. 
  4. ^ Liedtke, Jochen (December 1993). "Improving IPC by kernel design". 14th ACM Symposium on Operating System Principles. Asheville, NC, USA. pp. 175–88.
  5. ^ QNX High Availability Toolkit
  6. ^ 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 2009年6月8日閲覧。. 
  7. ^ Alexander, Michael T. (1971). “Organization and Features of the Michigan Terminal System”. Proceedings of the November 16–18, 1971, fall joint computer conference 40: 589–591. doi:10.1145/1478873.1478951. 
  8. ^ Lions, John (1977-08-01). Lions' Commentary on UNIX 6th Edition, with Source Code. Peer-To-Peer Communications. ISBN 978-1-57398-013-5 
  9. ^ a b Liedtke, Jochen (December 1995). "On µ-Kernel Construction". 15th ACM symposium on Operating Systems Principles. pp. 237–250. doi:10.1145/224056.224075
  10. ^ 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. 120–33. 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. 28–31.
  12. ^ Gray, Charles; Chapman, Matthew; Chubb, Peter; Mosberger-Tang, David; Heiser, Gernot (April 2005). "Itanium—a system implementor's tale". USENIX Annual Technical Conference. Annaheim, CA, USA. pp. 264–278.
  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. 11–21. 2007年4月1日閲覧
  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: 66–77. 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. 109–114.
  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): 654–664. 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. 2016年3月3日時点のオリジナルよりアーカイブ。
  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. ^ a b Klein, 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. ^ a b TUD Home: Operating Systems: Research: Microkernel & Hypervisor”. Faculty of Computer Science. Technische Universität Dresden (2010年8月12日). 2011年11月5日閲覧。
  24. ^ Steinberg, Udo; Kauer, Bernhard (April 2010). "NOVA: A Microhypervisor-Based Secure Virtualization Architecture". Eurosys 2010. Paris, France. pp. 209–222.
  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



マイクロカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/16 14:38 UTC 版)

カーネル」の記事における「マイクロカーネル」の解説

詳細は「マイクロカーネル」を参照 マイクロカーネルとは、伝統的なカーネル」から「サーバ」群に機能移転するOS設計方針意味し最小化したカーネルだけをカーネル空間残しサーバ群を可能な限りユーザ空間動作させる。マイクロカーネルでは、ハードウェア単純な抽象化最小プリミティブシステムコール)で最小OSサービス実装する(メモリ管理マルチタスクプロセス間通信など)。他の全てのサービスネットワークなど)は「サーバ」としてユーザ空間実装される。マイクロカーネルはモノリシックカーネルよりも保守容易だが、システムコール回数コンテキストスイッチ回数増大するために性能低下する傾向がある。 どうしても特権モードなければならない部分だけがカーネル空間置かれる。それは、IPCプロセス間通信)、基本スケジューラ(スケジューリング・プリミティブ)、基本メモリハンドラ、基本I/Oプリミティブなどである。スケジューラ本体メモリ管理ファイルシステム、ネットワークスタックといった大部分ユーザ空間動作する。マイクロカーネルは、システム機能全体プロセッサのシステムモードで動作する1つプログラムになっているモノリシックカーネル設計方針への反発から生まれた。マイクロカーネルを採用したOSとしては、QNXGNU Hurd がある。マイクロカーネルは基本的に次のような長所を持つ。 保守相対的に容易である。 パッチ評価が容易である。 すばやく開発でき、多く場合カーネル再起動しなくとも評価可能。 サーバ障害発生しても、運用上のミラー代行可能なことが多くバグへの耐性が高い。 多くのマイクロカーネルは、何らかのメッセージパッシングシステムを採用しており、サーバからサーバへの要求転送を行う。一般にマイクロカーネルがそのためのポート用意している。例えメモリ追加要求を送ると、マイクロカーネルのあるポート開き、そこを通して要求転送される。マイクロカーネルにメッセージ受信されると、その後システムコールのように処理される。これによってシステムアーキテクチャモジュール性高まりシステムがより整理されデバッグ動的変更容易になり、ユーザーニーズ従ったカスタマイズが可能となる。AIXBeOSHurdmacOSMINIXQNX といったOS多かれ少なかれマイクロカーネルの設計方針取り入れている。マイクロカーネル自体は非常に小さいが、システム機能全体構成するコード全て集めると、モノリシックカーネルよりも大きいことが多い。モノリシックカーネル支持派また、マイクロカーネル方式2層構造によりOS大部分ハードウェア直接相互作用できなくなるため、決し小さくないコスト上乗せされ、システム効率低下させる主張している。マイクロカーネルは通常アドレス空間義部プロセス間通信 (IPC)、プロセス管理といった最小限サービスだけを提供するハードウェア処理といった他の機能はマイクロカーネルで直接扱うことはない。マイクロカーネル支持派は、モノリシックカーネルでのエラーバグ)がシステム全体クラッシュ引き起こすという欠点指摘する。しかしマイクロカーネルでは、サーバクラッシュしてもそのサービス再起動することでシステム全体クラッシュを防ぐ可能性がある。しかし、現にLinuxなどのモノリシックカーネルは年単位安定動作している実績があり、このようなマイクロカーネルの利点どれほど重要かは疑わしいネットワーキングなどのカーネルサービスは「サーバ」と呼ばれるユーザ空間プログラムとして実装される。サーバ停止再起動するだけでOS更新可能である。例えネットワークサポートしていないマシンで、ネットワークサーバ起動する必要がないサーバ群やカーネルの間でデータやり取りする作業があるため、モノリシックカーネルにはないオーバヘッド生じ効率低下する。 マイクロカーネルの短所例え次のようなものがある。 全体としてメモリをより多く使用するインタフェースを持つソフトウェアの数が多く性能低下可能性がある。 サーバ群とカーネル間のメッセージングバグがあると、検出が困難である。 プロセス管理一般に非常に複雑になりうる。 使用状況によってはマイクロカーネルは不利になる単一用途システムでは動作するプロセス数が小さいため、マイクロカーネルがよく機能しプロセス管理複雑さもあまり問題にならない。 マイクロカーネル方式では、OSの他の部分通常のアプリケーションのように高水準言語書くことができ、同一カーネル上で異なOS(のインタフェース)を使用するともできる。また動的にOS切り換えたり、複数OS同時に使用するともできる

※この「マイクロカーネル」の解説は、「カーネル」の解説の一部です。
「マイクロカーネル」を含む「カーネル」の記事については、「カーネル」の概要を参照ください。


マイクロカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/06/27 14:01 UTC 版)

JavaOS」の記事における「マイクロカーネル」の解説

システムはハードウェアアーキテクチャネイティブなマイクロカーネルをベースとしている。 以下が、カーネル実行できるプラットフォームである。 ARM PowerPC RISC SPARC StrongARM x86

※この「マイクロカーネル」の解説は、「JavaOS」の解説の一部です。
「マイクロカーネル」を含む「JavaOS」の記事については、「JavaOS」の概要を参照ください。

ウィキペディア小見出し辞書の「マイクロカーネル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「マイクロカーネル」の関連用語

マイクロカーネルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



マイクロカーネルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリマイクロカーネルの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのマイクロカーネル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのカーネル (改訂履歴)、JavaOS (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS