筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
並行システム
担当教員
新城靖、追川修一
電子メール 新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp
URL http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2016/
オフィスアワー 新城: 3E302 木曜日6限,追川: 3F911 月2
科目番号 01CH303, 01CJ217
分野 ソフトウェアシステム
基礎/専門の別
授業形態 講義(演習を含む)
開講学期 春AB
時限 月3,4
教室 3B302
キーワード マルチスレッド、遠隔手続き呼び出し、分散共有空間、トランザクション、並行プログラミング言語。オペレーティングシステム(OS)カーネル・メカニズム、仮想マシンモニタ。
Keyword Multithreading, Remote Procedure Calls, Distributed Shared Spaces, Transactions, and Concurrent Programming Languages. Operating System (OS) Kernel Mechanisms, Virtual Machine Monitors.
前提条件 オペレーティング・システム、ネットワーク通信、並列アーキテクチャに関する基本的な知識を有することが 望ましい。
学習目標
概要  前半では、並行システム、並列システム、分散システムを構築するためのプログラミングのスタイルとソフトウェア技術について論じる。スレッド、プロセス間通信、および、分散共有空間等を使ったプログラミングを課す。  後半では、OSの歴史について概観し、マイクロカーネルやOSカーネルの個別技術、そして仮想マシンモニタについて解説する。
授業計画
1.マルチスレッド・プログラミング
モニタ、mutex、条件変数、fork-joinモデル、Concurrent Pascal、 Communicating Sequential Processes、Ada、Pthread、Java
2.遠隔手続き呼出し
通信プリミティブ、マーシャリング、SunRPC、XML Web サービス、Java RMI、 dRuby、Voyager、XMLHttpRequest
3.グループ通信
IPマルチキャスト、ニュース・システム、ISIS、Jini、mDNS
4.分散共有空間
タプル空間、Linda、JavaSpaces、Ruby Linda(Rinda)、分散ハッシュ表
5.並行プログラミング言語、トランザクション
並行オブジェクト指向モデル、Actors、Emerald、Scala、Voyager、 直列化可能、楽観的並行性制御、投機的実行、Argus
6.OSの歴史(概観)
マイクロカーネルから始まったOS進化の歴史
7.マイクロカーネル
Mach, L3/L4, Exokernel
8.仮想マシンモニタ
内部構造の概要, Disco, Xen
9.その他のOS技術・機構
10.その他のOS技術・機構
教科書 なし(講義資料をweb上で配布)。
参考書
  1. Andrew S. Tanenbaum, Maarten Van Steen: "Distributed Systems: Principles And Paradigms", Prentice Hall (2006). ISBN-13: 978-0132392273
  2. Doug Lea: "Concurrent Programming in Java: Design Principles And Patterns", Addison-Wesley, (2009). ISBN-13: 978-0321256171
  3. Marko Boger: "Java in Distributed Systems: Concurrency, Distribution and Persistence", John Wiley & Sons Inc Print (2001). ISBN-13: 978-0471498384
  4. R.E. フィルマン, D.P. フリードマン: "協調型計 算システム-- 分散型 ソフトウェアの技法と道具立て", マグロウヒルブック (1986). ISBN-13: 978-4895010306
成績評価 クイズ(小テスト)、または、レポートの結果を合算して行う。
TF・TA
その他の情報
ページ先頭へ