オペレーティングシステム(OS)は、計算機ハードウェアの抽象化、資源管理を行う基盤的なソフトウェアである。本講義では、OSの基本概念と基本機能を解説する。また、演習を通じて理解を深める。
以下の基本概念と基本機能を理解、習得する。特に、OSが、アプリケーションソフトウェアとハードウェアをどのように接続しているかを理解することで、ハードウェアを効率的に活用できるようになる。
・OSの起動
・入出力
・ファイルシステム
・プロセス管理:プログラムの読み込みと実行
・プロセス管理:並行処理、スケジューリング
・並行性制御 (同期)
・メモリ管理
・仮想化
・ネットワーキング
・セキュリティ
オペレーティングシステム、ハードウェアの抽象化、資源管理
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
講義時間には、講義および課題の解説を行う。
講義1,2回あたり1つの課題を宿題として出題する。
授業計画 | 課題 | |
---|---|---|
第1回 | オペレーティングシステム | |
第2回 | C言語の基礎 | |
第3回 | コンパイラとOSによるメモリ管理 | CPUやコンパイラによるメモリの使い方を理解する。 |
第4回 | 起動プロセス | OSの起動プロセスを理解する。 |
第5回 | 入出力 | ビジーウェイトと割り込みによる入出力を理解する。 |
第6回 | ファイルシステム | ファイルシステムの構成方法:linked allocationとindexed allocationを理解する。 |
第7回 | プログラムの読み込みと実行:コンパイル・リンク・ロード | |
第8回 | プログラムの読み込みと実行:システムコール | プログラムの読み込みと実行、システムコールを理解する。 |
第9回 | 並行処理とスケジューリング (1):スレッドとコンテクストスイッチ | スレッドの切り替え(コンテクストスイッチ)を理解する。 |
第10回 | 並行処理とスケジューリング (2):スケジューリング | |
第11回 | 並行性制御 (1):悲観的・楽観的手法 | 競争状態と対処を理解する。 |
第12回 | 並行性制御 (2):ソフトウェア・ハードウェア・言語機構 | |
第13回 | メモリ管理 (1):ページング | ページングを理解する。 |
第14回 | メモリ管理 (2):仮想記憶 | |
第15回 | 仮想化 |
特になし
次の参考図書の主要部分を講義する。Silberschatz and Galvin: Operating System Concepts, 9th ed., John Wiley & Sons, 2012.
また講義中に適宜参考資料を指示する。
オペレーティングシステムの基本機能についての理解度を評価する。課題で成績を決定する。
特になし。