seegongsik
単語帳
オペレーティングシステム

プログラムを 実行すると 何が おきるの?

アプリのアイコンを ダブルクリックすると プログラムが「実行」されますね。でも 実行するというのが 正確に 何のことでしょう? じっと していたファイルが、生きて 動く何かに なる しゅんかんです。

01

プログラムと 実行は ちがいます

まず 二つを 区別します。
一つは プログラム。
ストレージに じっと している
ファイルです。
もう一つは それが 実行された状態。
いま 生きて 動いて
はたらいているんです。
料理の作り方の紙と
じっさいに 料理している最中、
その ちがいです。

プログラム (コード)

ストレージに じっと しているファイル。作り方を 書いた紙のようなものです。

まだ 動かない

プロセス (実行中)

そのプログラムが じっさいに 動いている状態。紙を見ながら 料理している最中です。

いま 生きて はたらいている

同じようで ちがう 二つ。

実行中の プログラム、
これを プロセスと 呼びます。
同じ作り方でも
料理を 始めないと
湯気も においも 立たないように、
プログラムも 実行されて はじめて
本当のしごとを 始めます。

02

実行すると プロセスが 生まれます

アプリを ダブルクリックする しゅんかん、
オペレーティングシステムが はたらきます。
ストレージに あった コードを
メモリに 読みこんで、
「さあ、はじめ」と
起こします。
この 起きた状態が
プロセスです。
じっさいに 実行してみてください。

メモ帳.app
ストレージで ねむり中
実行
メモ帳
まだ 起きてない

実行ボタンを 押してみてください。

ファイルは そのまま 残っています。
コピーが メモリに 上がって
プロセスに なるんです。
だから 同じアプリを
消したり つけたりしても
元のファイルは かわりません。

03

プロセスは 自分の場所を 持ちます

プロセスが 生まれると、
オペレーティングシステムが 場所を あたえます。
「きみは この メモリのマスを つかえ」。
前の領域で 学んだ
あの アドレスのある メモリです。
プロセスごとに
自分だけの 作業空間が
べつべつに できるんです。

メモ帳 プロセス
自分の メモリ空間
音楽 プロセス
自分の メモリ空間
それぞれ 自分の空間が あるので、一つのプログラムが とまっても べつのプログラムは へいきです。

プロセスごとに 自分の メモリ空間。

場所が べつべつなので
たがいに じゃましません。
一つのアプリが きゅうに とまっても
べつのアプリは へいきです。
自分のものと あなたのものが
まざらないように、
オペレーティングシステムが 分けておいたんです。

04

同じアプリを いくつも ひらけます

おもしろい点が あります。
プログラムは 一つなのに、
プロセスは いくつも ありえます。
ブラウザの窓を
三つ ひらくと、
同じプログラムから
プロセスが 三つ できたんです。
窓を もっと ひらいてみてください。

1
#201
いま プロセス 1個

窓を ひらくたびに プロセスが 一つずつ。

料理の作り方 一枚で
いくつもの なべで 同時に 料理するように、
同じプログラムで
いくつもの プロセスを まわせます。
それぞれ 自分の空間で
べつべつに はたらきながら。

05

オペレーティングシステムは みんなを 名簿で 管理します

オペレーティングシステムは
いま まわっている プロセスを
ぜんぶ 名簿で 持っています。
名前は 何か、
どれだけ はたらくか、
メモリを どれだけ つかうか。
コンピュータが おそくなるとき
「タスクマネージャー」で 見るのが
まさに この名簿です。

#101ブラウザ
実行中
#102音楽
実行中
#103メッセージ
実行中
#104メモ帳
実行中

オペレーティングシステムは みんなに 番号(PID)を つけて べつべつに 管理します。

プロセス ひとつひとつが
自分の空間で 生きて 動いて、
オペレーティングシステムが この みんなを
名簿で 世話します。
でも 部品は 一つだけなのに
この多くの プロセスが
どうやって 同時に まわるのでしょう?
次回 その ひみつを ときます。

一言でいうとプログラムは じっと しているファイル、プロセスは それが 実行されて 生きて 動く状態です。プロセスごとに 自分の メモリ空間を 持つので、一つが とまっても ほかは へいきです。
このページがお役に立ったなら寄付する
オペレーティングシステム