![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>ライブラリとAPIの関係とは全然違うんですか?
カーネルが用意した機能を、シェルが定められた方法で使うという点で、ライブラリとAPIの関係と捉えることも出来ます。
が、カーネルにはユーザランドでのライブラリとは決定的に違う点があります。それは No2 の方が書かれている「特権モード」で動いているということです。
「特権モード」というのは CPU が複数持つモードの一つです。各モードによって実行できる命令が制限されます。特権モードは、なんでも出来ちゃうモードのことです。詳しくは参考URLをどうぞ。
カーネルは特権モードで動いているから何でもできちゃうのです。言い方を変えると、特権モードでやりたいことがあって、それに関するプログラムを一箇所にまとめたものがカーネルだということも出来ると思います。
ユーザランドプログラム(例えばシェル)は、そうではないので一部の処理を実行できません。この場合、カーネルに代理実行をお願いすることになります。
では、特権モードでしか実行できない処理とは何でしょうか。
一例をあげれば外部デバイス(ディスク,キーボード,ディスプレイ etc)へのアクセス、全メモリ領域へのアクセスなどは特権モードでしか実行できません。
このあたりに関連する処理は必然的にカーネルのお仕事になります。
参考URL:http://ja.wikipedia.org/wiki/%E7%89%B9%E6%A8%A9% …
No.4
- 回答日時:
linuxのシェルは、ユーザモードで動いています。
カーネルから見たら、ただのアプリです。linuxはソースが公開されているので、カーネルだろうがシェルだろうが触り放題ではありますが。。。。
No.3
- 回答日時:
BIOSとシェル・カーネルを同一次元で語るのは誤った認識です。
BIOSというのはハードウェアの制御を割り込みという形で実現するサブルーチン群+ハード構成モニタプログラムと思ってください。当然、初期のIBM-PCのハード構成が基本となりますので、制御可能なハードウェアは基本的なデバイス(キーボード・VIDEO・タイマなど)に限られたものとなります。
カーネルとシェルは、そのまま日本語にすると「貝」です。
カーネルは「核」と訳され。シェルは「殻」となります。
システム(適切な単語ではないとつっこまれそうですが)はこの2つの関係を、貝のようなものの例えで名前がつけられています。
カーネルは、システムそのもののコントロールを行う役目のものなので、ユーザが直接触れることはできません。
そのユーザに利用環境として、コマンド入力などの操作環境を提供し橋渡しするのがシェルとなります。
ユーザが直接目にするのはSHELLでKERNELはその中身という関係です。
ANo.2さんの補足
本来、BIOSは機種アーキテクチャ(CPUなどハード)に依存します。
UNIX系(BSDなど)のシステムは各種のマシンに移植されて、機種依存が少ないことが自慢(?)のOSですが、Linuxに関しては、今でこそ様々な機種に対応しておりますが、もともとはIBM-PC(および互換機)で動作させることを前提に作られました。 そのため、他のUNIXにはない、カーネル自身で機種依存のはずのBIOSを呼び出す機能を標準で持っていました(最近のは中身を見る機会が減ったので知りませんが)。
UNIXはまずOSありきのシステムですが、Linuxはまずハードウェアありきのシステムだったのです。
この回答への補足
ありがとうございます。
>ユーザが直接目にするのはSHELLでKERNELはその中身という関係です。
検討違いだったらすいません。ライブラリとAPIの関係とは全然違うんですか?
No.2
- 回答日時:
Linux系OSのカテゴリでの質問ですので、こう答えますが:
PCのBIOSは起動時にしか働いていません。本来はデバイスドライバの一番下のレベルで動くものですが、その目的でBIOSを使っているのはMS-DOSあたりのOSです。
カーネルとは、OSを構成するプログラムのうち、メモリに常駐して、特権モードで動作しているものをいいます。
シェルは、利用者の入力(コマンド)を受付けて、それにしたがって指定されたプログラムの起動などを行う、プログラムのことを言います。
linux系OSではシェルは 単なる(そういう機能を持った)アプリケーションプログラムに過ぎません。
他のOSだと、シェルがOSのシステムプログラムの一部だったり(CLI)しますが。
この回答への補足
ありがとうございます。
カーネルは特権モードで、シェルはユーザモードで動作しているんでしょうか?これはユーザが触れるか触れないかの違いでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Vistaは本当にゴミOSな...
-
違いを教えください!!
-
フェイクRAIDとソフトウェアRAI...
-
/dev/nvme0n1p2 clean と表示さ...
-
最近、よくOpenWall という言葉...
-
パフォーマンスモニタの%Proces...
-
『カーネルとの通信中にエラー...
-
Dockerコンテナ(centos7.9)の...
-
カーネル再構築後に起動できま...
-
romfsってなんですか?
-
Fedora3上、OpenSwanでのVPNル...
-
OSの中身
-
UNIXからLINUXへのデータ移行に...
-
LinuxでIDE、SATAの認識順番に...
-
Linuxって何?
-
Linux」は有料のOSでUNIXは無料...
-
インターフェイスが認識しない
-
Libataパッチの適用方法
-
利用可能なカーネルの場所の調べ方
-
「クラスが登録されていません 」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
/dev/nvme0n1p2 clean と表示さ...
-
Linux 32Bitと64Bitのメモリー...
-
カーネルバッファとは何でしょうか
-
SolarisとLinuxの違い
-
romfsってなんですか?
-
カーネルアップグレード後、una...
-
SunOS5.x と Solarisの違いは?
-
UNIXとBSDとLinuxの違いを小学...
-
エラー”Illegal seek”はどんな...
-
BSDでフォーマットされたHDDは...
-
違いを教えください!!
-
パフォーマンスモニタの%Proces...
-
Dockerコンテナ(centos7.9)の...
-
魔改造版Windows 2000をインス...
-
Windows Vistaは本当にゴミOSな...
-
kernel 2.4.XX.ELsmp のELって?
-
割り込み不可能?なプロセスを...
-
Debian で時間が経つと画面が消...
-
/proc/sys/net/ipv4/route/flus...
-
デュアルコアCPUをシングルにし...
おすすめ情報