オペレーティングシステムII   [ GB31801 ]
Operating Systems II
対象:3・4学年 開設学期:第3学期 曜日・時限:火5 単位数:1単位
担当教員:新城靖

概要

オープンソースOSとしてLinuxのソースコードを題材に,オペレーティングシステムが一般的なハードウェア(x86)上でどのように動作するのかについて講義を行う.特にOS動作の理解で重要となるソフトウェアとハードウェアのインテラクションについて学ぶ.

学習・教育目標

  1. OSの実行環境,OS動作を理解するに必要なx86プロセッサアーキテクチャについて理解する.
  2. OS動作に必要なソフトウェアとハードウェアのインテラクションを理解する.
  3. 実際のOSソースコードにおける,処理の流れを理解する.

キーワード

OSカーネル, Linux, システム・コール, プロセス管理, メモリ管理, デバイスドライバ, 割り込み, 時間管理, ファイルシステム.

Keywords

OS Kernels, Linux, System Calls, Processes Management, Memory Management, Device Drivers, Interrupts, Time Management, File systems.

時間割

講義内容/理解すべき項目
第1週システムコールとLinuxカーネルソース
オペレーティングシステムの構成、システムコールとライブラリ、リンク、ソースコードのディレクトリ構成
第2〜3週プロセスの構成
実行形式、task構造体、current、プロセスの状態、優先度、スケジューラ、レディキュー
第4〜5週メモリ管理
Buddyシステム、kmalloc、スラブアロケータ、アドレス空間、ページテーブル、MMU、ページフォールト
第6週デバイスドライバと入出力
ブロック型/文字型デバイス、copy_from_user()とcopy_to_user() 、inb() と outb()
第7〜8週割り込み
割り込みコントローラ、IRQ、割り込みの前半部と後半部、Softirq、Tasklet、Work Queue
第9週時刻と時間の管理
モノトニック時刻、jiffies と HZ、カレンダー時刻管理、インターバルタイマ、時間切れ処理
第10週ファイルシステム
VFSインタフェース、inode、ディレクトリ

教材

プリント配布.

参考書籍

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のブートプロセスをみる(UNIXMAGAZINE COLLECTION),アスキー (2004).
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

TF・TA

大辻弘貴

講義のWebページ

http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2012/

オフィスアワー

月5,3E302