メモリ管理

プログラム

スタック領域: 後入れ先出しの世界

- スタック領域とはコンピュータプログラムが動作する際には、メモリと呼ばれる領域にデータが記憶されます。このメモリ領域は、用途に合わせていくつかの領域に分割されており、その中の一つにスタック領域があります。スタック領域は、プログラムの実行中に一時的に必要なデータを格納するために使用されるメモリ領域です。例えるなら、飲食店で食器を重ねておくスペースのようなものです。新しい食器は一番上に置かれ、使うときは一番上から取っていきますよね。スタック領域も同様に、後に入れたデータから先に取り出されるという規則でデータが管理されています。この規則を -後入れ先出し- (LIFO Last-In, First-Out) と呼びます。スタック領域は、主に次の様なデータの保管に使用されます。* 関数呼び出し時に、呼び出し元に戻るための情報(戻りアドレス)* 関数内で定義された変数(ローカル変数)* 関数に渡される引数プログラムが関数を実行する際には、スタック領域にこれらのデータが次々と積み重ねられていきます。そして、関数の処理が完了すると、積み重ねられたデータは上から順に取り出されていきます。このように、スタック領域はプログラムの実行を円滑に進めるために重要な役割を担っています。
プログラム

不要なデータのお掃除係 ガベージコレクション

コンピュータプログラムは、様々な処理を行う際に、情報を一時的に記憶しておくための領域を必要とします。この領域は「メモリ」と呼ばれ、プログラムにとって限られた資源と言えます。もし、プログラムが必要以上にメモリを使い続けてしまうと、やがてメモリは枯渇し、プログラムは正常に動作しなくなってしまいます。このような事態を防ぐために活躍するのが「ガベージコレクション」という機能です。ガベージコレクションは、プログラムで使用されなくなったメモリ領域を自動的に探し出し、解放する機能です。ガベージコレクションは、まるでプログラムの裏側で働く「お掃除係」と言えるでしょう。プログラムが部屋だとすると、メモリは部屋の中のスペースに相当します。プログラムは処理を行うたびに、このスペースに様々な物(データ)を置いていきます。そして、処理が終わり、不要になった物があれば、お掃除係であるガベージコレクションが片付けてくれます。もし、ガベージコレクションがなかったら、プログラムは不要になった物をいつまでも部屋に置き続けることになり、最終的には部屋がいっぱいになってしまいます。ガベージコレクションのおかげで、プログラムは限られたメモリを効率的に使うことができ、円滑に動作することができるのです。
プログラム

ヒープ領域:自由自在なメモリの使いどころ

- ヒープ領域とはプログラムを実行する際には、データや処理に必要な情報などを格納するためのメモリが必要になります。このメモリ領域の一つに「ヒープ領域」があります。ヒープ領域の特徴は、プログラムの実行中に必要な時に必要な大きさのメモリを確保したり、不要になったメモリを解放したりできるという点にあります。例えるならば、ヒープ領域は広大な更地のようなものです。プログラムは、家やビルなどの建物を建てる際に、必要な広さの土地をこの更地から借り受けます。そして、建物を壊して更地が必要なくなった場合は、土地を返却します。返却された土地は更地に戻り、他のプログラムが再び利用できるようになります。このように、ヒープ領域は柔軟なメモリ管理を実現する上で重要な役割を果たしています。プログラムは必要な時に必要なだけメモリを使用し、不要になったら速やかに解放することで、限られたメモリ資源を効率的に活用できるのです。
error: Content is protected !!