Photo by Unsplash, Startae Team
ソフトウェア総論Ⅱも折り返しです。
授業内容
※講義時間はメモできておりません<(__)>
(授業内容)
第5回:カーネル
第1講:プロセス・・・?
第2講:メモリ・・・?
第3講:ファイル・・・?
第4講:同期・・・?
(第5回全体)
講義時間:?
テキスト:20ページ
授業振り返り
第4回「OS」に引き続き、第5回はOSの中心「カーネル」を学習しました。
用語まとめです📚
プロセス
カーネルが活動している様子 → プログラムを指します。
スレッド
「プロセス」にある個々の動きのことを指します。
「カレーライスを作る」ということを考えてみます。
カレーライスを作るためには、「お米を研ぎ、炊飯する」「お肉・野菜を切る」「お肉・野菜をいためる」「煮込む」といった手順が考えられます。
「カレーライスを作る」>>プロセス
「お米を研ぎ、炊飯する」「お肉・野菜を切る」「お肉・野菜をいためる」「煮込む」>>スレッド
と考えられそうです。
タスク
授業・配布資料では「プロセスと同義」と説明がありました。
インターネットで調べてみても、プロセスと同じ意味説が多いようです。
ファイバ(コルーチン)
どちらもスレッドの一種です。
実行している途中で停止、その後、また再開できる性質があります。
というのは、制御はOS(カーネル)ではないためです。ファイバ自身で制御するということみたいです。(たぶん。)
スレッドの制御はOS(カーネル)が行います。これを「プリエンプティブ」というそうです。
というわけで、もやっしていますが、腑に落ちる点ありますね。
こいうことは、人間の世界でもよくある構図ですよね。
「例外のないルールはない」といわれますが、これに近しい感じがします。
パソコンが誕生した時点では、OS、カーネルがすべての動きを制御する、という方法でよかったのでしょう。
でも、時代とともにパソコンの機能も進展、多岐に渡り、OS、カーネルだけで全ての動きを制御することは難しくなる。
そこで、ファイバのような例外ルールが登場した、というのは、私のただの想像です。<(__)>
コメント