UNIX等ではシェルとカーネルの概念は有名ですが、Windowsにもシェルとカーネルの概念があると聞きましたが、具体的にはどの機能(?)がシェルに当たるのでしょうか?
UNIXとかならシェルはコマンドラインの命令をカーネルに伝える、というのでなんとなく分かるのですが、Windowsでは基本的にはGUIで操作するのでどこがシェルなのかな?と疑問に思います。
(コマンドプロンプトで実行する際はWindowsでのシェルの役割が何となく認識できますが)
どなたか分かる方、ご意見・ご回答お願いします。
(乱文ですいません)
No.1
- 回答日時:
お返事どうもありがとうございます。
エクスプローラと聞いた時は検索の方のエクスプローラの意味かと思ってしまいました。
ちなみに紹介URL肝心の3,4がリンクが貼ってなくて少し残念でした。まあトラブルがあってもいけないのであまりシェルは気軽に変えない方がいいかもしれませんが。
No.2
- 回答日時:
GUIか否かによらず、最初に「ユーザごとのUI」を提供するプログラムがシェルです。
「ユーザごとの」という限定を付けたのは、「ログオン操作」というUIを「シェル」の範疇から除外するためです。UNIX系ではgetty等、Windows NT系ではwinlogon.exe等が「ログオン操作」のUIを提供します。Windows 95以降のWindowsの標準シェルはエクスプローラ(explorer.exe)です。Windows 3.xではプログラムマネージャ(progman.exe)。
Windows XPを使っている場合、ブートメニューで「セーフモードとコマンドプロンプト」を選択すると、コマンドプロンプト(cmd.exe)がシェルになります。またMicrosoftが提供する標準telnetサーバを使用する場合もコマンドプロンプトがシェルになります。
お返事どうもありがとうございます。
>「ユーザごとの」という限定を付けたのは、「ログオン操作」というUIを「シェル」の範疇から除外するためです。
すいませんが、この意味がよく分からないので出来たらもう少しわかりやすい説明お願いします・・・
(理解力無くてすいません・・・)
No.3ベストアンサー
- 回答日時:
シェルはUIを提供します(これはOKですね?)。
しかし、UIを提供するものすべてがシェルではありません。UIを提供するプログラムには、大きく分けて
1. ユーザを識別するためのUIを提供するもの。(ログオン操作)
2. 1.が識別したユーザに対して最初のUIを提供するもの。(シェル)
3. 2.によって起動されるもの。(アプリケーション)
4. 1.によらず(ユーザを識別せずに)起動されるもの。(デーモン、サービス等のシステムプログラムでUIを持つもの)
の4種類があります。
シェルの定義としてただ単に「最初にUIを提供するプログラム」と書くと1.になってしまうので、1.を除外するために「最初に『ユーザごとの』UIを提供するプログラム」という限定を付けました。
お返事どうもありがとうございます。
今回のご説明でやっと理解できました。
なるほど、ログオン操作はWindows NT系ではwinlogon.exeというものが提供し、各ユーザがログインした後にシェルの役割が始まるのですね。
ちなみにまたまた追加質問で申し訳ないのですが、普通にWindowsを起動している状態でコマンドプロンプトを起動した場合は、シェルを二重(エクスプローラとコマンドプロンプト)で開いていると言うことになるんでしょうか?
No.4
- 回答日時:
そのような理解でよろしいかと思います。
UNIX系で「シェル」と呼ばれるものにsh, csh, bash等いろいろあり複数同時にも利用できるように、Windows系でもexplorer.exeとcmd.exeがあり同時に利用することもできるということになります。
お返事どうもありがとうございます。
>UNIX系で「シェル」と呼ばれるものにsh, csh, bash等いろいろあり複数同時にも利用できるように、Windows系でもexplorer.exeとcmd.exeがあり同時に利用することもできるということになります。
なるほど、確かにこう言われれば分かりやすいですね。
今回は本当に勉強になりました。
分かりやすい説明どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- UNIX・Linux Thunderbirdで既読にしても、シェルにログインするとYou have mail.と表示される 3 2022/09/10 08:40
- UNIX・Linux Linuxのシェル関数を作成して要件を満たす方法 1 2022/11/19 20:33
- アクセサリ・腕時計 オメガコンステレーションの文字盤をシェルの物にするか、ステンレスにするか迷っています。 シェルは綺麗 1 2022/06/16 22:49
- レディース ロレックスのレディデイトジャストが欲しいです。 ロレックスへたくさん通っていますが 一回も出会えませ 1 2023/07/08 22:15
- その他(アウトドア) ガソリンスタンドで例えば山田石油というところがあって、そこの看板がシェルになったり出光になったり、ユ 2 2023/01/28 23:07
- 車検・修理・メンテナンス エネオスのスタンドって高い? 6 2023/02/25 13:07
- その他(OS) IDEを使うことって本当にいいことなんですか? 2 2023/07/05 16:10
- その他(車) 自分に合うガソリンスタンドは? 8 2023/02/10 09:52
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.cshrc ファイルについて
-
Cシェル内でBシェルの様な関数...
-
シェルにて日付計算して値を取...
-
Cシェルでのファイルからの入...
-
export と set は違うの?
-
シェル(ksh)で変数にある文字列...
-
シェルとシェルの間で環境変数...
-
mac os x10.6.4のターミナルでp...
-
(PC初心者)シェルスクリプト...
-
バックスラッシュの意味がわか...
-
Linuxのファイル禁止文字
-
シェル内で自動ユーザ変更
-
makefile内の$$$$の意味
-
↑で前のコマンドを出したい
-
ターミナルが全く入力できない
-
ログインシェルの役割
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
batである文字列内に特定の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Cシェル内でBシェルの様な関数...
-
export と set は違うの?
-
ターミナルが全く入力できない
-
ubuntuの端末の左にカレントデ...
-
シェルスクリプトで #!/bin/sh ...
-
.cshrc ファイルについて
-
バックスラッシュの意味がわか...
-
シェル 会話形式でエンターキ...
-
『存在するかどうか分からない...
-
シェルスクリプトに関する問題...
-
lsコマンド部分一致方法
-
シェルスクリプトのbashとperl...
-
シェル(ksh)で変数にある文字列...
-
mac os x10.6.4のターミナルでp...
-
Linuxのファイル禁止文字
-
Solarisでデフォルト環境変数の...
-
ps -aのセッションリーダとは
-
csh (tcsh)での環境変数の長さ...
-
Cシェルでのファイルからの入...
-
tcshなのにスクリプト構文中のs...
おすすめ情報