4 ファイル操作とファイル・システム
Menu Menu
目的
この実験では、Unixのシステム・コールを通じて、ファイル・システムの利用について学ぶ。具体的には、ファイルの作成、書き込み、読み込み、開く閉じる操作および、ディレクトリの読み込み操作について実習を行う。同時に、標準入出力の概念を学ぶ。
関連科目
情報204 オペレーティングシステム 必修、2単位教科書: Operating System Concept
準備
上記教科書のファイルに関する章を読んで、ファイルとファイルに関する次のキーワードの意味を調べなさない。
ファイル ファイルの管理機構 ディレクトリ 階層的なディレクトリ リンク シンボリッックリンク
C言語
以下のプログラムは、標準C (K&R 1978)の文法で書かれている。以下にその例を示す。
main( argc, argv ) int argc; char *argv[]; { ... }上のプログラムは、ANSI-C では以下のように記述される。
int main( int argc, char *argv[] ) { .... }通常、どちらのCでもコンパイラ受け付けられるが、ANSI-Cで統一することが望ましい。BSD/OSでもSolaris でも gcc を使うことによりコンパイラの違いを気にすることなくプログラムを作成することができる。しかし、どのような ccでもコンパイルできるよう可搬性portablityの高い記述が望ましい。しかし、OSの異なる場合も含めてportabilityを確保することは一般的には難しい。以下の例題でも、Solaris および BSD/OS の両方で動作するように工夫されていることに注意して欲しい。
4.1 ファイルの作成と読み書き 4.2 ファイルの属性 4.3 ディレクトリの検索
報告書
それぞれの実験に付いて、作成したプログラム、その説明 (Makefile についても説明すること)、および、その実行結果を付けなさい。この実験では、プログラムの説明では、フローチャートを付加する必要はない。開発環境と実行環境 (計算機、オペレーティング・システムのバージョン、コンパイラ)を載せなさい。それぞれの実験について、プログラム作成に要した時間を書きなさい。
一般的な注意
報告書は、日本語または英語で記述すること。プログラム、表、図、数式の羅列は、報告書とは認めない。図は必ず本文から参照すること。数学における証明のように、示すべき結論、用いる仮定と前提、推論の詳細について論理的に記述しなさい。