山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教官
オペレーティングシステム演習
岩沼 宏治
時間割番号
単位数
コース
履修年次
期別
曜日
時限
263651 1 G 4 集中 (未登録) (未登録)
[概要]
オペレーティングシステム(OS)の役割は,(1) ハードウェアの詳細や差異を隠蔽し,均質的な環境をアプリケーションに提供すること,(2) CPU やメモリ,ネットワークなどの資源をアプリケーションに配分し管理することにある.アプリケーションは,OS が提供する様々なシステムコールを利用することで,ハードウェアやネットワークなどの資源を容易に制御することが可能になる.本実習では,基礎的なネットワーク・プログラミングを通してシステムコールの利用方法を習得し,OS が担っている役割・重要性について学ぶ.より具体的には,
 ● インタネットで接続された2つのコンピュータ間の簡単なチャットプログラム.ならびに
 ● ネットワーク対戦形式のボードゲーム
の開発を行う.
[具体的な達成目標]
(1)ソケットを用いたネットワーク通信プログラムが作成できる.
(2)Makefile の利用やライブラリの作成など,実践的な技術を身につける
(3)同期通信および非同期通信プログラムが作成できる
(4)基本的な割込み処理プログラムを作成できる
(5)プロセスの生成と制御ができる.
[必要知識・準備]
アルゴリズムとデータ構造 I と II,および C 言語のプログラミング技術
[評価基準]
最終的には,ある基準・仕様を満たすネットワーク対戦形式ゲームを,各人に開発してもらい,提出してもらう.試験官の面前で提出プログラムを make,操作,特徴説明を行ってもらい,次に口頭試問を実施し,最終評価を行う.また講義の進行に合わせて,適宜レポートを課する.提出期限を越えたレポートは受理しない.「限られた時間内に達成できた成果」を重視するからである.
[教科書]
  1. N.Matthew & R.Stones 著,葛西重夫 訳, Linuxプログラミング:例題で学ぶUNIXプログラミング環境の全て, ソフトバンク, ISBN:4-7973-0819-2
[参考書]
(未登録)
[講義項目]
1. ガイダンス,インターネットの基礎,ソケットプログラミング
2. ファイル転送プログラム
3. チャットプログラム
4. 1対1通信用のライブラリ作成
5. 端末画面制御用ライブラリ curses
6. 割り込みとシグナル
7. 1対1非同期通信:追跡ゲームの構築
8. 口頭試問(中間試験)
9. 追跡ゲームの改良その1:分散データの一貫性保持その他
10. 追跡ゲームの改良その2:多重コネクション−待ち行列の利用
11. プロセスの生成と制御:fork と exec
12. 追跡ゲームの改良その3:デーモンの作成−accept と fork
13. 口頭試問(期末試験)
[教育方法]
・プログラム作成演習がその中心となる.
・演習時間の最初に当日の課題とその背景技術などの説明を行い,その後,プログラム作成を行う.
・教育効果を高めるために,必要に応じて模範プログラムなどを配布し,また未完成プログラムの形式で,穴あきプログラムを完成する形式の課題を与える.
・課題と説明はWEB上で配布する.
・評価は,口頭試問と実技試験で行う.
[JABEEプログラムの学習・教育目標との対応]
"教育目標(A)に対して,ネットワークアプリケーションの構築を通して,OSの役割,システムコールの利用方法,割込み処理,ネットワーク通信の基本的仕組みを学ぶ.
教育目標(B)に対して作成したアプリケーションの構成や創意工夫した点などについて,口頭に適切に説明できる訓練を行う.
教育目標(F)の1に対して,ソケットによるネットワーク通信の仕組みを理解する.また非同期通信や分散出たの一貫性保持のための技術を修得する.
[その他]
オフィスアワー: 月曜日4時限目