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

1. URL
2. 担当教員
3. 講義目的
4. 到達目標
5. 授業方法
6. 参考書
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. 1. オペレーティングシステムの概要
11. 2. CPU の原理
12. 3. プロセスとスレッド
13. 4. プロセス間通信
14. 5. スケジューリング (1)
15. 6. スケジューリング (2)
16. 7. 前半の総復習
17. 8. メモリ管理 (1)
18. 9. メモリ管理(2)
19. 10. 入出力 (外部 I/O)
20. 11. 入出力 (ユーザインターフェース)
21. 12. ファイルシステム
22. 12. 後半の総復習

3. プロセスとスレッド

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

2024-04-12 のものと同じ。

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

内容目標

- プロセスの状態遷移図を描き、なぜそうなるかを他人に説明できるようになる。

- ミニ CPU の動作を手作業でトレースすることにより、「プロセス」と「スレッド」の違いを理解する。

- プロセスとスレッドの原理から、それぞれの利点・欠点を理解する。

課題

課題 1

プロセスの状態が running から waiting に遷移するのはどの場合か。

                        +--------------->
                        |
                  +-----------+
           +----->|  running  |-----+
           |      +-----------+     |
           v                        v
      +-----------+           +------------+
----->|  waiting  |<----------|   blocked  |
      +-----------+           +------------+

1. プロセスが生成された。
2. プロセスが終了した。
3. プロセスが入出力要求を行った。
4. 入出力要求による処理が完了した。
5. より優先度の高いプロセスが waiting 状態となった。

課題 2

課題 1 におけるプロセスの状態遷移図では、 状態数が 3 であるため、 合計 6 (= 3 x 2) 通りの遷移が考えられる。 状態遷移図に 4 通りの遷移しか示されていないのはなぜかを説明せよ。

課題 3

以下の資料を読み、 2024-04-19 の課題 3 と同じように、 資料中の E4 (2 スレッド版) および E5 (2 プロセス版) におけるプリエンプティブ・マルチタスキングの動作を、 「ミニ CPU 係」と「オペレーティングシステム係」の 2 人がペアになってシミュレートせよ。

資料: 「ミニ CPU」 によるスレッドとプロセスの理解
https://lsnl.jp/~ohsaki/lecture/os/2024/priv/mini-cpu-process.pdf

課題 4

課題 3 におけるスレッドとプロセスのトレース結果をもとに、 スレッドの利点・欠点が以下のように説明される理由を説明せよ。

Threads vs processes
https://en.wikipedia.org/wiki/Thread_%28computing%29#Threads_vs_processes

- Lower resource consumption of threads
- Simplified sharing and communication of threads
- Thread crashes a process

略解

課題 1

5

※ 5 が正解であること、 それ以外が正解でないことを論理的に説明できるようにせよ。

課題 2

blocked → running: blocked 状態は OS のスケジューリング対象ではないから

waiting → blocked: waiting 状態では OS に入出力を要求できないから

課題 3

省略

課題 4

- Lower resource consumption: E4 (2 スレッド版) では 「ノート」(メモリ) を切り替える必要がないから。

- Simplified sharing and communication: E4 (2 スレッド版) では 「ノート」上の値を 2 つのスレッドが共有できるから。

- Thread crashes a process: E4 (2 スレッド版) では一方のスレッドが他方のスレッドが使う「ノート」を破壊できるから。

レポート課題 2022-04-26

「レポート課題 2024-04-12」と同じ。

https://lsnl.jp/~ohsaki/lecture/os/2024/#12-7

質問

なし

要望

- 講義の最初に「前回何をしたか」といった簡単な復習があればうれしいです。

- スレッドが他方のスレッドが使う「ノート」を破壊する瞬間が見たい。

コメント

- 講義ありがとうございました。グループワークが残り5分くらいの時にタイマーの音がなって私たちに分かればいいなと思いました。

- 楽しかったです

- ファイル大きすぎて貼れませんでした(泣)

[<11. 2. CPU の原理] [>13. 4. プロセス間通信]