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

1. URL
2. 担当教員
3. 講義目的
4. 到達目標
5. 授業方法
6. 参考書
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. 1. オペレーティングシステムの概要
11. 2. CPU の原理
12. 3. プロセスとスレッド

2. CPU の原理

授業の流れ・チーム分けの方針・態度目標

2025-04-11 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/os/2025/#12-1

内容目標

- 簡単なプログラムに対して、ミニ CPU の動作をトレースできるようになる。

- ミニ CPU の動作を手作業でトレースすることにより、CPU の原理を理解する。

- ミニ CPU とオペレーティングシステムの動作をシミュレートすることにより、プリエンプティブ・マルチタスキングの原理を理解する。

課題

資料: 「ミニ CPU」によるコンピュータおよびオペレーティングシステムの動作の理解
https://lsnl.jp/~ohsaki/lecture/os/2025/priv/mini-cpu.pdf

課題 1

資料中の E1 (12 + 34 = 46) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 5 行目の値の変化を書き出せ。

課題 2

資料中の E2 (1〜3 の和の計算) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 10 行目の値の変化を書き出せ。

課題 3

資料中の E3 (1〜4 の積の計算) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 10 行目の値の変化を書き出せ。

課題 4

資料中の E4 (1〜5 の積の計算) におけるプリエンプティブ・マルチタスキングの動作を、 「ミニ CPU 係」と「オペレーティングシステム係」の 2 人がペアになってシミュレートせよ。

ミニ CPU 係の役割: 現在のカードセットを使って、 ミニ CPU の動作をひたすら実行する。 オペレーティングシステム係の指示に従ってカードセットを切り替える。 ただし、 カードセットを切り替えられるのはステップ 1 (PC カードに書かれている行番号の「指示」をノートから読み込む) の直前のみである。 つまり、 ステップ 1〜3 はまとめて一気に実行する (途中で切り替えられることはないアトミックな処理である)。

オペレーティングシステム係の役割: 自由なタイミング (例えば 10 秒ごと) で、 ミニ CPU に対して「はい、 カードセットを切り替えてください」と指示する。

略解

課題 1

| PC |  A |  B | C | 5行目の値 |
|----+----+----+---+-----------|
|  0 |  0 |  0 | 0 |         0 |
|  1 | 12 |  0 | 0 |         0 |
|  2 | 12 | 34 | 0 |         0 |
|  3 | 46 | 34 | 0 |         0 |
|  4 | 46 | 34 | 0 |        46 |
|  4 | 46 | 34 | 0 |        46 |
|  4 | 46 | 34 | 0 |        46 |
|  4 | 46 | 34 | 0 |        46 |
|  4 | 46 | 34 | 0 |        46 |
|  4 | 46 | 34 | 0 |        46 |

課題 2

| PC |  A | B | C | 10行目の値 |
|----+----+---+---+------------|
|  0 |  0 | 0 | 0 |          0 |
|  1 |  0 | 0 | 0 |          0 |
|  2 |  0 | 1 | 0 |          0 |
|  3 |  1 | 1 | 0 |          0 |
|  4 |  1 | 1 | 0 |          0 |
|  5 |  1 | 1 | 0 |          0 |
|  6 |  1 | 2 | 0 |          0 |
|  2 |  1 | 2 | 0 |          0 |
|  3 |  3 | 2 | 0 |          0 |
|  4 |  3 | 2 | 0 |          0 |
|  5 |  3 | 2 | 0 |          0 |
|  6 |  3 | 3 | 0 |          0 |
|  2 |  3 | 3 | 0 |          0 |
|  3 |  6 | 3 | 0 |          0 |
|  4 |  6 | 3 | 0 |          0 |
|  7 |  6 | 3 | 0 |          0 |
|  8 |  6 | 3 | 0 |          6 |
|  8 |  6 | 3 | 0 |          6 |
|  8 |  6 | 3 | 0 |          6 |
|  8 |  6 | 3 | 0 |          6 |

課題 3

| PC |  A | B | C | 10行目の値 |
|----+----+---+---+------------|
|  0 |  0 | 0 | 0 |          0 |
|  1 |  1 | 0 | 0 |          0 |
|  2 |  1 | 1 | 0 |          0 |
|  3 |  1 | 1 | 0 |          0 |
|  4 |  1 | 1 | 0 |          0 |
|  5 |  1 | 1 | 0 |          0 |
|  6 |  1 | 2 | 0 |          0 |
|  2 |  1 | 2 | 0 |          0 |
|  3 |  2 | 2 | 0 |          0 |
|  4 |  2 | 2 | 0 |          0 |
|  5 |  2 | 2 | 0 |          0 |
|  6 |  2 | 3 | 0 |          0 |
|  2 |  2 | 3 | 0 |          0 |
|  3 |  6 | 3 | 0 |          0 |
|  4 |  6 | 3 | 0 |          0 |
|  5 |  6 | 3 | 0 |          0 |
|  6 |  6 | 4 | 0 |          0 |
|  2 |  6 | 4 | 0 |          0 |
|  3 | 24 | 4 | 0 |          0 |
|  4 | 24 | 4 | 0 |          0 |
|  7 | 24 | 4 | 0 |          0 |
|  8 | 24 | 4 | 0 |         24 |
|  8 | 24 | 4 | 0 |         24 |
|  8 | 24 | 4 | 0 |         24 |
|  8 | 24 | 4 | 0 |         24 |

課題 4

省略

参考図書

独習アセンブラ 新版
https://www.shoeisha.co.jp/book/detail/9784798170299

レポート課題 2025-04-18

「レポート課題 2025-04-11」と同じ。

https://lsnl.jp/~ohsaki/lecture/os/2025/#10-10

[<10. 1. オペレーティングシステムの概要] [>12. 3. プロセスとスレッド]