プログラムを 実行すると 何が おきるの?
アプリのアイコンを ダブルクリックすると プログラムが「実行」されますね。でも 実行するというのが 正確に 何のことでしょう? じっと していたファイルが、生きて 動く何かに なる しゅんかんです。
プログラムと 実行は ちがいます
まず 二つを 区別します。
一つは プログラム。
ストレージに じっと している
ファイルです。
もう一つは それが 実行された状態。
いま 生きて 動いて
はたらいているんです。
料理の作り方の紙と
じっさいに 料理している最中、
その ちがいです。
プログラム (コード)
ストレージに じっと しているファイル。作り方を 書いた紙のようなものです。
プロセス (実行中)
そのプログラムが じっさいに 動いている状態。紙を見ながら 料理している最中です。
同じようで ちがう 二つ。
実行中の プログラム、
これを プロセスと 呼びます。
同じ作り方でも
料理を 始めないと
湯気も においも 立たないように、
プログラムも 実行されて はじめて
本当のしごとを 始めます。
実行すると プロセスが 生まれます
アプリを ダブルクリックする しゅんかん、
オペレーティングシステムが はたらきます。
ストレージに あった コードを
メモリに 読みこんで、
「さあ、はじめ」と
起こします。
この 起きた状態が
プロセスです。
じっさいに 実行してみてください。
実行ボタンを 押してみてください。
ファイルは そのまま 残っています。
コピーが メモリに 上がって
プロセスに なるんです。
だから 同じアプリを
消したり つけたりしても
元のファイルは かわりません。
プロセスは 自分の場所を 持ちます
プロセスが 生まれると、
オペレーティングシステムが 場所を あたえます。
「きみは この メモリのマスを つかえ」。
前の領域で 学んだ
あの アドレスのある メモリです。
プロセスごとに
自分だけの 作業空間が
べつべつに できるんです。
プロセスごとに 自分の メモリ空間。
場所が べつべつなので
たがいに じゃましません。
一つのアプリが きゅうに とまっても
べつのアプリは へいきです。
自分のものと あなたのものが
まざらないように、
オペレーティングシステムが 分けておいたんです。
同じアプリを いくつも ひらけます
おもしろい点が あります。
プログラムは 一つなのに、
プロセスは いくつも ありえます。
ブラウザの窓を
三つ ひらくと、
同じプログラムから
プロセスが 三つ できたんです。
窓を もっと ひらいてみてください。
窓を ひらくたびに プロセスが 一つずつ。
料理の作り方 一枚で
いくつもの なべで 同時に 料理するように、
同じプログラムで
いくつもの プロセスを まわせます。
それぞれ 自分の空間で
べつべつに はたらきながら。
オペレーティングシステムは みんなを 名簿で 管理します
オペレーティングシステムは
いま まわっている プロセスを
ぜんぶ 名簿で 持っています。
名前は 何か、
どれだけ はたらくか、
メモリを どれだけ つかうか。
コンピュータが おそくなるとき
「タスクマネージャー」で 見るのが
まさに この名簿です。
オペレーティングシステムは みんなに 番号(PID)を つけて べつべつに 管理します。
プロセス ひとつひとつが
自分の空間で 生きて 動いて、
オペレーティングシステムが この みんなを
名簿で 世話します。
でも 部品は 一つだけなのに
この多くの プロセスが
どうやって 同時に まわるのでしょう?
次回 その ひみつを ときます。