1. プログラミングを通じてオペレーティングシステムに必要な機能を理解する。
2. オペレーティングシステムの機能を用いるプログラムを作成できる。
概要:
UNIXのシステムコールを使用したプログラミングと、その背景にあるオペレーティングシステムの仕組みについて授業する。
授業の進め方・方法:
講義と演習を繰り返す。
講義した内容はプログラムを作成して動作確認をしながら進める。
十分な演習時間は確保しないので,毎回1時間程度,時間外の演習(プログラムの完成)を行うことが必須である。
注意点:
令和2年度のみ
最終評価=「5回プログラム課題の評価点の平均点」を100点満点に換算したもの
なお,中間試験を行わないため,8週から13週は1週繰り上げ,14週の内容は2週に分けて演習の範囲を広げる.
通常年度
最終成績=(中間試験+期末試験)÷2
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
システムプログラムとシステムコール 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. システムプログラムとは何か説明できる。 2. システムコールの必要性が説明できる。
|
2週 |
ファイル入出力システムコール 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. open, read, write, close システムコール使用したプログラムが作成できる。
|
3週 |
高水準I/Oと低水準I/O 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. 低水準I/Oと高水準I/Oの関係が説明できる。 2. バッファの役割が説明できる。 3. 性能の比較ができる。
|
4週 |
UNIXファイルシステム 【事前事後学習の内容(1時間)】実システム調査 |
1. ファイルのモード、ディレクトリ、ハードリンク、シンボリックリンクの意味を理解しUNIXコマンドで操作できる。
|
5週 |
ファイル操作システムコール 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. mkdir, rmdir, symlink, link, unlink, rename, chmod, chdir システムコールを使用する幾つかのコマンドを作成することができる。
|
6週 |
プロセスとJOB 【事前事後学習の内容(1時間)】実システム調査 |
1. プロセスとは何か模式図を使って説明できる。 2. プロセスとJOB関連のUNIXコマンド(^C等も含む)が操作できる。
|
7週 |
シグナル 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. シグナルとは何か簡単な説明ができる。 2. ハンドラ関数が記述してsignalシステムコールで登録できる。 3. kill、sleep、pause、alarm等のシステムコールを用いたプログラミングができる。
|
8週 |
中間試験 |
これまでに学んだ内容に関する質問に答えることができる。
|
2ndQ |
9週 |
環境変数 【事前事後学習の内容(1時間)】実システム調査 |
1. 環境変数の役割が簡単に説明できる。 2. 環境変数を操作するUNIXコマンドを使用できる。
|
10週 |
環境変数の仕組み 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. 環境変数の仕組みを簡単に説明できる。 2. 環境変数を扱う簡単なプログラミングができる。
|
11週 |
他のプログラムの実行 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. spawn方式とfork-exec方式の違いを説明できる。 2. execシステムコールを使用したプログラムが作成できる。 3. 入出力のリダイレクトについて説明できる。
|
12週 |
プロセスの生成 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. forkシステムコールの役割と動作を説明できる。 2. fork-exec-exit/waitの流れをもつプログラムを作成できる。
|
13週 |
シェルプログラム 【事前事後学習の内容(1時間)】例題プログラム理解 |
1. 与えられた最低限の機能をもつシェルプログラムの構造を理解できる。
|
14週 |
シェルプログラムの改造 【事前事後学習の内容(1時間)】プログラム作成演習 |
1. シェルプログラムに機能を追加できる。
|
15週 |
期末試験 |
中間試験以降に学んだ内容についての質問に答えることができる。
|
16週 |
答案返却など |
試験の解答を解説する
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前1,前2,前4,前6,前7,前10,前12,前13,前14 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1,前2,前4,前6,前7,前10,前12,前13,前14 |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 3 | 前2,前3,前4,前5,前6,前7,前9,前10,前12,前13,前14 |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 3 | 前2,前3,前4,前5,前6,前7,前9,前10,前12,前13,前14 |