PCのファイルシステムの役割として, 適切なものはどれか。
平成22年度 秋期 ITパスポート試験 問67
この問題の解説と、これまでの解答の記録です。
問 67
- ア
正解 正解は ア。ファイルシステムとは、OS がもつ、補助記憶装置上のデータをファイルとディレクトリ (フォルダ) という単位で管理するための仕組みである。ハードディスク、SSD、DVD、USB メモリなどは、記録の原理も、データが実際に置かれる物理的な位置の数え方 (セクタやトラック、クラスタの大きさ) もそれぞれ異なる。ファイルシステムはその違いを吸収し、アプリケーションプログラムに対しては「ファイル名でファイルを開き、読み書きし、閉じる」という共通の手順、すなわち統一されたインタフェースだけを見せる。そのおかげでアプリケーション側は、対象がハードディスク上のファイルなのか DVD 上のファイルなのかを区別するコードを書かなくても、同じ命令で同じように扱える。この、記録媒体の違いを意識させずにファイルへアクセスさせる抽象化の提供こそがファイルシステムの中心的な役割であり、ア がそれを正しく述べている。
不正解イ
入出力の終了待ちで止まっているプログラムから CPU を取り上げ、実行できる別のプログラムに割り当てるのは、OS の「タスク管理 (プロセス管理)」の役割であり、実際に CPU を割り当てる部分はディスパッチャと呼ばれる。低速な入出力の待ち時間に CPU を遊ばせないというマルチプログラミングの考え方そのもので、ファイルシステムの仕事ではない。文中にファイルアクセスという語が出てくるため紛らわしいが、記述の主題は CPU の割当て方であって、ファイルの管理方法ではない点で誤りである。
不正解ウ
ファイルシステムはファイルの中身をバイト列としてそのまま保管し受け渡すだけで、中のデータがどの文字コード (Shift_JIS、UTF-8 など) で書かれているかを解釈したり、自動的に変換したりはしない。どの文字コードとして読むかを決めるのは、そのファイルを開くアプリケーション側の役目である。異なる文字コードのファイルを開いたときに文字化けが起こるのは、まさにファイルシステムが変換してくれないからであり、この記述は成り立たない。
不正解エ
ファイルを開くのに先立ってウイルス感染の有無を確認するのは、ウイルス対策ソフト (アンチウイルスソフト) のリアルタイムスキャン機能であって、ファイルシステムの機能ではない。ファイルシステムは、そのファイルの中身が安全か有害かという評価は一切せず、要求されたとおりに読み書きを仲介するだけである。検査の前提となるウイルス定義ファイルの更新なども、対策ソフト側が担う役割である。
- ファイルシステムの役割は、補助記憶装置上の物理的な記録位置の管理を隠し、ファイル名とディレクトリという論理的な見え方と、開く・読む・書く・閉じるという統一インタフェースをアプリケーションに提供すること。これにより、ハードディスク、DVD、USB メモリなど記録媒体の違いをプログラムが意識せずに済む。
- OS の機能は役割ごとに整理して覚える。CPU を実行可能なプログラムへ割り当てるのはタスク管理 (ディスパッチャ)、主記憶の割当てや仮想記憶は記憶管理、そしてファイルの管理がファイルシステムである。文字コード変換はアプリケーション、ウイルス検査はウイルス対策ソフトの担当で、いずれも OS のファイルシステムの責務ではない。