1. プログラミングを通じてオペレーティングシステムに必要な機能を理解する。
2. オペレーティングシステムの機能を用いるプログラムを作成できる。
概要:
UNIXのシステムコールを使用したプログラミングと、その背景にあるオペレーティングシステムの仕組みについて授業する。
授業の進め方・方法:
講義と演習を繰り返す。
講義した内容はプログラムを作成して動作確認をしながら進める。
十分な演習時間は確保しないので,毎回1時間程度,時間外の演習(プログラムの完成)を行うことが必須である。
注意点:
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
高水準I/O、エラー処理 |
1. 高水準I/Oを用いたプログラムが作成できる。 2. perrorを用いたエラー処理が記述できる。
|
2週 |
システムコールと低水準I/O |
1. システムコールの必要性が説明できる。 2. open, read, write, close システムコール使用したプログラムが作成できる。 3. 低水準I/Oと高水準I/Oの関係が説明できる。
|
3週 |
UNIXファイルシステム |
1. ファイルのモード、ディレクトリ、ハードリンク、シンボリックリンクの意味を理解しUNIXコマンドで操作できる。
|
4週 |
ファイル操作システムコール |
1. mkdir, rmdir, symlink, link, unlink, rename, chmod, chdir システムコールを使用する幾つかのコマンドを作成することができる。
|
5週 |
プロセスとJOB |
1. プロセスとは何か模式図を使って説明できる。 2. プロセスとJOB関連のUNIXコマンド(^C等も含む)が操作できる。
|
6週 |
シグナル |
1. シグナルとは何か簡単な説明ができる。 2. ハンドラ関数が記述してsignalシステムコールで登録できる。
|
7週 |
シグナルと合わせて使うシステムコール |
1. kill、sleep、pause、alarm等のシステムコールを用いたプログラミングができる。
|
8週 |
中間試験 |
これまでに学んだ内容に関する質問に答えることができる。
|
2ndQ |
9週 |
環境変数 |
1. 環境変数の役割が簡単に説明できる。 2. 環境変数を操作するUNIXコマンドを使用できる。
|
10週 |
環境変数の仕組み |
1. 環境変数の仕組みを簡単に説明できる。 2. 環境変数を扱う簡単なプログラミングができる。
|
11週 |
文字コード |
1. 文字集合、符号化文字集合、文字符号化方式について簡単な説明ができる。 2. 日本で使用される文字符号化方式間で文字コード変換ができる。
|
12週 |
他のプログラムの実行 |
1. spawn方式とfork-exec方式の違いを説明できる。 2. execシステムコールを使用したプログラムが作成できる。 3. 入出力のリダイレクトについて説明できる。
|
13週 |
プロセスの生成 |
1. forkシステムコールの役割と動作を説明できる。 2. fork-exec-exit/waitの流れをもつプログラムを作成できる。
|
14週 |
シェルプログラムの作成 |
1. 与えられた最低限の機能をもつシェルプログラムの構造を理解できる。 2. シェルプログラムに機能を追加できる。
|
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 |