Day2 の目的と概要#

本日の進捗確認チェックリスト

  • 13:30: 必須課題1~6を進められましたか?

  • 14:00: 必須課題7~10を進められましたか?

  • 15:00: バッファサイズを変更する前の入出力性能,並びにバッファサイズを変更した後の入出力性能は計測・記録できましたか?

    • ファイルコピー性能

    • 通信性能

  • 16:00: バッファサイズの変更による通信性能の変化について,なぜそのような変化となるのかについての原因の仮説を立てた上で,その仮説を支持する証拠を見つける実験を行えましたか?

  • 17:00: 本日の内容をレポートにまとめることができましたか?

Caution

第一部,第二部,第三部すべてレポートのテンプレートをレポート詳細のページに用意してありますので,基本的にはそちらを参考にレポート作成を進めてください.

はじめに#

ネットワークプログラミングの基礎知識を学習し,実際にネットワークプログラミングを行います. この実験の目的は以下の点を理解することにあります.

  • 入出力に対する手続きを抽象化し,open,write,readなどのシステムコールを実現していること.

  • ファイル記述子(file descriptor: fd)により,同じシステムコールを利用して異なる入出力対象(コンソール,ファイル,ネットワークなど)に入出力できること.

  • 入出力対象に依存する手続きは,open,write,readなどのシステムコールをラッピングする関数側で実現していること.

    • 例えば,ネットワークを対象とした send, recv 関数など.