2008年度の問題です。過年度は夏休みに提出してください。(もう締め切ってます)
Subject: Lecture on Operating System Lecture Exercise 1.1kono@ie.u-ryukyu.ac.jp まで送ること。
学籍番号をメールの中に記述すること。問題番号は正確に記述すること。出席しない場合でも、問題解答を送れば出席扱いとします。
学科のメールアカウント及び、学科のメールサーバ経由で提出すること。それ以外は受け付けません。
ソースコードは最低限引用すること。
ソースコード自体は、学科の Mercurial repository に置き、そのRepository のURL をレポートに含めること。
コンパイルエラーは、gcc なら -O2 -Wall で確認し、エラー及びウォーニングを、すべてなくすこと。Eclipse でも、エラー及びウォーニングはすべ取ること。
C では Makefile、Java では build.xml を含めること。
他人のレポートのコピペ、WWW上の公開された情報からのコピペは、3回で不可とします。
Java version
レポートはメールで
Subject: Practice on Operating System Lecture Practice File Subject: Practice on Operating System Lecture Practice File Javaというサブジェクトのメールで提出して下さい。
今回は、Java と C 言語があります。Java は、Eclipse で行うこと。両方やってください。
MTBF について調べてみよう。
UMLはなんで書いても良いが、OmniGraffle などで書いても良い。(手書きも良いがコンピュータ上ではちょっと...)
Judeを使ってみよう。
Subject: Practice on Operating System Lecture Practice Processというサブジェクトで提出して下さい。なお、実験の時間は特に決めませんが、レポートの締め切りは守ること。
割り当てられた教科書の問題を解け。 Subject: Lecture on Operating System Lecture Exercise 4.4として、4つ個別のメールで出して下さい。
割り当ては、8月末時点で、課題を10以上出した人に対して行ないます。
英語の問題を英語で書き写して、その後に解答すること。(問題の訳は必要ありません)
さまざまな言語とAPIでデッドロックを実際に確認してみよう。
Subject: Practice on Operating System Lecture Practice Thread Java Subject: Practice on Operating System Lecture Practice ThreadPoolというサブジェクトに入れたメールで提出して下さい。サブジェクトを間違えないこと!
Linux のkernel source の中で同期を実現している、もっとも、基本的なアセンブラ命令が記述してある部分を示せ。
Subject: Practice on Operating System Lecture Practice Synchronization Subject: Practice on Operating System Lecture Practice Synchronization Javaというサブジェクトを付けたメールで提出して下さい。
Signal の動作を確認してみよう。
(どこが簡単なんねん....)
Linux では epoll FreeBSD/Mac OS X では kqeueueが提案されている。
学籍番号が奇数の人は、epoll を使って、kbhit() の例題を行なうこと (Mac OS X にはepoll はない)
学籍番号が偶数の人は、kqueue を使って、tail -f に相当するプログラムを作成せよ (Linux には kqueue )はない。timeout を使う場合と、使わない場合の両方のCPU usageを計測せよ。
良く使われているバックアップツールに関して調べてみよう。