• ベストアンサー

カーネルとはどんな意味ですか?

noname#245936の回答

  • ベストアンサー
noname#245936
noname#245936
回答No.1

カーネルは車で言うエンジン。 人間でいう脳みそ。 アンパンで言うアン?(笑) ソフトウェアの中心部になります。 ただ、この部分は、命令元素の集まりでして。 動詞として「覚える」「コピーする」「忘れる」など基本命令しか 無い…といいますか1動詞が行うことがとてもとても小さいので…。 …んー。そうですね。 例えば、人間で言いますと「車を運転する」というプログラムを カーネルだけでやらそうとすると、「視神経から色を識別し、 空間を認識、その位置を大脳皮質のどこどこブロックに保存して まずは、足の筋肉の足首第一から第四の筋肉を収縮しアクセル ペダルをXXKGの圧力で押下し、それに伴って三半規管の…」という ようにメチャクチャ細かい粒度の命令を投げまくってあげないと ちょこっとアクセルすら踏めません。 つまり、Excelで些細な一枚表を作るだけでも何千万の命令を 書いてやらないといけないわけです。 これは非常に面倒で…もーイヤ! ということで。 通常は、どのOSもカーネルの命令を扱いやすくまとめたライブラリ ファイルがあり、「フロッピーにアクセス」「プリンタで印刷する」と いったより具体的な判りやすい命令セットを周辺に持っており アプリケーションはそちらを利用しています。 よって、カーネルはエンジン。 ハンドル、ドアパネル、屋根、カーナビ、センサーなど人間に 扱いやすくしたインターフェースが周辺ライブラリということに なります。 さて。 この上記セットを我々は移動する乗り物、「車」と呼んでいる わけですが。 車にもいろいろありまして、トヨタの大衆車カローラやフェラーリ 四駆からバスなどいろいろ車種があります。 この総合セットが、OS、ディストリビューションということになり まして。 例えるであれば。 ・サーバはUNIXがいいよね、特にSolaris。  一般人を乗せるにはバスがいいよね。特に三菱ふそうのバスは  最強ですよね。内輪差があって操るの難しいけどシンプルだね。 ・クライアントはWindowsがいいよね。特にWindows2000。  一般人を運転させるにはカローラがいいよね。  安いし判りやすいじゃないですか。  ちょっとしょぼいけどみんなが使っているから安心。  たまにおかしいけどよく走るよ。 ・いやーMacですよ。  …んー、BMWがいいよね。  修理に金かかるけどかっこいいし頑丈。 こんな感じだと思います。 判りづらいでしょうかねェ…

armstrong-us
質問者

お礼

ご丁寧に説明いただきありがとうございました。 だいぶ理解出来ました。

関連するQ&A

  • カーネルを知るためには

    Linux、Solaris、FreeBSDなど様々なUNIX系OSを今までいろいろ管理してきましたが、カーネル内部といわれると僕にとって未だにブラックボックスになっています。実際カーネルハックしなければ分かるようにはならないと思いますが、必要性がなかったため、やりたいと思いつつ手付かずでした。 最近、デバイスドライバでも作れば少しはわかるようになるのかなぁとも思っていますが、それにしてもなんのドライバ?と、結局踏み切れません。 カーネルの本を読むんじゃなくて、実際いじりたいのですが、通常どういう風に入っていくんでしょうか?

  • シェルとカーネルについて。

    UNIX等ではシェルとカーネルの概念は有名ですが、Windowsにもシェルとカーネルの概念があると聞きましたが、具体的にはどの機能(?)がシェルに当たるのでしょうか? UNIXとかならシェルはコマンドラインの命令をカーネルに伝える、というのでなんとなく分かるのですが、Windowsでは基本的にはGUIで操作するのでどこがシェルなのかな?と疑問に思います。 (コマンドプロンプトで実行する際はWindowsでのシェルの役割が何となく認識できますが) どなたか分かる方、ご意見・ご回答お願いします。 (乱文ですいません)

  • カーネルのプロトコルスタック開発

    カーネル初心者です。 カーネルに実装されているTCP/IPプロトコルスタックを開発・デバッグしたいのですが、まったく手順が分かっておりません。。 カーネルの構築方法は分かるのですが、下記に示すように実装されている個々のプロトコルを開発・デバッグしてから、カーネルに組み込みたいと考えています。 1.TCP/IPプロトコルを開発・デバッグ 2.上記モジュールをカーネルに組み込みデバッグ #それともそもそもこんな手順でやらない? したがって、カーネル実装のプロトコルスタックについて、以下の2点をどなたかご教授いただけないでしょうか。 ・開発環境の作り方 ・デバッグの方法 開発のサンプルや参考ページもあわせて教えていただけると幸いです。(自力で探すことができませんでした。。) 英語サイトでも大丈夫です。 現在考えているのはLinuxかBSD系のOSですが、種類は問いません。 どうかよろしくお願いいたします。

  • Linux系OSとは?

    UNIX系OSというカテゴリが,いきなり細分化されたようですが,Solaris系とか,Linux系OSっていったいなんでしょう? BSD系はのれん分けが多くあるのでまだわかるのですが,SolarisやLinuxで分派したものって,具体的に何かありますか? また,UNIX系のうち,Soraris,Linux,BSD系だけ残って,HP-UXなどは十把一絡げで,UNIXともWindowsともつかない「その他」になるのでしょうか? Mac-OSはUNIXとHP-UXと同じカテゴリ?? Windows系というのも不思議.Windows以外のWindows系OSがあるのだろうか・・・・ 私が分けるなら, Windows,Mac,Linux,BSD系,その他UNIX系,それ以外(組み込み系など) かな.

  • カーネルとハードウェアの関係について

    Windowsはマイクロカーネルが基本的に使用されているとの事ですが、一部のUNIXやLinuxはモノリシックカーネルが使用されていると聞きます。 (違っていたらすいません) モノリシックカーネルはカーネルに対する依存度が高いとの事ですが、PCにモノリシックカーネル使用のOSをインストール後ハード的な部分(CPUやマザーボード等)を代えると起動しなくなるのでしょうか? またマイクロカーネルはハード的な部分を代えても問題ないのでしょうか?

  • MacOS10はUNIX?

    Apple社が、MacOS10は最も普及しているUNIXベースのOSであると 言っているらしいですが、Unixの系譜みたいな図を見ましたがmacは 載ってませんでした。ただ、ネットを見るとBSD系のOSである旨の ことを記述しているサイトは散見できます。 では、例えば、SYSTEMV系Unixは、○○と××であり、 BSD系Unixは▲▲と●●と定義する場合、MacOS10は、▲▲や●●と全く同列に語ってもよいのでしょうか?それとも部分的にBSD系のUnixの 機能を使っているといった感じなのでしょうか?

  • 最も安定しているフリーのUNIX系OSはなんですか?

    フリーのUNIX系OSには各種LinuxやBSD、Solaris等があると思うのですが、いったいどれが最も安定しているのですか? できれば稼動実績と技術的な側面の両方から回答をいただきたいです。

  • プロセス?ブロック?

    職場でC, C++で開発を行っているのですが、 最近、技術ミーティングなどで「プロセス」とか「プロセスをブロック」など の言葉を聞き、意味が良く分からず困っています。 OSのプロセススケジューリングによりブロックが起こるというような 基本的なことは分かっていますが、それをどのようにプログラミングで実装してよいのかが分かりません。 概要だけでしたらlinuxカーネルなどの基礎があればよいと思うのですが、 プログラミングで実践的にプロセスの扱い、プロセスとはこういうものだ!ということを学べる書物がありましたら教えてください。 具体的な書物でなくても、「マルチスレッドの本」というアドバイスでも結構です。 よろしくおねがいします。

  • OSXに、useraddコマンドは無いのでしょうか?

    現在ターミナルを使用中ですが、useradd/adduserが見つかりません。 Solaris10とかなり使い勝手が違うので戸惑っております。 1.ユーザ追加コマンドは無いのでしょうか?コントロールパネルで追加するしかないのでしょうか? 2.OSXはBSDベースということですが、普通のBSDのOSの入ったUNIX機として使うには違いが大きすぎなのでしょうか? 3.ユーザ情報は、/etc/passwdで見るのが一般的なのでしょうか? ご存知のものだけでも結構ですので、何かしら回答いただければ幸いです。

    • 締切済み
    • Mac
  • OSのおすすめ参考書は?

    OSの仕組みの勉強を始めようと思うのですが、OSの参考書で名著というか、評判のいい本ってありますか? UNIX系OS(というくくりが正しいかわからないのですが)の勉強をしようと思ってます。 今関心のある領域でよく出てくるキーワードは、 ・カーネルスレッド ・システムコール ・プロセス 等です。 漠然としてて申し訳ありませんが、よろしくお願いします。