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

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/

その他(受講生にのぞむことや受講上の注意点等)

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

他の授業科目との関連

ティーチングフェロー(TF)・ティーチングアシスタント(TA)

TA 配置有り(1名)