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



授業科目名 オペレーティングシステム演習
時間割番号 TCS215
担当教員名 李 吉屹/木下 雄一朗
開講学期・曜日・時限 後期・金・II 単位数 1
<対象学生>
(未登録)
<授業の目的>
教育用計算機環境での演習が効果的と思われる項目を扱い講義「オペレーティングシステム」で学ぶ内容を理解する.アプリケーションシステム構築のためにオペレーティングシステムが提供する機能と使い方を学び,ネットワークプログラミングの作成実習を行う.また並行プログラミングに関する項目にも時間をかける.なお、本科目はPBL科目である.
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>コンピュータ理工学科向け
記号コンピテンシー(能力・資質) 
CS-A専門3.他者に正しく理解してもらうための論理的な文書での記述力と口頭での発表力をもち、それらを円滑に駆使してコミュニケーションすることができる。
CS-B6.情報科学、及び、数学や自然科学等の知識と手法を用いて、以下のことができる。6a.解決すべき問題を形式化することができる。
CS-C6b.要求、時間、費用、資源等の制約条件を考慮した上で、複数の解が存在するような複雑な問題の中から適切な解を見つけ出すことができ
CS-D6c.各種のツールや手法に関する十分な知識をもち、それらをシステムの設計・開発・運用に応用できる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
CS
1プロセス (スレッド) を理解し,それを用いたプログラミングを実現できるCS-D
2プロセス同期 (排他制御,デッドロック) を理解し,それを用いたプログラミングを実現できるCS-D
3シグナルと割り込みを理解し,それを用いたプログラミングを実現できるCS-D
4OSの持つネットワーキング機能を理解し,それを用いたゲームプログラムをデザインできるCS-B
5OSの持つネットワーキング機能を理解し,それを用いたゲームプログラムを開発できるCS-C
6開発したゲームプログラムに対してレポートの作成と口頭試問会CS-A
<成績評価の方法>
目標No割合評価の観点
120%記述試験、プログラミング試験、小レポートにより評価する。
220%記述試験、プログラミング試験、小レポートにより評価する。
310%記述試験、プログラミング試験により評価する。
410%期末期(レポートと口頭試問会):ネットワーク通信型ゲームの実習に開発したプログラムにより評価する。
530%期末期(レポートと口頭試問会):ネットワーク通信型ゲームの実習に開発したプログラムにより評価する。
610%期末期(レポートと口頭試問会):ネットワーク通信型ゲームの実習のレポート内容と口頭試問会の発表により評価する。
合計100% 
<授業の方法>
「オペレーティングシステム」を並行して履修すること,ならびに先行科目として「計算機アーキテクチャI,II」および「計算機アーキテクチャI演習」を既習であることを前提とする.
<受講に際して・学生へのメッセージ>
(未登録)
<テキスト>
(未登録)
<参考書>
  1. ニール・マシュー,リチャード・ストーンズ, Linuxプログラミング改定第2版, ソフトバンク パブリッシング, ISBN:4797327014
  2. A. Siberchatz, P.B. Galvin, G. Gagne, オペレーティングシステムの概念, 共立出版, ISBN:9784320122536
  3. 毛利公一, 基礎オペレーティングシステム : その概念と仕組み, 数理工学社, ISBN:9784864810395
<授業計画の概要>
1タイトル第1回:プロセス (1) (プロセスとは)
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。小レポート1に取り組む
授業内容最初に、プロセスの基礎を確認したのち、プロセスの生成・終了に関するシステムコールについて学習します。
演習では、学習内容をもとに、親・子プロセス間で同期をとるプログラムを完成させます。
2タイトル第2回:プロセス (2) (並行プロセスの生成と制御)
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。小レポート2に取り組む。
授業内容最初に、複数のプロセスの生成に用いるシステムコール、親プロセスから別のプログラムを動作させるシステムコールについて学習します。
演習では、学習内容をもとに、親プロセスから任意の数の子プロセスを生成するプログラムを完成させます。
3タイトル第3回:プロセスとスレッド
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。
授業内容最初に、プロセスとスレッドの違いについて確認したのち、スレッドの生成・終了に関するシステムコールについて学習します。
演習では、学習内容をもとに、複数のスレッドで並行処理をするプログラムを完成させます。
4タイトル第4回:排他制御とデッドロック
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。小レポート3に取り組む。
授業内容最初に、ロック、セマフォ、デッドロックについて学習します。
演習では、学習内容をもとに、ロックやセマフォを用いて相互排除を行うプログラム、セマフォを用いて複数スレッド間で同期をとるプログラムを完成させます。
5タイトル第5回:シグナル (1) (シグナルとは)
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。
授業内容最初に、割り込み、シグナル、シグナルハンドラについて学習します。
演習では、学習内容をもとに、シグナルの送信を行うプログラム、シグナルハンドラの処理を行うプログラムを完成させます。
6タイトル第6回:シグナル (2) (シグナルハンドラの各種設定)
事前学習
事後学習
事前学習:講義資料を読んでおく。
事後学習:すべての演習課題を完成させる。
授業内容最初に、シグナルの待機、シグナルマスクについて学習します。
演習では、学習内容をもとに、シグナルを待機するプログラム、シグナルマスクの変更を行うプログラムを完成させます。
7タイトル第7回:中間評価(前半の復習とまとめ)
事前学習
事後学習
事前学習:1~6回目の講義資料および演習課題の復習をする。
事後学習:試験の解答例および解説をもとに1~6回目の内容を復習する。
授業内容中間評価として、記述試験およびプログラミング試験を実施します。
試験後、試験の解答例および解説をオンラインで配信します。
8タイトル第8回:ネットワーク通信の基礎: 簡単なチャットプログラム作成
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させる
授業内容ネットワーク通信の基礎: 簡単なチャットプログラム作成
9タイトル第9回:ソケットプログラミング: 1対1通信ライブラリの作成
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させる
授業内容ソケットプログラミング: 1対1通信ライブラリの作成
10タイトル第10回:画面制御ライブラリCURSESの利用
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させる
授業内容画面制御ライブラリCURSESの利用
11タイトル第11回:シグナルによる割込み制御: 1対1非同期通信追跡ゲームの構築
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させる
授業内容シグナルによる割込み制御: 1対1非同期通信追跡ゲームの構築
12タイトル第12回:データの一貫性管理による追跡ゲームの改良
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させる
授業内容データの一貫性管理による追跡ゲームの改良
13タイトル第13回:多重コネクションによる追跡ゲームの改良
事前学習
事後学習
事前学習:演習資料を読んでおく。事後学習:演習課題を完成させ、レポートを完成させる
授業内容多重コネクションによる追跡ゲームの改良
14タイトル第14回:期末評価1(後半の復習と演習全体のまとめ)
事前学習
事後学習
事前学習:口頭試問会を準備しておく。
授業内容期末評価1(後半の復習と演習全体のまとめ)
15タイトル第15回:期末評価2(後半の復習と演習全体のまとめ)
事前学習
事後学習
事前学習:口頭試問会を準備しておく。
授業内容期末評価2(後半の復習と演習全体のまとめ)
<備考>
本授業では、山梨大学 e-Learning システム(Moodle)を使用します。
http://moodle.yamanashi.ac.jp/