ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

動的メモリ確保

索引 動的メモリ確保

動的メモリ確保 (動的メモリアロケーション・動的メモリ割り当て・dynamic memory allocation) とは、メモリ管理のひとつである、プログラムを実行しながら、並行して必要なメモリ領域の確保と解放を行う仕組みである。 メモリの利用状況は、自身の実行状況や他のプログラムの実行状況に応じて常に変動するため、それらの動作に支障を来さぬよう必要なメモリ領域を適切なアドレスに対して臨機応変に確保・解放を行う必要がある。.

34 関係: 主記憶装置平衡二分探索木ページング方式メモリ管理ライブラリリアルタイムオペレーティングシステムプログラミング言語プログラム (コンピュータ)ヒープヒープ領域デフラグメンテーションフラグメンテーションアルゴリズムオペレーティングシステムオブジェクト指向プログラミングカーネルガベージコレクションコンピュータスタックサブルーチン組み込みシステム物理アドレスDirect Memory Access連結リストLIFOLinuxカーネルLISPMallocMmapSolarisUNIX System V木構造 (データ構造)情報量2の冪

主記憶装置

主記憶装置(しゅきおくそうち)は、記憶装置の分類で、「補助記憶装置」が一般に外部バスなど比較的CPUから離れていて大容量だが遅い記憶装置を指すのに対し、コンピュータのメインバスなどに直接接続されている記憶装置で、レイテンシやスループットは速いが比較すると小容量である。特に、CPUが入出力命令によって外部のインタフェースを操作するのではなく、「ロード・ストア命令」や、さらには通常の加算などの命令において直接読み書きできる対象であるものを指す。メインメモリ、一次記憶装置とも。.

新しい!!: 動的メモリ確保と主記憶装置 · 続きを見る »

平衡二分探索木

平衡二分探索木(へいこうにぶんたんさくぎ、self-balancing binary search tree)とは、計算機科学において二分探索木のうち木の高さ(根からの階層の数)を自動的にできるだけ小さく維持しようとするもの(平衡木)である。平衡二分探索木は連想配列や集合その他の抽象データ型を実装する最も効率のよいデータ構造の1つである。.

新しい!!: 動的メモリ確保と平衡二分探索木 · 続きを見る »

ページング方式

ページング方式 (Paging) とは、コンピュータのオペレーティングシステムにおいて記憶装置をページと呼ばれる小さな単位に分割して割り当てを行うアルゴリズム群である。仮想記憶のベースとなる設計の一つ。 物理メモリ空間および論理メモリ空間を、基本的に一定サイズのページと呼ばれる単位に分割して管理を行う。論理メモリから物理メモリ空間への対応づけはページテーブルと呼ばれる構造体で実現され、この構造体はオペレーティングシステム (OS) によって管理される。物理メモリ空間に対応づけられていない論理メモリを参照した時にはページフォルトという例外によってOS側の例外処理ルーチンに制御が移行し、OS側の管理によって適宜対応したページを二次記憶等から読み込み、テーブルを更新してその参照した命令の実行に戻る。 これを実現するハードウエアであるメモリ管理ユニット (MMU) の中にはトランスレーション・ルックアサイド・バッファ (Translation Lookaside Buffer:TLB) と呼ばれる一種のキャッシュがあり、ユニット内部ではこの対応表に基づいてメモリアドレスの対応づけを行っている。このテーブルから参照出来なかったときをTLBミスと呼ぶ。このときの処理はMMUの設計によって異なり、MMU内にはTLBのみを持ちTLBミスが即例外を起こし、OSがページテーブルを引いてTLBに追加することによってTLBミスを解決するアーキテクチャや、ページテーブル自体のフォーマットがOSが使えるビットを含めた形でMMUによって定義されていて、TLBミス時にMMU自身が与えられた物理アドレスにあるページテーブルを参照するアーキテクチャもある。.

新しい!!: 動的メモリ確保とページング方式 · 続きを見る »

メモリ管理

メモリ管理(メモリかんり)とは、コンピュータのメモリを管理するもの。単純化すれば、プログラム(プロセスなど)の要求に応じてメモリの一部を割り当てる方法と、そのメモリが不要となったときに再利用のために解放する方法を提供する。 今日では、CPU(メモリ管理ユニット)とオペレーティングシステムが協働して仮想記憶やメモリ保護を提供するのが一般的である。 また、各種データ構造を線形空間であるメモリに展開する場合の管理手法(アルゴリズム)についても「メモリ管理」と呼ばれる。.

新しい!!: 動的メモリ確保とメモリ管理 · 続きを見る »

ライブラリ

ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。.

新しい!!: 動的メモリ確保とライブラリ · 続きを見る »

リアルタイムオペレーティングシステム

リアルタイムオペレーティングシステム(;RTOS)は、リアルタイムシステムのためのオペレーティングシステム (OS) である。組み込みオペレーティングシステムに多い。OSの主要な機能である資源管理において、時間資源の優先度に基づく配分と実行時間の予測可能性を提供することに特化している、ないし、そういった機能に力を入れている。 以下、ほとんどのRTOSが持つ、基本的な機能について述べる。 RTOSは、実行コンテキストを保持するオブジェクト(UNIXではスレッドと呼んでいるものに近いが、RTOSではもっぱらタスクと呼ぶ。以下タスクで統一する)と、タスク間の同期通信機構を提供する。同期通信機構により特定のタスクに待ち状態が発生したときのスケジューリングを行うのも、一般的なOSと同様RTOSの仕事であるが、このスケジューリング規則にRTOSの大きな特色がある。 RTOSへの要求には、以下のようなものが挙げられる。.

新しい!!: 動的メモリ確保とリアルタイムオペレーティングシステム · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 動的メモリ確保とプログラミング言語 · 続きを見る »

プログラム (コンピュータ)

ンピュータプログラム(英:computer programs)とは、コンピュータに対する命令(処理)を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。実際には、外部からの割り込み、ノイズなどにより、設計者の意図しない動作をすることがある。また設計者が、外部からの割り込みの種類を網羅的に確認していない場合もある。.

新しい!!: 動的メモリ確保とプログラム (コンピュータ) · 続きを見る »

ヒープ

ヒープ(heap)とは、「子要素は親要素より常に大きいか等しい(または常に小さいか等しい)」という制約を持つ木構造の事。単に「ヒープ」という場合、二分木を使った二分ヒープを指すことが多いため、そちらを参照すること。 二分ヒープのインデックス付け.

新しい!!: 動的メモリ確保とヒープ · 続きを見る »

ヒープ領域

ヒープ領域(heap memory)はコンピュータープログラミングにおいて、動的に確保可能なメモリの領域。ヒープ (heap) とは、『山積み』という言葉の中の『山』をさす英単語である。 データ構造のヒープと直接的な関係があるかどうかは、ヒープ領域の構造の設計、保守にデータ構造のヒープの技術を使うかどうかに依る(あらゆるデータ構造とヒープ領域の関係について「直接的な関係があるかどうかは、ヒープ領域の構造の設計、保守にそのデータ構造の技術を使うかどうかに依る」ということが言えるので、データ構造のヒープについても、こう主張することが絶対的な間違いだとは言い切れない)。 ヒープ領域は、2種類のラベルを持つ双方向リストによって構成されている。初期状態では、リストはひとつの「未使用」ノードが全体を占めていて、メモリ確保関数(C言語のmalloc, C++のnew等)によって、「未使用」ノードから必要な分を切り取って「使用中」ノードと「未使用」ノードに分ける。確保したメモリが不要になった場合には、メモリ解放関数(C言語のfree, C++のdelete等)によってノードのラベルを「未使用」に書き換える。解放のつど、あるいはカウンタによって一定水準に達した時、連続した個々の「未使用」ノードを結合し、大きな「未使用」ノードに還元する。「未使用」ノードが不足した場合には、オペレーティングシステムに領域拡大を要求しヒープ領域を拡大するか、飛び飛びの未使用領域を連続な未使用領域に統合する。これをごみ集め(garbage collection)という。 ヒープ領域により、変数を動的に確保できる利点がある。欠点としては領域の確認・確保の時間にばらつきがあり処理時間の見積もりが困難になることと、領域の確保と解放の繰り返しによりヒープ上にどこからも参照しない領域が発生することがある。この領域を塵(garbage)という。 「未使用ノード」と「使用中」ノードが混在、つまり塵によりヒープの未使用領域がバラバラに分断された状態をフラグメンテーション状態と呼ぶ。.

新しい!!: 動的メモリ確保とヒープ領域 · 続きを見る »

デフラグメンテーション

デフラグメンテーション(defragmentation)とは、コンピュータのファイルシステムにおけるフラグメンテーションを解消すること。しばしば略してデフラグとも呼ばれる。.

新しい!!: 動的メモリ確保とデフラグメンテーション · 続きを見る »

フラグメンテーション

フラグメンテーション(fragmentation)、断片化(だんぺんか)とは、コンピュータ上のメモリの管理上の一単位が、そのままでは有効利用できない状態になることを言う。 具体的には、使用中のメモリ領域がわずかな大きさの未使用領域を挟んで飛び飛びに配置され、連続した未使用領域が大きく確保できなくなる状態を言う。 このような状態に陥ると、メモリ領域の新たな確保、走査に時間がかかるため、コンピュータのパフォーマンスが低下する傾向にある。 メモリ上での領域確保・解放の操作を長期間繰り返していると、フラグメンテーションは必然的に、主記憶・二次記憶を問わず発生する。これを解消するには、使用中のメモリ領域を移動させ、隣り合わせに配置し直すことで相対的に連続未使用領域を大きくする。この操作をデフラグメンテーション(defragmentation, デフラグ)もしくはメモリ・コンパクション(memory compaction)と呼ぶ。.

新しい!!: 動的メモリ確保とフラグメンテーション · 続きを見る »

アルゴリズム

フローチャートはアルゴリズムの視覚的表現としてよく使われる。これはランプがつかない時のフローチャート。 アルゴリズム(algorithm )とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法と訳されることもある。 「問題」はその「解」を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与える。さらに多くの場合において効率性が重要となる。 コンピュータにアルゴリズムをソフトウェア的に実装するものがコンピュータプログラムである。人間より速く大量に計算ができるのがコンピュータの強みであるが、その計算が正しく効率的であるためには、正しく効率的なアルゴリズムに基づいたものでなければならない。.

新しい!!: 動的メモリ確保とアルゴリズム · 続きを見る »

オペレーティングシステム

ペレーティングシステム(Operating System、OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェアである。通常、OSメーカーが組み上げたコンピュータプログラムの集合として、作成され提供されている。 オペレーティングシステムは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のオペレーティングシステムの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェース、TCP/IPなどのネットワーク、などがある。オペレーティングシステムは、パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、更にはスマートフォンやゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。 製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 OSの中で、タスク管理やメモリ管理など特に中核的な機能の部分をカーネル、カーネル以外の部分(シェルなど)をユーザランドと呼ぶ事もある。 現代の主なOSには、Microsoft Windows、Windows Phone、IBM z/OS、Android、macOS(OS X)、iOS、Linux、FreeBSD などがある。.

新しい!!: 動的メモリ確保とオペレーティングシステム · 続きを見る »

オブジェクト指向プログラミング

ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.

新しい!!: 動的メモリ確保とオブジェクト指向プログラミング · 続きを見る »

カーネル

ーネルはアプリケーションソフトウェアとコンピュータのハードウェアを結び付ける。 カーネル(kernel)は、階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。アプリケーションとハードウェアレベルでの実際のデータ処理との間の架け橋である。システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する。 オペレーティングシステムの基本コンポーネントとして、カーネルはメモリ、CPU、入出力を中心としたハードウェアを抽象化し、ハードウェアとソフトウェアがやり取りできるようにする。また、ユーザープログラムのための機能として、プロセスの抽象化、プロセス間通信、システムコールなどを提供する。 これらのタスクはカーネルによって方式が異なり、設計も実装も異なる。モノリシックカーネルは全てを一つの仮想アドレス空間に格納されたコードで実行して性能を向上させようとする。マイクロカーネルはサービスの大部分をユーザー空間で実行し、コードの保守性とモジュール性を向上させようとする, by K.J.。多くのカーネルはこの二つのカテゴリのいずれか、あるいは中間である。.

新しい!!: 動的メモリ確保とカーネル · 続きを見る »

ガベージコレクション

ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.

新しい!!: 動的メモリ確保とガベージコレクション · 続きを見る »

コンピュータ

ンピュータ(Computer)とは、自動計算機、とくに計算開始後は人手を介さずに計算終了まで動作する電子式汎用計算機。実際の対象は文字の置き換えなど数値計算に限らず、情報処理やコンピューティングと呼ばれる幅広い分野で応用される。現代ではプログラム内蔵方式のディジタルコンピュータを指す場合が多く、特にパーソナルコンピュータやメインフレーム、スーパーコンピュータなどを含めた汎用的なシステムを指すことが多いが、ディジタルコンピュータは特定の機能を実現するために機械や装置等に組み込まれる組み込みシステムとしても広く用いられる。電卓・機械式計算機・アナログ計算機については各項を参照。.

新しい!!: 動的メモリ確保とコンピュータ · 続きを見る »

スタック

タックは、コンピュータで用いられる基本的なデータ構造の1つで、データを後入れ先出し(LIFO: Last In First Out; FILO: First In Last Out)の構造で保持するものである。抽象データ型としてのそれを指すこともあれば、その具象を指すこともある。 特にその具象としては、割込みやサブルーチンを支援するために極めて有用であることから、1970年代以降に新しく設計された、ある規模以上のコンピュータは、スタックポインタによるコールスタックをメモリ上に持っていることが多い。.

新しい!!: 動的メモリ確保とスタック · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

新しい!!: 動的メモリ確保とサブルーチン · 続きを見る »

組み込みシステム

組み込みシステム(くみこみシステム、英: Embedded system)とは、特定の機能を実現するために家電製品や機械等に組み込まれるコンピュータシステムのこと。.

新しい!!: 動的メモリ確保と組み込みシステム · 続きを見る »

物理アドレス

ンピューティングにおいて、物理アドレス(ぶつりアドレス、physical address)または実アドレス(じつアドレス、real address)とは、データバスが、メインメモリの特定の記憶セル、またはメモリマップドI/Oデバイスのレジスタにアクセスすることを可能にするために、 アドレスバス回路上の二進数の形式で表されるメモリアドレスである。.

新しい!!: 動的メモリ確保と物理アドレス · 続きを見る »

Direct Memory Access

Direct Memory Access(DMA)とは、プログラムされた機械語の命令群の実行によってアキュムレータなどを介する方法によらず、メモリとメモリまたはメモリとI/Oデバイスの間で直接データを転送することである。 専用回路のことを DMAC(DMA Controller)と言う。.

新しい!!: 動的メモリ確保とDirect Memory Access · 続きを見る »

連結リスト

連結リスト(れんけつリスト、Linked list)は、最も基本的なデータ構造の1つであり、他のデータ構造の実装に使われる。リンクリスト、リンクトリストとも表記される。 一連のノードが、任意のデータフィールド群を持ち、1つか2つの参照(リンク)により次(および前)のノードを指している。連結リストの主な利点は、リスト上のノードを様々な順番で検索可能な点である。連結リストは自己参照型のデータ型であり、同じデータ型の別のノードへのリンク(またはポインタ)を含んでいる。連結リストは場所が分かっていれば、ノードの挿入や削除を定数時間で行うことができる(場所を探すのにかかる時間はリスト上の順番の条件などにも依存するし、後述する片方向リストなのか双方向リストなのかにも依存する)。連結リストにはいくつかの種類があり、片方向リスト、双方向リスト、線形リスト、循環リストなどがある。 連結リストは多くのプログラミング言語で実装可能である。LISP や Scheme 、Prologといった言語は組み込みでこのデータ構造を持っていて、連結リストにアクセスするための操作も組み込まれている。手続き型やオブジェクト指向型の言語(C言語、C++、Java)では、連結リストを作るには mutable(更新可能)な参照を必要とする。.

新しい!!: 動的メモリ確保と連結リスト · 続きを見る »

LIFO

LIFO(Last In, First Out, 後入れ先出し)。FILO(First In, Last Out)は同義語。 古いデータほど、長く残るデータ格納方式。 最初に入れたデータは、最後まで格納されており、それがなくなれば、格納場所は空になる。 プロセッサのスタックに、多く採用されている。.

新しい!!: 動的メモリ確保とLIFO · 続きを見る »

Linuxカーネル

Linuxカーネルは、Unix系オペレーティングシステムであるLinuxのカーネル。リーナス・トーバルズによって開発が開始された。 ライセンスにGPL(バージョン2)を採用する自由なソフトウェアである。 通常、Linuxカーネルと言えばリーナスが公開している公式版のカーネルを指すが、Linuxディストリビューションで使用されているカーネルは、公式版カーネルにベンダーが独自の修正や変更を加えたものであることが多い。Androidで使用されているカーネルもそのひとつである。このような非公式のカーネルは、ベンダーがサポートすべきものとして、Linux Kernel Mailing List などでは基本的に対象外となっている。 開発の初期には、MINIXを参考としており、影響を受けてもいるが、MINIXのコードは使用せず、ゼロから書かれた(IBM PCを端末エミュレータとして動かすためのコードから成長させたものと言われている)。 GPLを採用したことがLinuxを共有の物として開発することを推進させた、とされている。また、Linuxの開発とインターネットの発展が時期的に一致したことも、Linuxの開発コミュニティ形成に寄与した。 また、開発に際して、よりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing Listへのバグ報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナスと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。.

新しい!!: 動的メモリ確保とLinuxカーネル · 続きを見る »

LISP

LISPは、プログラミング言語である。 によって記述される。-->前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用されている高水準プログラミング言語の中でもFORTRANに次いで2番目に古い。ただし、FORTRANと同様に、現在のLISPは初期のものから非常に大きく変化している。 これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。 LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。 コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数fは、(f arg1 arg2 arg3)として呼び出される。.

新しい!!: 動的メモリ確保とLISP · 続きを見る »

Malloc

malloc(マロック, エムアロック)、free、calloc、reallocは、動的メモリ確保を行うC言語の標準ライブラリの関数である。 mallocが使用する実際のメモリ確保機構には様々な実装がある。それらの性能は、実行時間と要求されるメモリの両面で様々である。.

新しい!!: 動的メモリ確保とMalloc · 続きを見る »

Mmap

mmap() は、UNIXのシステムコールのひとつで、ファイルやデバイスなどのオペレーティングシステム (OS) 上のリソースの一部または全部を連続した仮想アドレス空間にマッピングする関数である。 ファイルシステム上のリソースに対するアクセス方法として、ストリームI/Oを行うシステムコールとの比較で、ユーザ空間とカーネル空間の間で読み書きされるデータのブロック転送が多くのアーキテクチャ上では発生しないことから、好まれる場合がある。 デバイスでは、ioctl()とともにメモリマップドI/OやDMAなどの操作を抽象化するものとしてドライバからファイルI/Oサービスの一部として提供されることがある。.

新しい!!: 動的メモリ確保とMmap · 続きを見る »

Solaris

Solaris(ソラリス)はサン・マイクロシステムズ(サン)によって開発され、UNIXとして認証を受けたオペレーティングシステム (OS) である。2010年1月27日のオラクルによるサン買収に伴い、現在の開発は同社が担っている。 プロプライエタリ・ソフトウェアであるが、かつてコア部分(ONという:OS+NETの略)はOpenSolarisとしてオープンソース化されたが、2010年8月以降、ONのソースコードの公開はされていない。 なお、公開されていたONのソースコードは、有志の手によってIllumosプロジェクトとしてオープンソース化されたまま更新が続けられている。.

新しい!!: 動的メモリ確保とSolaris · 続きを見る »

UNIX System V

System V(システムファイブ、SysV)は、初期の商用UNIXオペレーティングシステムの一種である。.

新しい!!: 動的メモリ確保とUNIX System V · 続きを見る »

木構造 (データ構造)

親子構造 木構造(きこうぞう)とは、グラフ理論の木の構造をしたデータ構造のこと。.

新しい!!: 動的メモリ確保と木構造 (データ構造) · 続きを見る »

情報量

情報量(じょうほうりょう)やエントロピー(entropy)は、情報理論の概念で、あるできごと(事象)が起きた際、それがどれほど起こりにくいかを表す尺度である。ありふれたできごと(たとえば「風の音」)が起こったことを知ってもそれはたいした「情報」にはならないが、逆に珍しいできごと(たとえば「曲の演奏」)が起これば、それはより多くの「情報」を含んでいると考えられる。情報量はそのできごとが本質的にどの程度の情報を持つかの尺度であるとみなすこともできる。 なおここでいう「情報」とは、あくまでそのできごとの起こりにくさ(確率)だけによって決まる数学的な量でしかなく、個人・社会における有用性とは無関係である。たとえば「自分が宝くじに当たった」と「見知らぬAさんが宝くじに当たった」は、前者の方が有用な情報に見えるが、両者の情報量は全く同じである(宝くじが当たる確率は所与条件一定のもとでは誰でも同じであるため)。.

新しい!!: 動的メモリ確保と情報量 · 続きを見る »

2の冪

2の冪(にのべき)は、適当な自然数 n を選べば、2 の n 乗 2n の形に表せる自然数の総称である。平たく言うと2の累乗数(にのるいじょうすう)である。.

新しい!!: 動的メモリ確保と2の冪 · 続きを見る »

ここにリダイレクトされます:

動的メモリアロケーション

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »