オペレーティングシステムの役割,オペレーティングシステムカーネルで用いられるアルゴリズムおよびその実現手法を理解する.
オペレーティングシステムの中心概念であるカーネルの役割とそこで用いられるアルゴリズムを学ぶ.具体的には,割り込みによるカーネルの実現手法,プロセス管理,同期と排他制御,メモリ管理,ファイルシステム,I/Oシステムなどについて学ぶ,また,Unixを簡素化した教育用オペレーティングシステムxv6を教材として,これらの諸機構がどのように実現されるかについて理解する.
OSカーネル, システムコール, プロセス, スケジューリング, 同期, 相互排除アルゴリズム, メモリ管理, 仮想記憶, ファイルシステム, 保護機構, セキュリティ機構
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | 展開力(実践力又は解決力) |
座学およびプログラミング演習
授業計画 | 課題 | |
---|---|---|
第1回 | オペレーティングシステムの役割と機能 | |
第2回 | Unixオペレーティングシステムの概要とxv6 | |
第3回 | システムコールと割り込み | |
第4回 | プロセスとスレッド(1): 基本概念,マルチプロセスとスケジューリング | |
第5回 | プロセスとスレッド(2): 同期と排他制御アルゴリズム | |
第6回 | プロセスとスレッド(3): 同期と排他制御機構の実現方式 | |
第7回 | メモリ管理(1):メモリ管理の目的と基本概念 | |
第8回 | メモリ管理(2): 仮想記憶システムの概要とアルゴリズム | |
第9回 | メモリ管理(3): 仮想記憶システムの実現方式 | |
第10回 | ファイルシステム(1): 概要とファイル管理アルゴリズム | |
第11回 | ファイルシステム(2): ファイルシステムの実現方式 | |
第12回 | ファイルシステム(3): 応用(データベースと情報検索等) | |
第13回 | I/Oシステムとその実現方式 | |
第14回 | ネットワークシステム | |
第15回 | 保護機構とセキュリティ,システム設計と管理技術 |
特になし (資料はOCW-iで配布する)
"Xv6: a simple, Unix-like teaching operating system", Russ Cox, Frans Kaashoek and Robert Morris, 2014. (xv6付属ドキュメント)
プログラミング課題(4回): 60%
期末試験: 40%
履修者は関連科目を履修しているか,同等の知識があること.
履修者はUnix系OSの基本的なコマンドライン操作に慣れていることが望ましい.