Dynamic Memory Allocationって何?

  • Programmers use dynamic memory allocators (such as malloc) to acquire VM at run time. For data structures whose size is only known at runtime. Dynamic
    memory allocators manage an area of process virtual memory known as the
    heap.
  • サイズがコード実行時に初めてわかるデータ構造の場合、VM,(Virtual Machine/仮想マシン)をrun timeで取得するために、プログラマはダイナミックメモリーアロケーションを使用する。
  1. ここでいうProgrammersとはパソコン上でアプリケーションを操作する人、という意味。ユーザーと訳してもOK。
  2. VMはOS上でと考えてOK
  3. ランタイム(runtime)とは、プログラムが実行される際に必要な環境を提供するソフトウェア。プログラムが実行されるためのメモリ管理やプロセス間通信を行う。
  4. 一時的なメモリの確保、開放をアプリケーション側(ユーザー側)が行うことをDynamic memory allocationという。
  5. この際、C言語内ではmalloc functionを使用して明示的にメモリ確保を行うし、Javaなどではユーザー本人が直接的に関与せずにJavaのアプリケーションがメモリを確保する。
  6. アプリケーションがDynamic memolly allocationにて確保することができるデータ領域のことをヒープ領域という。ちなみに、ヒープ領域はヒープソートとは別物