シラバス GRADUATE SCHOOL
情報システム構成論(後期2単位)
教授 盛合 敏、教授 須崎 有康
1.授業のねらい
高品質の情報システムを構築するためにコンピュータ、ネットワーク、オペレーティングシステム、ミドルウェア、大規模情報システムの特性と構成法を学習する。前半では、システム品質の評価基準、システムのモデル化手法などのシステム工学的概念とその上のソフトウェア構成技術、データベース、分散オブジェクトシステムなどを習得する。後半では、クラウド、マイクロサービスアーキテクチャ、Well-Architected Framework など、様々な応用システムとその開発技術や評価手法などの基礎および先端知識を習得する。
2.到達目標
現代の情報システムの構成要素とその組み合わせ方を理解するとともに、複雑化・大規模化する情報システムの品質を向上させるための各種方式の考え方を習得する。また、インターネット上に構築される情報システムの最新動向について知る。
3.授業計画と開講形態
・第1回 システム工学
大規模システム、ソフトウェアの品質、情報システムの設計
・第2回 システム開発体系
情報システムのライフサイクル、開発モデル、開発コストの見積り、共通フレームワーク
・第3回 信頼性と高信頼化技術
信頼性理論の基本、 MTBF、 MTTR、 高信頼化技術の考え方
・第4回 Autonomic Computing
システムの稼働率と Autonomic Computing における自己構成、自己修復、自己最適化、自己防御の考え方
・第5回 コンピュータアーキテクチャとOS
CISC、RISC、特権命令、MMU、マイクロカーネル、組込みOS
・第6回 メモリ管理・キャッシュ
ローダ、再入可能、ガーベージコレクション、投機実行 Meltdown & Spectre
・第7回 プログラム言語とその処理
コンパイラ、インタープリタ、中間言語、ツールチェーン
・第8回 バージョン管理とテスト開発
Git、Docker、Continuous Integration(継続的インテグレーション)、SBOM
・第9回 分散システムと分散OS
クライアントサーバ、クラウド、ネットワークブート、マイグレーション
・第10回 データベースシステムとトランザクション
リレーショナルデータベースの基本として、SQL、表結合、トランザクション等の考え方
・第11回 並列処理
アムダールの法則を通して並列処理の課題とSIMD、MIMD、パイプライン、マルチプロセッサの概要
・第12回 大規模分散処理とクラウドコンピューティング
GFS・Bigtable・Map Reduceの概要、クラウドとエッジコンピューティングの特徴、コンテナオーケストレーション
・第13回 Webサービスとマイクロサービスアーキテクチャ
REST API と gRPC、マイクロサービスアーキテクチャ
・第14回 Well-Architected FrameworkとAIシステム基盤
Well-Architected Framework の概要、6つの柱、ベストプラクティス、大規模言語モデルの学習・推論基盤
・第15回 レポート発表とディスカッション
なお順序は、進度によって変更することがある。
4.教科書
特に指定しない
5.参考書
- David Patterson, John Hennessy, “コンピュータの構成と設計 MIPS Edition 第6版”, 日経BP, 2021.
(原著には RISC-V アーキテクチャを対象とした RISC-V Edition もあります) - Donald Knuth, “The Art of Computer Programming, Vol.1-4”, Kadokawa, 2015-2023.
- Andrew S. Tanenbaum and Herbert Bos, “モダンオペレーティングシステム 第5版”, 日経BP, 2025.
- Daniel P. Bovet and Marco Cesati, “詳解Linuxカーネル 第3版”, 高橋浩和(監修), O’Reilly, 2007.
- Andrew S. Tanenbaum,他, “分散システム -原理とパラダイム- 第2版”, 2009.
その他、システム工学等の参考書を講義の中で適宜紹介する。
6.関連科目
授業に先立って、あるいは並行して、以下の授業の受講を勧める。
・情報デバイス技術
・オペレーティングシステム
・ネットワーク設計とセキュリティ運用
・プログラミング
・実践的IoTセキュリティ
7.成績評価の方法と基準
講義中に実施する小テスト(40%)と課題レポートの成績(40%)および講義内での議論への積極的な参画状況(20%)を評価する。
8.その他
小テストには、Google Classroom を用いる。