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

わかりやすく プロセス OS とは

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

01

プログラムと実行は違う

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

プログラム(コード)

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

まだ動かない

プロセス(実行中)

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

いま生きて働いている

同じようで違う二つを並べました。

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

02

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

アプリをダブルクリックした瞬間、オペレーティングシステムが動きます。ストレージにあったコードをメモリに読み込み、「さあ、始めて」と起こします。
こうして起きた状態がプロセスです。下で実際に実行してみましょう。

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

実行するを押すと、眠っていたファイルからプロセスが起きます。

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

03

プロセスは自分の場所を持つ

プロセスが生まれると、オペレーティングシステムが場所を与えます。「きみはこのメモリのマスを使って」。
前にコンピュータのしくみで見た、番地のついたあのメモリです。プロセスごとに、自分だけの作業場所が別々にできるのです。

メモ帳プロセス
自分のメモリ空間
音楽プロセス
自分のメモリ空間
それぞれ自分の空間があるので、一つのプログラムが止まってもほかのプログラムは平気です。

プロセスごとに、自分のメモリ空間が別にあります。

場所が別々なので、おたがいに邪魔をしません。あるアプリが急に止まっても、ほかのアプリは平気です。
自分のものと相手のものが混ざらないように、オペレーティングシステムが分けておいたのです。

04

同じアプリをいくつも開ける

おもしろい点があります。プログラムは一つでも、プロセスはいくつもありえます。
ブラウザのウィンドウを三つ開けば、同じプログラムからプロセスが三つできたことになります。
ウィンドウをもっと開いて確かめてみましょう。

ウィンドウ 1
#201
いまプロセス1個

ウィンドウを開くたびに、プロセスが一つずつ増えます。

一枚の作り方でいくつもの鍋を同時に料理するように、同じプログラムでいくつものプロセスを動かせます。
それぞれが自分の場所で、別々に働きながらです。

05

オペレーティングシステムは全員を名簿で管理する

オペレーティングシステムは、いま動いているプロセスを全部、名簿として持っています。名前は何か、どれくらい働いているか、メモリをどれくらい使っているかです。
コンピュータが重くなったときに「タスクマネージャー」で見るのが、まさにこの名簿です。

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

オペレーティングシステムは、これら全員に番号(PID)をつけて、別々に管理します。

プロセス一つひとつが自分の場所で生きて動き、オペレーティングシステムがそのすべてを名簿で見守ります。
でも部品は一つしかないのに、これほどたくさんのプロセスがどうして同時に動けるのでしょうか。次のレッスンで、その秘密を解きます。

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