オペレーティングシステムII

  [ GB31801 ]
Operating Systems II
対象:3・4学年 開設学期:秋C 曜日・時限:金3・4(一部 木5・6 ) 単位数: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週システムコールとプロセス
オペレーティングシステムの構成、システムコールとライブラリ、実行形式、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-2019/

オフィスアワー

月5,3E302

備考

実施日程は,別途掲示等で周知する。