オペレーティングシステム
担当教員
- 山田 浩史?
授業の到達目標及びテーマ
オペレーティングシステム(OS)の基本概念と実装技術、およびその内部構造についての基礎知識を学ぶ。OS は、裸のままでは扱いにくいハードウェアを抽象化し、より扱いやすい仮想的なコンピュータをユーザに見せるソフトウェアである。Linux や Windows 7 がその代表格である。OS はハードウェアとアプリケーションを繋ぐ要のような役割を担っており、コンピュータが動作する仕組みを知るには OS の理解が必須である。
授業の概要と方法
OS の基本概念を講義していく。具体的には、プロセスやスレッド、スケジューリング、同期、仮想記憶、割り込み処理、ファイルシステムといった内容について講義を行う。また、進捗を見つつ、理解を深めるために適宜プログラミング演習を行ってレポートを課す。
授業計画
| 回 | テーマ | 内容 |
|---|---|---|
| 1 | イントロダクション | OS の基本概念について学ぶ。 |
| 2 | I/O デバイスと割り込み | I/O デバイスや割り込みを OS がどのように制御するかについて学ぶ。 |
| 3 | プロセスとスレッド(1) | プロセスとスレッドの基本概念、違い、保護、システムコール等について学ぶ。 |
| 4 | プロセスとスレッド(2) | 前回の続き。 |
| 5 | スケジューリング | OS の CPU 管理方法について学ぶ。スケジューリングの基本概念について学ぶ。 |
| 6 | 演習(1) | これまでの講義で扱った内容の理解を深めるプログラミング演習を行う。 |
| 7 | 相互排除と同期(1) | 相互排除の基礎を学ぶ。クリティカルセクション、ロック等の考え方を学ぶ |
| 8 | 相互排除と同期(2) | 前回の続き。 |
| 9 | 演習(2) | これまでの講義で扱った内容の理解を深めるプログラミング演習を行う。 |
| 10 | 仮想記憶(1) | OS のメモリ管理方法について学ぶ。仮想/物理アドレス、ページング、スワッピングについて学ぶ |
| 11 | 仮想記憶(2) | 前回の続き。 |
| 12 | ファイルシステム | OS のディスク管理方法について学ぶ。ファイルという考え方やファイルの管理方法について学ぶ。 |
| 13 | 演習(3) | これまでの講義で扱った内容の理解を深めるプログラミング演習を行う。 |
| 14 | 仮想化技術 | 仮想化の考え方、実現方法の基礎について学ぶ。 |
| 15 | まとめ | 本講義で学んだことについてまとめる |
授業外に行うべき学習活動
演習時に課されたレポートを行う。
テキスト
河野健二著、オペレーティングシステムの仕組み、朝倉書店
参考書
Abraham Silberschatz著、Operating System Concepts 8th Edition. 詳解 Linuxカーネル 第3版、オライリージャパン
成績評価基準
レポートと期末試験で評価する。
前年度の授業改善アンケートからの気づき
今年度から新たに開講される授業である。