シェルうんぬん書いていて思い出したけど

This entry was posted by on Sunday, 23 December, 2007

http://alfalfa.livedoor.biz/archives/51198686.html 全体的にはつまんないんだが(こういうスタイルで愚痴りたい人と共感する人がいるということはわかるが)、次のやつ。

75 仕様書無しさん :2007/10/16(火) 00:00:38 OS におけるシェルの役割に関する記述として,適切なものはどれか。 ア … アプリケーションでメニューからコマンドを選択したり,設定画面で項目などを選択したりするといったマウス操作を,キーボードの操作で代行する。 イ … 複数の利用者が共通資源を同時にアクセスする場合に,セキュリティ管理や相互排除(排他制御)を効率的に行う。 ウ … よく使用するファイルやディレクトリへの参照情報を保持し,利用者が実際のパスを知らなくても利用できるようにする。 エ … 利用者が入力したコマンドを解釈し,対応する機能を実行するように OS に指示する。 (ア)誤り ショートカットキーの説明である。 (イ)誤り セマフォの説明である。 (ウ)誤り UNIXではリンクの機能で、Windowsではショートカットの機能である。 (エ)正しい これってイじゃない? コマンドラインがシェルってLinux系(Mac)と古いWinだけで大多数のwindowsではアプリだよね デバイスもリソースだしなぜセモファがでてくるのか… ハッカーさまに詳しい解説希望

ハッカーではないけどイは違うだろう。

だってシェルは相互排除をしないでしょ。そもそもシェルは複数の利用者がアクセスするプログラムではないし(そういう実装があってもいいが)、したがって複数ユーザで共有する資源を管理するような概念は持たない。あくまでシェルはユーザインタフェースであって、共有資源の管理とかはOS(カーネル)の領分。

逆にエの「利用者が入力したコマンド」ということでコマンドラインシェルしか思い浮かべないのが誤りと言うこともできる。マウスの特定の操作もコマンドだと考えれば、その操作コマンド(特定のアイコンをダブルクリックするとかだ)を解釈実行して適当なアプリケーションを呼び出すなり何なりするのがシェルの役割ってわけ。

もっとも「ウ」については PATH とかがあるからシェルによって提供される機能だと言える気がするなあ(「OSにおけるシェルの役割」というと適切ではない気がするけど)。

Comments are closed.