II - ネットワークシステム学講座

課題
提出先および提出方法
以下の課題を CD-R あるいは DVD-R に焼いて提出して下さい。
ただし、ファイル名、ディレクトリ名等に日本語を一切使わず、
tar の p オプションを付けて固めてから焼いて下さい。
また、ディクスに焼く時にファイル名が縮められたりしないように気を付けて下さい。
ソフトあるいはハードケースに入れて、学籍番号、氏名、
メールアドレスを書いたメモを添えて下さい。
printable label の場合は表面に書くあるいは印字しても OK です。
提出先: A411(ネットワークシステム学秘書室)
締切: 12/9
何かあれば
[email protected]
まで。
# report ディレクトリを固める場合の tar の使い方: tar cvzfp report.tgz report
課題:tiny executable
以下の情報を標準エラー出力に出力する C のコードを書き、
実行形式を構築せよ。
*
*
*
*
姓名 (ローマ字)
所属研究室 (英語)
学籍番号
メールアドレス
ただし、x86 linux kernel 2.6 系で動作するものとし、
glibc 経由で systemcall を叩いてなはらない。
提出物は以下のものである。
* C ソースコード
* 実行形式ファイル
* ビルド手順を書いた text (Makefile でも構わない)
この課題は実行形式が小さければ小さいほど加点する。
課題:hello world (Linux cross)
hello world を標準出力に出力する C コードを書き、
powerpc-linux (kernel 2.6 系、target 環境はSUZAKU)
で動作する実行形式を作成せよ。
ただし、構築には target と異なる環境で powerpc-linux-* (target環境はSUZAKU)
を利用し、QEMU を用いて動作確認を行うこと。
提出物は以下のものである。
* 実行形式ファイル
課題:shared object (Linux cross)
呼ばれると hello world を標準出力に出力する void hello(void)
という型の関数 hello、および int 型の引数に応じて、0 の場合姓名(ローマ字)、
1 の場合所属研究室名 (英語)、2 の場合学籍番号を表示する
void my_info(int) という型の関数 my_info のコードを書き、
これらの関数を含む libmy_lib.so という名称の共有ライブラリを構築せよ。
また、これらの関数をライブラリ経由で呼ぶ main関数を記述し、
実行形式を作成せよ。ただし、my_info への引数はmainへの第一引数から
与えるものとする。また、構築には target と異なる環境で
powerpc-linux-* (target環境はSUZAKU)
を利用し、QEMU を用いて動作確認を行うこと。
提出物は以下のものである。
* C ソースコード
* 実行形式ファイル
* ビルド手順を書いた text (Makefile でも構わない)
課題: tiny executable(Linux cross)
hello world を glibc を介さずに標準出力に出力する C のコードを書き、
実行形式を構築せよ。
ただし、構築には target と異なる環境で powerpc-linux-* (target環境はSUZAKU)
を利用し、QEMU を用いて動作確認を行うこと。
提出物は以下のものである。
* C ソースコード
* 実行形式ファイル
* ビルド手順を書いた text (Makefile でも構わない)
この課題は実行形式が小さければ小さいほど加点する。
課題:cross 開発環境
powerpc-linux の cross 開発環境を構築せよ。ただし、hostは x86 Linux
あるいは cygwin とする。構築したツールの動作は QEMU を用いて確認
を行うこと。
提出物は以下のものである。
* src 一式
* build に使った directory 全部
* cross 開発環境一式