情報科学部2年
オペレーティングシステム演習
講義

2009/04/29 更新
総合INDEXへ

演習教材



回数 日付 PDFテキスト 講義メモ 課題(リンク) 欠席者課題 関連資料
第1回 2009/4/16 ガイダンス 課題1 欠席者課題 Bochsのインストール
第2回 2009/4/23 MINIXのインストールとコマンド 課題2 欠席者課題 MINIXハードディスクの取得
第3回 2009/4/30 ファイル構成/コンパイル/キーボード変更 viを使っての編集操作 課題3 「環境変数は不要か?」 欠席者課題 viの使い方
キーボードのマッピング
第4回 2009/5/7 コマンドレファレンスとは
OSの構成と役割・カーネルの変更
Windowsへのファイルの書き出し方法
起動用カーネルの切り替え方
課題4 欠席者課題 ディレクトリ構成
第5回 2009/5/14 トレース・割り込み処理 配布プリント
トレース:Step 1
課題5 欠席者課題 システムコール OSの中と外
第6回 2009/5/21 割り込み処理のトレース
配布プリント
トレースするとは?
トレースの流れ
カーネルへのエントリー
課題6 欠席者課題
第7回 2009/5/28 標準出力からのトレース・OSの機能
配布プリント
カーネル内のトレースのガイド 課題7
ボーナス課題
欠席者課題
第8回 2009/6/4 ブートローディングと、OSの初期化 待機プロセス 課題8
ボーナス課題
欠席者課題
第9回 2009/6/11 タスク管理と制御 プロセスの生成と管理・資料 課題9
ボーナス課題
欠席者課題
第10回 2009/6/18 プロセス間通信 パイプとプロセス間通信
(バグ修正版6/19)
課題10 欠席者課題
第11回 2009/6/25 プロセスとメモリ管理 バックグラウンドタスク
forkのトレース
課題11 欠席者課題
第12回 2009/7/2 属性(ユーザ、ファイル、デバイス) 課題12 欠席者課題
第13回 2009/7/9 ファイルシステムとiノード 欠席者課題
第14回 2009/7/16 まとめ・筆記・実技試験 欠席者課題


ページTOPへ



第1回(2009.04.16)欠席者課題

オペレーティングシステム演習では、BochsとMINIXという二つのオープンソースのフリーウェアを利用します。

この二つがそれぞれどんな役割を持っているか、今日の授業スライドの資料を参考にして、それぞれのソフトウェアについて、以下の点をまとめなさい。
(1) 一般的な分類
(2) 基本的な機能
(3) これらが作られた歴史的な背景(必要性・必然性)
(4) オペレーティングシステム演習の授業でこれらのソフトウェアを使うと、どんな利点があるか。
ページTOPへ



第2回(2009.04.23)欠席者課題

4月23日の授業教材で、環境変数BXSHAREの設定を指示し、出席者全員に環境変数の設定をしてもらいました。
「環境変数」とはそもそも何なのか、調べて報告しなさい。
また、今回のBochsのインストールや実行では、この値がどのように使われているのか、もし、環境変数が間違っていたらどうなるか、例えば、JAVAの実行環境ではどのような環境変数がどのように使われているか、などについて、調べて報告しなさい。

ページTOPへ



第3回(2009.04.30)欠席者課題

実習終了後、もしくは空き時間に、MINIXをBOCHS上で起動させ、TAまたは講師に提示してください。
起動は、仮想FDからの起動でも、HDからの起動でも構いません。
その際に、キーボードが日本語対応されていることを示してください。

当日を「出席」として扱い、出席点1を出します。

ページTOPへ



第4回(2009.05.07)欠席者課題

BLANK_COLORの変更を行い、起動カーネルを切り替えた状態を、TAに提示してください。
TAのチェックを受けたら、00〜77の数字で、何番の背景色が何色に対応しているかまとめて、提出してください。

当日を「出席」として扱い、出席点1を出します。

ページTOPへ



第5回(2009.05.14)欠席者課題

本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。

ページTOPへ



第6回(2009.05.21)欠席者課題

本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。

ページTOPへ



第7回(2009.05.28)欠席者課題

本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。

ページTOPへ



第8回(2009.06.04)欠席者課題

ブートのエントリーポイントがどこにあるか、ファイル名、行番号で示しなさい。
次に、エントリーポイントから、ジャンプ元のファイル名・行番号と、ジャンプ先のファイル名・行番号を示しながら、C言語のkernelのmain()が起動するまでを辿りなさい。
適切な説明であった場合には、当日分を「出席」として扱い、出席点1を出します。公休の場合は1点を加算します。
また、トレースの内容が正しければ、本日の実習課題と同じ点を出します。
ページTOPへ



第9回(2009.06.11)欠席者課題

/usr/src/kernel/clock.cの、418行目から始まる関数 clock_handler の、コメント(421行目から468行目)の要点をまとめて下さい。(全文訳でもOK。)但し、自動翻訳を使った場合でも、訳語が適切か、普通の日本語になっているかについては、必ず確認してください。
日本語としても採点しますので、「変な日本語」の場合は減点します。
ページTOPへ



第10回(2009.06.18)欠席者課題

UNIX系OSの持つ(最近ではWindowsでも使える)「パイプ」について、機能、どのような場面で使うかなどについて、A4用紙1枚程度にまとめなさい。
ページTOPへ



第11回(2009.06.25)欠席者課題

/usr/src/mm内部のプログラムでは、変数CLICK_SHIFTを用いた演算が頻繁に行われている。
この値を用いたシフト演算は、何を行っているか?また、どのような理由でシフト演算を行っているのか。メモリ管理に関するOSの役割を考えながら、その演算の意味を、A4用紙1枚程度にまとめなさい。
ページTOPへ



第12回(2009.07.02)欠席者課題

まず、LINUXで、/etc/groupを編集してグループを新規登録する方法を説明し、そのグループに属するユーザを、/etc/passwdを編集して登録する方法を説明しなさい。
次に、そのユーザごとのパスワードがどのように設定されるか、MINIXの場合と、LINUXの場合とで調べて比較しなさい。
MINIXでは、rootと、一般ユーザでは異なります。

ページTOPへ



第13回(2009.07.09)欠席者課題

SUPER BLOCK構造体と、I-NODE構造体の関係を、教科書やソースコードなどから調べ、それぞれの機能を簡単に述べなさい。

ページTOPへ



第14回(2009.07.16)欠席者課題

実技試験の選択課題のうち、5つを選んで解いて、提出しなさい。
答えだけの(答えを導くまでの経過の説明がない)レポートは、その課題については点を出しません。

ページTOPへ