筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
並行システム
担当教員
新城靖、追川修一
電子メール 新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp
URL http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2015/
オフィスアワー 新城: 3E302 木曜日6限,追川: 3F911 火4
科目番号 01CH303, 01CJ217
分野 ソフトウェアシステム
基礎/専門の別
授業形態 講義(演習を含む)
開講学期 秋AB
時限 火5,6
教室 3B303
キーワード マルチスレッド、遠隔手続き呼び出し、分散共有空間、トランザクション、並行プログラミング言語。オペレーティングシステム(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.トランザクション、並行プログラミング言語
直列化可能、楽観的並行性制御、投機的実行、Argus, Emerald, Dejay, 並行オブジェクト指向モデル, Actors, Scala, 並行論理プログラミング, Guarded Horn Clauses
6.OSの歴史(概観)
マイクロカーネルから始まったOS進化の歴史
7.マイクロカーネル
Mach, Exokernel; Extensible Kernel: SPIN, Choices, Flux OS Kit
8.カーネルの個別技術
LRPC & URPC, scheduler activation, Synthesis Kernel, Lottery Scheduling, Log-Structured FS
9.仮想マシンモニタ
内部構造の概要,Disco, VMware, Xen
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
その他の情報
ページ先頭へ