1.0 単位, 3・4 年次, 秋C 水5,6; 秋C 金3,4
新城 靖
最近のオペレーティングシステムの実際的な側面を,設計論および実装論の立場から解説する。
実施日程は,別途掲示等で周知する。
講義
・汎用コンピテンス
2. 批判的・創造的思考力
4. 広い視野と国際性
・専門コンピテンス
3. 情報システム分野の専門能力
6. 実践的技術力と問題解決能力
7. 情報専門技術者としての倫理
OSの実行環境,OS動作を理解するに必要なx86プロセッサアーキテクチャについて理解する.
OS動作に必要なソフトウェアとハードウェアのインテラクションを理解する.
実際のOSソースコードにおける,処理の流れを理解する.
OSカーネル, Linux, システム・コール, プロセス管理, メモリ管理, デバイスドライバ, 割り込み, 時間管理, ファイルシステム.
第1回 | システムコールとプロセス: オペレーティングシステムの構成、システムコールとライブラリ、実行形式、task構造体、current、プロセスの状態 | ||
---|---|---|---|
第2回 | メモリ管理: Buddyシステム、kmalloc、スラブアロケータ、アドレス空間、ページテーブル、MMU、ページフォールト | ||
第3回 | デバイスドライバ、入出力、割り込み: ブロック型/文字型デバイス、copy_from_user()とcopy_to_user() 、inb() と outb() 、割り込みコントローラ、IRQ、割り込みの前半部と後半部、Softirq、Tasklet、Work Queue | ||
第4回 | 時刻と時間の管理、プロセスのスケジューリング: モノトニック時刻、jiffies と HZ、カレンダー時刻管理、インターバルタイマ、時間切れ処理、優先度、スケジューラ、レディキュー | ||
第5回 | ファイルシステム: VFSインタフェース、オブジェクト指向、file構造体、inode、ext4、ディレクトリ |
オペレーティングシステムIを受講していること.
レポート20%、期末試験80%で評価する.
授業毎に示す課題についてレポートを作成し、締切までに提出すること。
教材
プリント配布.
講義のWebページ
http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2020/
参考書
1. Robert Love,"Linux Kernel Development", Addison-Wesley Professional (2010).
2. ボベット, 他,"詳解Linuxカーネル第3版", オライリージャパン, (2007).
3. Jonathan Corbet, 他,Jonathan Corbet, 他: "Linuxデバイスドライバ", オライリージャパン (2005)
4. 白崎博生,Linuxのブートプロセスをみる, KADOKAWA/アスキー・メディアワークス (2014).
5. Intel,Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes:1, 2A, 2B, 2C, 3A, 3B, and 3C.
6. 蒲地輝尚,はじめて読む486―32ビットコンピュータをやさしく語る, アスキー (1994).
金曜6限
3E303 1001626 http://www.cs.tsukuba.ac.jp/~yas/
実施日程は, 別途掲示等で通知する。
TA 配置有り(1名)