メモリ空間とは?初心者にも分かる基礎解説と身近な例え共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
メモリ空間とは?初心者にも分かる基礎解説と身近な例え共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


メモリ空間とは?

まず覚えておきたいのは メモリ空間は、データや命令を置く場所のことです。プログラムを動かすとき、文字列、数字、絵のデータなどがいったんそれぞれの場所に並べられ、CPU が必要なときに取り出します。

この「場所」は実際の部品の場所を意味するのではなく、番号のような住所 で区切られた「空間」 のことを指します。例えば部屋の棚の番号を思い浮かべてください。棚に本を置くとき、どの棚にあるかを番号で指定します。これと同じように、メモリ空間では アドレス と呼ばれる番号でデータを指定します。

RAM と仮想メモリの基本

日常でよく出てくるのが RAM です。RAM は作業中のデータをいったん置く、すぐ使える作業用の記憶領域です。電源を切ると消える性質があり、速い分容量が限られています。OS やアプリは、必要なデータを RAM に置いてから CPU に渡します。

一方、仮想メモリという仕組みでは 物理的なRAMが不足したときに HDD や SSD を一時的な記憶場所として使うことで、今動かしているソフトが「動作を続けられる」ようにします。ただし HDD/SSD は RAM より遅いので、速度が落ちることがあります。

アドレス空間と実際の動き

アドレス空間とは、メモリに割り当てられた「住所の集合」です。32bit では理論上約 42 億の住所、64bit では膨大な数の住所を扱えます。現代のパソコンやスマホはほとんど 64bit ですが、実際にはOSやハードウェアの都合で使える領域は制限されます。

ヒープとスタック、キャッシュの役割

プログラムにはデータの置き場所として タックヒープ という2つの領域があります。スタックは関数の呼び出しや変数の「短い生存期間」に使われ、ヒープは長くデータを確保しておく必要があるときに使われます。さらにキャッシュという小さくて速い場所が、よく使うデータをすぐ取り出せるよう働きます。

メモリ空間の実生活での例え

スマートフォンのゲームを起動すると、画像や音声データ、ゲームのコードが メモリ空間 に読み込まれて処理されます。高速な RAM に載るデータと、空き容量が足りない場合の仮想メモリの組み合わせが、ゲームの動きを滑らかにします。つまり、メモリ空間が広いほど同時に多くの情報を扱え、操作が軽く感じられることが多いのです。

表: よく出てくるメモリの種類と役割

項目説明
RAM作業用のすぐ使える記憶領域。電源を切ると消える。
ROM読み出し専用の基本データ。電源を切っても残る。
キャッシュよく使うデータを素早く取り出すための小さな高速メモリ。
仮想メモリRAM が足りないときに HDD/SSD を補助的に使う仕組み。

まとめ

メモリ空間は、プログラムが動くための住所付きの場所の集まりです。RAM・仮想メモリ・キャッシュといった仕組みが、データをどの場所に置くか、どう取り出すかを決めています。初心者には、まず「アドレス空間」「RAM の役割」「仮想メモリ」の3つを覚えると理解が深まります。


メモリ空間の同意語

主記憶領域
CPUが直接参照する主要な記憶領域。通常はRAMを指す。
主記憶
コンピュータの中心となる記憶領域。データを一時的に保持するRAMのこと。
主メモリ
同義。CPUが直接参照する主要なメモリ領域。
実メモリ
物理的に搭載されたメモリ。仮想メモリと対比して使われることが多い。
物理メモリ
実際に搭載されているRAMのこと。仮想メモリの対になる概念として使われる。
RAM領域
RAMが割り当てられている領域。実メモリとしての領域を指す場合が多い。
RAM
Random Access Memoryの略。揮発性の高速メモリ。
ランダムアクセスメモリ
RAMの正式名称の訳。
物理アドレス空間
物理メモリに対応するアドレスの範囲。ハードウェアが実際に参照できるアドレス空間。
仮想メモリ空間
OSが提供する、実メモリの不足を補う仮想的なメモリ空間。プロセスごとに独立した空間でもある。
仮想メモリ
実メモリとディスクを組み合わせ、見かけ上は大きなメモリ空間を提供する仕組み。
仮想アドレス空間
プロセスに割り当てられる仮想的なアドレス空間。仮想メモリの中心概念。
アドレス空間
プロセスが参照できるアドレスの範囲。仮想メモリや物理メモリのどちらを指す文脈もある。
物理RAM
実際に搭載されているRAMのこと。物理的なメモリの呼称。
実RAM空間
実メモリが占める空間の表現。仮想メモリとは分離して語られることがある。

メモリ空間の対義語・反対語

ディスク空間
RAM・メモリ空間の対義語としてよく挙げられる、長期保存が可能な非揮発性のストレージ領域のこと。電源を切ってもデータが保持され、データの保持性が高い。
外部記憶領域
RAM以外の記憶領域。HDDやSSDなどの補助的なストレージを指すことが多い。メモリ空間と対比して理解されることが多い。
補助記憶
主記憶(RAM)を補う役割を持つ記憶領域。データの長期保存に用いられることが多い。
永続ストレージ
電源を切ってもデータが消えずに保存されるストレージ。メモリ空間(揮発性)と対比的に語られることがある。
非揮発性ストレージ
電源を切ってもデータが保持されるストレージの総称。RAMの揮発性と対照的な特性を示す。
仮想メモリ
実物理RAMを超える容量をソフトウェア的に扱う仕組み。ディスクを用いてRAMを代理的に使用する点で、メモリ空間の対義的な概念として説明されることがある。
物理ディスク領域
実体のディスク上の領域。メモリ空間の一時的・揮発性の性質と対比されることがある。

メモリ空間の共起語

アドレス空間
プログラムが参照できる仮想的なアドレスの範囲。実アドレスと対応づけて使われる。
仮想メモリ
実物理メモリを超えた広い見かけ上のメモリ領域。ページングやスワップで実現する仕組み。
物理メモリ
実際に搭載されているRAMのこと。OSが管理する実メモリ領域。
仮想アドレス空間
プログラムが見る仮想的なアドレスの空間。実アドレス空間へ翻訳される。
実アドレス空間
物理メモリ上の実際のアドレス空間。ハードウェアが参照する。
ページング
仮想メモリをページという単位に分割して管理する技術。翻訳とページ置換を含む。
ページテーブル
仮想アドレスを実アドレスへ変換する情報を保持するデータ構造。
TLB
Translation Lookaside Bufferの略。アドレス変換を高速化するキャッシュ。
MMU
Memory Management Unit。仮想アドレスと物理アドレスの翻訳をハードウェアで行う装置。
アドレス変換
仮想アドレスと物理アドレスの対応づけを行う処理。
メモリ管理
OSがメモリの割り当て・解放・保護を統括する管理機構。
メモリ保護
プロセス間での不正アクセスを防ぐための保護機構(権限・境界の設定)。
スタック領域
関数呼び出し時の局所変数などを格納するメモリ領域。
ヒープ領域
動的に確保・解放されるメモリ領域。
共有メモリ
複数のプロセスが同じ物理メモリを共有して使うIPCの手段。
断片化
メモリが小さな隙間だらけになる現象。割り当て・解放の結果として発生。
メモリリーク
不要になったメモリが解放されず、使われっぱなしになる状態。
ガーベジコレクション
プログラミング言語の自動メモリ管理で、不要メモリを自動解放する仕組み。
スワップ領域
物理メモリが不足した場合、RAMの一部をハードディスクに退避する領域。
ページフォールト
参照したページが物理メモリ上に無く、OSがディスクからページを読み込む現象。
カーネル空間
OSの核となる領域。ユーザ空間と分離されているメモリ領域。
ユーザー空間
アプリケーションが動作するメモリ空間。カーネル空間と分離されている。
プロセスのメモリ空間
各プロセスが独立して持つメモリ領域。保護と分離の対象。
キャッシュ
高速なデータアクセスのための小容量の高速メモリ領域。CPUキャッシュなどを指すことが多い。
仮想アドレス空間のサイズ
使える仮想アドレスの総量。32bit/64bitで下限が変わる場合がある。

メモリ空間の関連用語

メモリ空間
データを格納したり参照したりするための“空間”の概念。OSやプログラムごとに区切られ、実体は物理メモリと仮想メモリの組み合わせで表現されます。
アドレス空間
メモリアドレスの全体的な範囲のこと。仮想アドレス空間と物理アドレス空間が分かれている場合が多いです。
仮想メモリ
実メモリの不足をカバーするため、ディスクなどを補助的に使って見かけ上の大きな連続空間を作る仕組み。OSとMMUが管理します。
仮想アドレス空間
プロセスが見る“仮想的な”アドレスの範囲。実データは物理メモリ上の場所へ対応付けられます。
物理メモリ
実際にデータを格納するRAM。電源を切ると内容が失われることがあります。
物理アドレス空間
RAM上の実際のアドレス空間。仮想アドレスはこれへ変換されます。
仮想アドレス
プログラムが参照する見かけのアドレス。物理アドレスへ変換されて実データに対応づけられます。
物理アドレス
RAM上の実際のアドレス。MMUが仮想アドレスをこの空間へ変換します。
MMU
Memory Management Unitの略。仮想アドレスと物理アドレスの変換やメモリ保護を担当するハードウェアユニットです。
ページング
仮想アドレス空間と物理メモリを小さな単位(ページ)で管理する方式。ページと物理ページの対応をとります。
ページテーブル
仮想アドレスと物理アドレスの対応関係を記録するデータ構造。MMUが参照して変換を行います。
TLB
Translation Lookaside Bufferの略。最近使われたアドレス変換を高速に返すキャッシュです。
ページフォールト
仮想アドレスを参照したとき、対応する物理ページがRAMにない状態。OSがページを読み込みます。
キャッシュメモリ
CPUと主記憶との速度差を埋めるための高速小容量メモリ。よく使うデータを先に格納します。
キャッシュ階層
L1/L2/L3など複数レベルのキャッシュを持ち、速度と容量のバランスをとる仕組みです。
RAM
Random Access Memoryの略。揮発性の物理メモリで、データを高速に読み書きできます。
VRAM
Video RAMの略。主にGPU用のビデオデータを格納するメモリです。
タック領域
関数呼び出しの際の局所変数や戻り先情報を格納する連続メモリ領域。LIFOの性質を持ちます。
ヒープ領域
動的に割り当てるメモリ領域。プログラムが実行中にmalloc/newで確保・解放します。
セグメント
メモリを機能ごとに分けた論理的な区分。セグメントごとに保護と管理を行います。
セグメンテーション
セグメント方式。セグメントごとにサイズや権限を管理するメモリ管理手法です。
セグメント付きページング
セグメントとページングを組み合わせたメモリ管理方式。柔軟性と保護を両立します。
ページサイズ
1ページの大きさのこと。一般的には4KBなどが用いられますが、システムによって異なります。
スワップ
物理メモリが不足した際、ページをディスクへ退避してRAMを解放する仕組み。仮想メモリの一部です。
スワップ領域
ディスク上の、スワップ用の領域(ファイルまたはパーティション)です。
ページ置換アルゴリズム
ページが置換されるときにどのページを追い出すか決定する方法。例: LRU、FIFO、Clockなど。
内部断片化
割り当てたメモリの単位が固定のため、使われていない小さな空きスペースが生じる現象です。
外部断片化
自由領域が多数の小さな断片に分かれて、連続した大きな空間を確保できなくなる現象です。
アドレス空間の拡張
ビット数の増加(例: 32ビット→64ビット)により、扱えるアドレス空間を拡張することです。

メモリ空間のおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14447viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2407viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1067viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1026viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
929viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
897viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
832viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
830viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
794viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
781viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
714viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
690viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
589viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
569viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
562viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
547viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
514viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
492viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
473viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
469viws

新着記事

インターネット・コンピュータの関連記事