オペレーティングシステム(OS)はコンピュータシステムの中でも基本的なソフトウェアである。
OSの構成を手を動かして探求することは計算機科学を深く学び、血肉にするための一つの良い道しるべとなる。
本講義ではx86-64アーキテクチャを採用したパソコンで動くOSの構成に必要な要素技術を学び、実際に手を動かして構成してみる。
現代のパソコンで動くOSの要素技術を知り、サンプルとなるOSのソースコードに機能追加・変更を加えられる。
オペレーティングシステム, x86-64
専門力 | 教養力 | ✔ コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
レクチャと演習を繰り返す。
授業の中で提供されるOSのサンプルコードを改造することで演習を行う。
授業計画 | 課題 | |
---|---|---|
第1回 | オペレーティングシステム | OSの概念を知る |
第2回 | UEFIと64ビット環境 | ブートシーケンスを知る |
第3回 | 画面描画とフォント | 画面描画の方法を知る |
第4回 | PS/2とUSBマウス | USBデバイスからの入力方法を知る |
第5回 | APICと割り込み | 割り込みの受け付け方法を知る |
第6回 | メモリ管理 | メモリ管理の概念と手法を知る |
第7回 | タイマー | 時間計測の方法を知る |
第8回 | マルチタスク | 複数のタスクを並行に動かす方法を知る |
第9回 | ファイルシステム | ファイルシステムの概念を知る |
第10回 | アプリケーション | ファイルとして構成したアプリケーションを扱う方法を知る |
第11回 | アドレス変換 | アドレス変換の必要性とページングの概念を知る |
第12回 | システムコール | システムコールの実現方法を知る |
第13回 | アプリケーションによるファイル読み書き | ファイルディスクリプタの実現方法を知る |
第14回 | アプリケーションのメモリ管理 | デマンドページングの概念を知る |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
指定なし
授業で適宜紹介する
サンプルコードを改造し、改造部分に関するレポートとともに提出する。
改造やレポートの充実度で成績を決定する。
Linuxのコマンドライン操作ができることが望ましい
http://www.itpro.titech.ac.jp/