スタック
Stack
すたっく
他の資格での定義
後に入れたデータを先に取り出すLIFO(Last In First Out)方式のデータ構造。関数呼び出しの管理やWebブラウザの「戻る」ボタンの履歴管理などに利用される。
データの挿入と取り出しが同じ端(先頭)から行われるデータ構造。LIFO(Last In, First Out:後入れ先出し)の原則に従う。関数の呼び出し管理、括弧の対応チェック、逆ポーランド記法の計算に使用される。
LIFO(Last In First Out)方式でデータの出し入れを行うデータ構造。プッシュ(追加)とポップ(取出し)の2つの操作を持つ。関数呼出しの管理、式の評価、Undo機能の実装などに利用される。
関連キーワードの用語
動的メモリ確保(malloc/free等)に使用されるメモリ領域。プログラム実行中に必要なサイズのメモリを確保・解放できるが、メモリフラグメンテーションやメモリリークの問題がある。安全重要な組込みシステムでは動的メモリ確保を避ける設計が推奨される。
電源を切ってもデータが保持される不揮発性メモリ。マスクROM、PROM、EPROM、EEPROMなどの種類がある。組込みシステムではプログラムコードや固定データの格納に使用される。
データの読み書きが自由に行える揮発性メモリ。DRAM(大容量・低コスト、要リフレッシュ)とSRAM(高速・低消費電力、高コスト)に大別される。組込みシステムではワークメモリやスタック領域として使用される。
電気的にデータの書き換えが可能な不揮発性メモリ。NOR型(ランダムアクセス可能、プログラム格納向き)とNAND型(大容量、データストレージ向き)がある。組込みシステムのファームウェア格納やデータ保存に広く使用される。
フリップフロップ回路でデータを保持する揮発性メモリ。リフレッシュ不要で高速アクセスが可能だが、DRAMに比べてビット単価が高い。キャッシュメモリやマイコンの内蔵RAMに使用される。
CPUとメインメモリの間に配置される高速な小容量メモリ。頻繁にアクセスされるデータやプログラムを保持し、メモリアクセスの高速化を図る。組込みシステムではキャッシュのヒット率やフラッシュ制御がリアルタイム性能に影響する。