System Programming II

Course Information

College Tokuyama College Year 2018
Course Title System Programming II
Course Code 0106 Course Category Specialized / Compulsory
Class Format Lecture Credits Academic Credit: 1
Department Department of Computer Science and Electronic Engineering Student Grade 4th
Term First Semester Classes per Week 1
Textbook and/or Teaching Materials 参考書:カーニハン他、「プログラミング言語C」(共立)、 参考書:David A curry、「UNIX C プログラミング」(アスキー)
Instructor Shigemura Tetsuji

Course Objectives

1. プログラミングを通じてオペレーティングシステムに必要な機能を理解する。
2. オペレーティングシステムの機能を用いるプログラムを作成できる。

Rubric

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
1. プログラミングを通じてオペレーティングシステムに必要な機能を理解する。学んだ全てのシステムコールの役割が理解できた。学んだシステムコールの3分の2以上で役割が理解できた。学んだシステムコールの中3分の2未満しか役割が理解できなかった。
2. オペレーティングシステムの機能を用いるプログラムを作成できる。シェルを理解し必要なシステムコールを選んで機能追加ができる。学んだシステムコールの3分の2以上でエラー処理を含むプログラムが作成できる。学んだシステムコールの中で使えるものが3分の2未満である。

Assigned Department Objectives

到達目標 B 1 See Hide
JABEE d-1 See Hide

Teaching Method

Outline:
UNIXのシステムコールを使用したプログラミングと、その背景にあるオペレーティングシステムの仕組みについて授業する。
Style:
講義と演習を繰り返す。
講義した内容はプログラムを作成して動作確認をしながら進める。
十分な演習時間は確保しないので時間外の演習(プログラムの完成)が必須である。
Notice:

Course Plan

Theme Goals
1st Semester
1st Quarter
1st 高水準I/O、エラー処理 1. 高水準I/Oを用いたプログラムが作成できる。
2. perrorを用いたエラー処理が記述できる。
2nd システムコールと低水準I/O 1. システムコールの必要性が説明できる。
2. open, read, write, close システムコール使用したプログラムが作成できる。
3. 低水準I/Oと高水準I/Oの関係が説明できる。
3rd UNIXファイルシステム 1. ファイルのモード、ディレクトリ、ハードリンク、シンボリックリンクの意味を理解しUNIXコマンドで操作できる。
4th ファイル操作システムコール 1. mkdir, rmdir, symlink, link, unlink, rename, chmod, chdir システムコールを使用する幾つかのコマンドを作成することができる。
5th プロセスとJOB 1. プロセスとは何か模式図を使って説明できる。
2. プロセスとJOB関連のUNIXコマンド(^C等も含む)が操作できる。
6th シグナル 1. シグナルとは何か簡単な説明ができる。
2. ハンドラ関数が記述してsignalシステムコールで登録できる。
7th シグナルと合わせて使うシステムコール 1. kill、sleep、pause、alarm等のシステムコールを用いたプログラミングができる。
8th 中間試験 これまでに学んだ内容に関する質問に答えることができる。
2nd Quarter
9th 環境変数 1. 環境変数の役割が簡単に説明できる。
2. 環境変数を操作するUNIXコマンドを使用できる。
10th 環境変数の仕組み 1. 環境変数の仕組みを簡単に説明できる。
2. 環境変数を扱う簡単なプログラミングができる。
11th 文字コード 1. 文字集合、符号化文字集合、文字符号化方式について簡単な説明ができる。
2. 日本で使用される文字符号化方式間で文字コード変換ができる。
12th 他のプログラムの実行 1. spawn方式とfork-exec方式の違いを説明できる。
2. execシステムコールを使用したプログラムが作成できる。
3. 入出力のリダイレクトについて説明できる。
13th プロセスの生成 1. forkシステムコールの役割と動作を説明できる。
2. fork-exec-exit/waitの流れをもつプログラムを作成できる。
14th シェルプログラムの作成 1. 与えられた最低限の機能をもつシェルプログラムの構造を理解できる。
2. シェルプログラムに機能を追加できる。
15th 期末試験 中間試験以降に学んだ内容についての質問に答えることができる。
16th 答案返却など 試験の解答を解説する

Evaluation Method and Weight (%)

試験宿題相互評価態度ポートフォリオその他Total
Subtotal80200000100
基礎的能力0000000
専門的能力80200000100
分野横断的能力0000000