質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

Q&A

3回答

12977閲覧

現在のOSが採用しているカーネルの種類

strike1217

総合スコア651

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

0グッド

0クリップ

投稿2017/06/06 07:24

OSのカーネル部に関する話です。

カーネル
・モノリシックカーネル
・マイクロカーネル
・ハイブリッド(モノリシック&マイクロ)カーネル
・ナノカーネル
・エクソカーネル

下の2つはよくわからないのですが・・・

Mac OSX はマイクロカーネルですよね。

よくUNIXは、モノリシックと聞きます。
MacはUnix系なのにどうしてマイクロなのでしょうか?
OSの進化と共に、UNIXのカーネル部もモノリシックからマイクロに移行してきた歴史がある
ということでしょうか??
それとも今も昔もずっとモノリシックのままですか?

Linuxがモノリシックカーネルである理由

UnixライクなLinuxは、昔と現在ではどのように違ったのですか?
昔はLinuxもモノリシックでしたの?
現在の4.xのバージョンのLinuxカーネルはマイクロでしょうか?

正直、よくわからないんですよね・・・
サイトによって違うので・・・
実際のところどうなっているのでしょうか??

windowsは・・・さっぱりわかりませんね。
windowsはかなりの安定OSなので、また独自の方式のカーネルを採用しているんですかね・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

「マイクロカーネルでは充分に性能が出ないから」じゃないですかね。
昔から機能毎に独立させるアイデアはありますが、モノリシックに書いても手間は変わらないし、その割には、スケジューラとそれぞれのカーネル間の通信コストがかかるような気がします。通信を簡単にしすぎると、どこかのカーネルの不具合が伝染するし、セキュアにすると安全性を担保する層を全部のマイクロカーネルに実装しないといけないし。

投稿2018/03/02 06:15

gm300

総合スコア580

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2018/03/02 09:19

マイクロカーネルでは性能が出せないんですか! 初めて知りました。 たしかに、マイクロカーネルを採用しているmacは不安定という話はよく聞きますが・・・ 最近のLinuxはモノリシック + ローダブルだそうです。
gm300

2018/03/03 22:24

推測ですが、安定度は悪くないのじゃないですかね。 同じコストのハードで、モノリシックの方がベンチの結果が良くなると期待しています。特に、OSのいろいろな機能を使うようなケースで、複数のプロセスでSSLでネットワーク越えのファイルを大量にopen/closeを行うようなケースは差が出るのじゃないかと思います。
strike1217

2018/03/03 23:18

パフォーマンスに大きく影響するわけですね。 なるほど!
guest

0

こんにちは。

OSの進化と共に、UNIXのカーネル部もモノリシックからマイクロに移行してきた歴史があるということでしょうか??

Unixは把握していませんが、Linuxは少なくとも数年前はまだモノシリックでした。

Linuxがモノリシックカーネルである理由は意図的かどうか分かりませんが、ミスリードしてますね。Linuxはモノシリックカーネルとモジュラーカーネル(マイクロカーネルとは書かれていない)のどちらとしてもコンパイルできると書かれてます。

確かにLinuxはモジュラーです。後からデバドラをロード/アンロートできますから。しかし、それらは全てカーネル空間で動作します。マイクロカーネルの特徴はデバドラ等の主な部分はユーザ空間で動作するようなのでそれには該当しませんね。

windowsは・・・さっぱりわかりませんね。

Windowsの件は、カーネルに次のように書かれてます。

ハイブリッドカーネル

モノリシックカーネルの高速性・単純性とマイクロカーネルのモジュール性・拡張性を組み合わせたのがハイブリッドカーネルである。
Windows NT系などの商用OSでよく見られる。アップルの macOS も、カーネギーメロン大学のMachとFreeBSDのモノリシックカーネルのコードをベースとしたXNUというハイブリッドカーネルを採用している。

投稿2017/06/06 08:07

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2017/06/06 08:57

マイクロカーネルとモジュラーカーネルは区別するんですね! 似ているので同じに扱ってました。
strike1217

2017/06/06 09:06

windows はハイブリッドなのですね! 分かりました。
guest

0

よくUNIXは、モノリシックと聞きます。

いま正式に「UNIX」を名乗れるのは、The Single UNIX Specificationをクリアしたものです。これは、「C言語のヘッダーファイル」「シェルプログラム」「システムコール」といった動作面について規定してあるもので、正しく動作すればカーネルの構造は問われません。この意味で、macOSは正式に認証を取ったUNIXです(The Open Group)。

投稿2017/06/06 07:50

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2017/06/06 07:54

正しく動作すればカーネルの構造は問われません。 え?そうなんですか! では、Unix系だからといってすべてがモノリシックに統一されているわけではないという事ですか?
maisumakun

2017/06/06 08:04

あまり順調とはいえませんが、マイクロカーネルでUnix系の実装を目指しているGNU Hurdというプロジェクトもあります。 なお、SUSの認証にはそれなりのコストがかかる上に、バージョンごとに取り直す必要もあるので、オープンソースのLinuxやBSD系ディストリビューションで認証を取ることはほぼありません。
strike1217

2017/06/06 09:06

現在、Unix系では、やはりモノリシック型が多いんですかね・・・?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問