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
資料中の E1 (12 + 34 = 46) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 5 行目の値の変化を書き出せ。
資料中の E2 (1〜3 の和の計算) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 10 行目の値の変化を書き出せ。
資料中の E3 (1〜4 の積の計算) の動作をトレースせよ。 各ステップにおける、 4 枚のカード (PC、 A、 B、 C) の値と、 ノート 10 行目の値の変化を書き出せ。
資料中の E4 (1〜5 の積の計算) におけるプリエンプティブ・マルチタスキングの動作を、 「ミニ CPU 係」と「オペレーティングシステム係」の 2 人がペアになってシミュレートせよ。
ミニ CPU 係の役割: 現在のカードセットを使って、 ミニ CPU の動作をひたすら実行する。 オペレーティングシステム係の指示に従ってカードセットを切り替える。 ただし、 カードセットを切り替えられるのはステップ 1 (PC カードに書かれている行番号の「指示」をノートから読み込む) の直前のみである。 つまり、 ステップ 1〜3 はまとめて一気に実行する (途中で切り替えられることはないアトミックな処理である)。
オペレーティングシステム係の役割: 自由なタイミング (例えば 10 秒ごと) で、 ミニ CPU に対して「はい、 カードセットを切り替えてください」と指示する。
| 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 |
| 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 |
| 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 |
省略
独習アセンブラ 新版
https://www.shoeisha.co.jp/book/detail/9784798170299
「レポート課題 2025-04-11」と同じ。
[<10. 1. オペレーティングシステムの概要] [>12. 3. プロセスとスレッド]