オペレーティングシステムII
[ GB31801 ] Operating Systems II |
対象:3・4学年 |
開設学期:秋C |
曜日・時限:木5・6 (一部 金3・4) |
単位数:1単位 |
担当教員:新城靖 |
概要
オープンソースOSとしてLinuxのソースコードを題材に,オペレーティングシステムが一般的なハードウェア(x86)上でどのように動作するのかについて講義を行う.特にOS動作の理解で重要となるソフトウェアとハードウェアのインテラクションについて学ぶ.
学習・教育目標
- OSの実行環境,OS動作を理解するに必要なx86プロセッサアーキテクチャについて理解する.
- OS動作に必要なソフトウェアとハードウェアのインテラクションを理解する.
- 実際のOSソースコードにおける,処理の流れを理解する.
キーワード
OSカーネル, Linux, システム・コール, プロセス管理, メモリ管理, デバイスドライバ, 割り込み, 時間管理, ファイルシステム.
Keywords
OS Kernels, Linux, System Calls, Processes Management, Memory Management, Device Drivers, Interrupts, Time Management, File systems.
時間割
週 | 講義内容/理解すべき項目 |
---|
第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、ディレクトリ |
教材
プリント配布.
参考書籍
Robert Love: "Linux Kernel Development", Addison-Wesley Professional (2010).
ボベット,他:詳解Linuxカーネル第3版,オライリージャパン, (2007).
Rodrigue, 他: The Linux Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures, (Prentice Hall) 2005.
Jonathan Corbet, 他: "Linuxデバイスドライバ", オライリージャパン (2005)
白崎博生:新装改訂版 Linuxのブートプロセスをみる,KADOKAWA/アスキー・メディアワークス (2014).
Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes:1, 2A, 2B, 2C, 3A, 3B, and 3C.
蒲地輝尚:はじめて読む486―32ビットコンピュータをやさしく語る,アスキー (1994).
予備知識・前提条件
オペレーティング・システムIを受講していること.
成績評価
クイズ、レポート、試験によって総合的に評価する.
教員メールアドレス
yas(AT)cs.tsukuba.ac.jp
講義のWebページ
http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2015/オフィスアワー
月5,3E302