回数 | 日付 | 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 | まとめ・筆記・実技試験 | 欠席者課題 |
オペレーティングシステム演習では、BochsとMINIXという二つのオープンソースのフリーウェアを利用します。ページTOPへ
この二つがそれぞれどんな役割を持っているか、今日の授業スライドの資料を参考にして、それぞれのソフトウェアについて、以下の点をまとめなさい。
(1) 一般的な分類
(2) 基本的な機能
(3) これらが作られた歴史的な背景(必要性・必然性)
(4) オペレーティングシステム演習の授業でこれらのソフトウェアを使うと、どんな利点があるか。
4月23日の授業教材で、環境変数BXSHAREの設定を指示し、出席者全員に環境変数の設定をしてもらいました。ページTOPへ
「環境変数」とはそもそも何なのか、調べて報告しなさい。
また、今回のBochsのインストールや実行では、この値がどのように使われているのか、もし、環境変数が間違っていたらどうなるか、例えば、JAVAの実行環境ではどのような環境変数がどのように使われているか、などについて、調べて報告しなさい。
実習終了後、もしくは空き時間に、MINIXをBOCHS上で起動させ、TAまたは講師に提示してください。ページTOPへ
起動は、仮想FDからの起動でも、HDからの起動でも構いません。
その際に、キーボードが日本語対応されていることを示してください。
当日を「出席」として扱い、出席点1を出します。
BLANK_COLORの変更を行い、起動カーネルを切り替えた状態を、TAに提示してください。ページTOPへ
TAのチェックを受けたら、00〜77の数字で、何番の背景色が何色に対応しているかまとめて、提出してください。
当日を「出席」として扱い、出席点1を出します。
本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)ページTOPへ
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。
本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)ページTOPへ
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。
本日の「配布プリント」の空欄を埋め、それぞれのプログラムがジャンプしている部分の前5行後5行のソースコードを、それぞれ抜き出しなさい。(後ろに5行ない場合は、EOF(End Of File)までとする。)ページTOPへ
抜き出したソースコード行が正しければ、、当日分を「出席」として扱い、出席点1を出します。
ブートのエントリーポイントがどこにあるか、ファイル名、行番号で示しなさい。ページTOPへ
次に、エントリーポイントから、ジャンプ元のファイル名・行番号と、ジャンプ先のファイル名・行番号を示しながら、C言語のkernelのmain()が起動するまでを辿りなさい。
適切な説明であった場合には、当日分を「出席」として扱い、出席点1を出します。公休の場合は1点を加算します。
また、トレースの内容が正しければ、本日の実習課題と同じ点を出します。
/usr/src/kernel/clock.cの、418行目から始まる関数 clock_handler の、コメント(421行目から468行目)の要点をまとめて下さい。(全文訳でもOK。)但し、自動翻訳を使った場合でも、訳語が適切か、普通の日本語になっているかについては、必ず確認してください。ページTOPへ
日本語としても採点しますので、「変な日本語」の場合は減点します。
UNIX系OSの持つ(最近ではWindowsでも使える)「パイプ」について、機能、どのような場面で使うかなどについて、A4用紙1枚程度にまとめなさい。ページTOPへ
/usr/src/mm内部のプログラムでは、変数CLICK_SHIFTを用いた演算が頻繁に行われている。ページTOPへ
この値を用いたシフト演算は、何を行っているか?また、どのような理由でシフト演算を行っているのか。メモリ管理に関するOSの役割を考えながら、その演算の意味を、A4用紙1枚程度にまとめなさい。
まず、LINUXで、/etc/groupを編集してグループを新規登録する方法を説明し、そのグループに属するユーザを、/etc/passwdを編集して登録する方法を説明しなさい。ページTOPへ
次に、そのユーザごとのパスワードがどのように設定されるか、MINIXの場合と、LINUXの場合とで調べて比較しなさい。
MINIXでは、rootと、一般ユーザでは異なります。
SUPER BLOCK構造体と、I-NODE構造体の関係を、教科書やソースコードなどから調べ、それぞれの機能を簡単に述べなさい。ページTOPへ
実技試験の選択課題のうち、5つを選んで解いて、提出しなさい。ページTOPへ
答えだけの(答えを導くまでの経過の説明がない)レポートは、その課題については点を出しません。