マイクロカーネル【基本情報技術者・解説】

OSが提供する機能を最小限のメモリ管理やプロセス管理などに限定し
ファイルシステムなど他のOS機能はサーバプロセスとして実現されているものはどれか。

ア)シングルユーザモード
イ)マイクロカーネル
ウ)マルチスレッド
エ)モノリシックカーネル


問題文がすでに「ハァ?」だよね。(´@ω@)
頑張って解いていこう!

まず、今回は先に答えを言うと
(ア)のマイクロカーネルが正解なんだよ。

マイクロカーネルっていうのは
OSの中核部分(カーネル)に「絶対必要不可欠な特に重要な部分」だけを寄せ集め
残りの「最悪なくてもどうにかなる部分」を拡張機能として外出ししちゃった!
っていう設計がなされているOSの事だよ。(・ω・
*)

「最悪なくてもどうにかなる部分」ってなんだよ!
って思った人のために説明すると
例えば、こちらの記事の仮想記憶の仕組みなんてものは
最悪なくてもメモリは動く、いわば便利機能でしょう?
だから外出しでOKだね・
問題文にある「ファイルシステム」もそうだね。
ちなみにファイルシステムってのはデータ類を「フォルダ」で管理する仕組みのこと。
「新しいフォルダを作成」「フォルダを削除する」などがそれにあたるね。
ファイルシステムなんてなくてもパソコンは動くからね。
全部のファイルを1つのところにまとめちゃったらいいんだからさ。
(ただしものすごく見辛いだろうね…。)

ちなみに、このマイクロカーネルOSにすると何がいいのかというと
OS開発者が後から機能を追加しやすいっていうメリットがあるよ。
その他にもメンテが楽だったり、移植が楽だったり、とにかく開発がいろいろと捗る。


別にこのマイクロカーネルに限った話ではないんだよ。
プログラム開発というのは”絶対必要不可欠な中核の機能”があり
そこに”いろんな便利機能”をどんどん追加していく。
この開発手法が今の所最も効率がいいって言われてる方法なんだ。
iPhoneがあり、そこにどんどんアプリを追加していくようなイメージだね。(´・ω・`)

マイクロカーネルの他にもモノリシックカーネルっていう設計方法があるよ。
これはマイクロカーネルとは違って
「絶対必要不可欠な特に重要な部分」「最悪なくてもどうにかなる部分」
なんて分けずに、とにかくどんどこ機能を追加していく設計だよ。

かつての技術者達は
「モノリシックカーネルで開発なんて絶対効率わるいぜ、ださいぜえ〜」
って言ってマイクロカーネルに移ってしまったけど
LinuxOSなんかは未だにモノリシックカーネルを採用しているらしいね。

MacとWinはマイクロカーネルだそうだよ。
どのOSも現役だし、結局はマイクロでもモノリシックでも
結局どっちでもいいのかもしれないね。
一長一短だからさ。