アルゴリズム プログラムを複数で使う:再入可能とは?
何度も使えるという考え方は、複数の利用者や複数の処理の流れが同時に同じプログラムを呼び出しても、それぞれが正しく動くことを意味します。まるで各利用者ごとに専用のプログラムがあるかのように、お互いに邪魔することなく、それぞれの処理を進めることができます。
この性質を「再入可能」と言い、再入可能なプログラムは資源を有効に使えるため、現代の計算機システムにとって重要です。
たとえば、よく使われる例として、計算機の動作全体を管理する基本部分(オペレーティングシステムのカーネル)や、様々なプログラムで共通して使われる部品のようなプログラム(ライブラリ関数)があります。これらは多くが再入可能になるように作られています。
なぜ再入可能であることが重要なのかというと、複数のプログラムが同時にシステムの資源を使えるようにすることで、システム全体の性能を上げることができるからです。もしプログラムが再入可能でないと、ある利用者がプログラムを使っている間、他の利用者は待たなければなりません。これは、計算機の資源を有効に使えていない状態と言えます。
再入可能にするためには、プログラムの中で値を保存する場所の使い方に注意深く配慮する必要があります。それぞれの利用者や処理の流れが、自分専用の保存場所を持っているように設計することで、他の利用者や処理の流れによる変更の影響を受けないようにします。
このような工夫によって、プログラムは複数の利用者から同時に使われても、それぞれが正しく動作し、システム全体の効率を高めることに貢献します。
