以下の課題提出は任意(提出しなくてもよい)とする。 ただし、提出した場合は定期試験の点数に付加するものとする。 その他、不明点については、yas@nanzan-u.ac.jp まで問い合わせること。
まず、以下の C 言語プログラムをダウンロードせよ。
1. 2. のプログラムのプログラムは Linux で、 以下のようにコンパイルし、実行することができる。 ただし、ヘッダファイル (xx.h) がカレントディレクトリにあることを確かめよう。
prompt% gcc -I/usr/X11R6/include bound0.c -L/usr/X11R6/lib -lX11 -lm -lpthread
prompt% ./a.out
prompt% gcc -I/usr/X11R6/include bound1.c -L/usr/X11R6/lib -lX11 -lm -lpthread
prompt% ./a.out
しかし、このプログラムは、 入力が出力を追い越したり(速い場合)、 出力が入力を追い越したり(遅い場合)して 「有限バッファ問題」の解とはいえない。 この 1. 2. のプログラムに計数セマフォ (counting semaphore) を使うよう追加し、 うまく同期処理をするプログラムとして完成せよ。
レポート形式 は任意とするが、A4 の紙に、 ワープロまたは、LaTeX で印刷し、提出せよ。 ただし、以下の項目は、必ず記述せよ。
以上を、まとめ、左上一ヵ所をホッチキスでとめ、 以下の期日までに提出せよ。
以下の発展問題も同様に提出せよ。