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

プロセス間通信と共有メモリ

ショートカット: 違い類似点ジャカード類似性係数参考文献

プロセス間通信と共有メモリの違い

プロセス間通信 vs. 共有メモリ

プロセス間通信(IPC、interprocess communication)はコンピュータの動作において複数のプロセス間(の複数のスレッド間)でデータをやりとりするための仕組み。通信するプロセスは同一コンピュータ上にある場合と、ネットワークで接続された別のコンピュータ上にある場合がある。そのようなローカル内対リモート間といったような分類以外にも多くの観点から分類でき、また、スレッド間の通信の帯域幅とレイテンシは様々であり、やりとりされるデータの種類も様々である。メッセージパッシング、同期、共有メモリ、RPCなどといったメカニズムやプリミティブがある。 プロセス間通信の目的・理由には以下のようなものがある。. 情報処理において共有メモリ(きょうゆう-)とは、複数のプログラムが同時並行的にアクセスするメモリである。.

プロセス間通信と共有メモリ間の類似点

プロセス間通信と共有メモリは(ユニオンペディアに)共通で11ものを持っています: 名前付きパイププロセスパイプ (コンピュータ)スレッド (コンピュータ)セマフォソケット (BSD)C++Common Object Request Broker ArchitectureMmapPHP (プログラミング言語)POSIX

名前付きパイプ

名前付きパイプ(named pipe)は、UNIXおよびUnix系の通常のパイプを拡張したもので、プロセス間通信の技法の1つ。その概念は Microsoft Windows にもあるが、意味論は大幅に異なる。通常のパイプは「無名」であり、使用しているプロセスが動作中のみ存在する。名前付きパイプは永続的で、プロセスが消滅しても存在し続けるので、使わなくなったら削除する必要がある。名前付きパイプはファイルのように扱うことができ、プロセス間通信 (IPC) を行うためにプロセスがオープンして使用する。一般にパイプの動作はFIFOだが、名前付きパイプは、ファイルシステム中での種別(通常ファイル、ディレクトリ、デバイスファイル、etc)として「FIFO」と呼ばれている。.

プロセス間通信と名前付きパイプ · 共有メモリと名前付きパイプ · 続きを見る »

プロセス

プロセスとは、情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する。.

プロセスとプロセス間通信 · プロセスと共有メモリ · 続きを見る »

パイプ (コンピュータ)

ある端末上で3つのパイプで繋いだプログラムを実行する際の入出力の流れ Unix系オペレーティングシステムにおけるパイプ(pipe)、もしくはパイプライン (pipeline) とは、複数のプログラムの入出力をつなぐための仕組み(プロセス間通信)の一つである。大変便利であることからUnix系以外でも同様の実装や、あるいは擬似的な実装によって似たようなことができるものも多い。直接の親子関係にあるプロセス間で通信をおこなうためfork前にあらかじめ共有しておく「無名パイプ」と、親子関係などにないプロセス間で一時ファイルなどを通して接続する(接続を確立するためにファイルを経由するだけで、接続自体はファイルを経由するわけではない)「名前付きパイプ」がある。ダグラス・マキルロイがUnixシェル向けに考案したことから始まり、パイプライン輸送からの連想で名付けられた。 特に、シェルなどでは縦棒( | )の記号を使って無名パイプを簡単に利用でき、それを指して「パイプ」と言うことも多い。プロセス群の標準ストリームを連鎖的に相互接続するもので、あるプロセスの標準出力 (stdout) を直接別のプロセスの標準入力 (stdin) に接続する。 「1つだけの仕事をうまくやる、道具のようなソフトウェア」(Software Tools)をパイプラインによって組み合わせる、というアイデアはUNIXやUnix系のOS以外にも、MS-DOS をはじめとする様々なOSやアプリケーションに、動作に多少の違いはあるものの受け継がれている。パイプで連結することを前提とした構成のプログラムをフィルタと呼ぶ。 前述のシェルのコマンドラインにおけるパイプは、中置記法で結合法則を満たす演算子と見ることができる(その時、演算子(オペレータ)のオペランドにあたるのは、各プログラムである)。これを一種の「合成」と見ることもできる。一般に数学で、f, g, h という関数があるとして h(g(f(x))) というような計算をすることを考える時、関数を関数合成の演算子 ∘ で合成した (h∘g∘f)(x) というものを考えることがあるが、パイプの演算子 | はこれに似ており (progF あるいは (progF | progG | progH) といったような感じになる。.

パイプ (コンピュータ)とプロセス間通信 · パイプ (コンピュータ)と共有メモリ · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

スレッド (コンピュータ)とプロセス間通信 · スレッド (コンピュータ)と共有メモリ · 続きを見る »

セマフォ

マフォ(semaphore)とは、計算機科学において、並列プログラミング環境での複数の実行単位(主にプロセス)が共有する資源にアクセスするのを制御する際の、単純だが便利な抽象化を提供する変数または抽象データ型である。 ある資源が何個使用可能かを示す記録と考えればわかりやすく、それにその資源を使用する際や解放する際にその記録を「安全に」(すなわち競合状態となることなく)書き換え、必要に応じて資源が使用可能になるまで待つ操作が結びついている。セマフォは競合状態を防ぐ便利なツールであるが、セマフォを使うことでプログラムにおける競合状態がなくなると保証するものではない。任意個の資源を扱うセマフォをカウンティングセマフォ、値が0と1に制限されている(ロック/アンロック、使用可能/使用不可の意味がある)セマフォをバイナリセマフォと呼ぶ。後者はミューテックスと同等の機能を持つ。 セマフォの概念はオランダ人計算機科学者エドガー・ダイクストラが考案した。今ではさまざまなオペレーティングシステムで採用されている。 「semaphore」の本来の語義は「視覚による通信・信号」全般を指し、腕木通信や、それから派生した鉄道の腕木信号(や自動車の方向指示器)、手旗信号などが含まれる。日本語でのセマフォは、本用途(コンピュータ、プログラミング関連)に限られる。 語源の腕木式信号機.

セマフォとプロセス間通信 · セマフォと共有メモリ · 続きを見る »

ソケット (BSD)

ット(Socket)とは、BSD系UNIXを起源とするAPIであり、C言語によるアプリケーション開発でのプロセス間通信、特にコンピュータネットワークに関するライブラリを構成する。BSDソケット、バークレーソケットなどとも呼ばれる。 1983年にリリースされたUNIXオペレーティングシステム (OS) 4.2BSD で初めて API として実装された。ネットワークの抽象化インタフェースとしてのデファクトスタンダードとなっている。伝統的なSocket APIはC言語を対象とするが、他のプログラミング言語でも類似のインタフェースを用意している事が多い。 ソケットの代替となるAPIとして、STREAMSベースの Transport Layer Interface (TLI) がある。しかし、BSDソケットは比較にならないほど普及しており、数多くの実装が存在する。.

ソケット (BSD)とプロセス間通信 · ソケット (BSD)と共有メモリ · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

C++とプロセス間通信 · C++と共有メモリ · 続きを見る »

Common Object Request Broker Architecture

Common Object Request Broker Architecture(コモン オブジェクト リクエスト ブローカー アーキテクチャー、略称CORBA)とは、Object Management Group(OMG)が定義した標準規格であり、様々なコンピュータ上で様々なプログラミング言語で書かれたソフトウェアコンポーネントの相互利用を可能にする(分散オブジェクト技術)ものである。.

Common Object Request Broker Architectureとプロセス間通信 · Common Object Request Broker Architectureと共有メモリ · 続きを見る »

Mmap

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

Mmapとプロセス間通信 · Mmapと共有メモリ · 続きを見る »

PHP (プログラミング言語)

PHP(ピー・エイチ・ピー)は "The PHP Group" によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語およびその公式の処理系であり、特にサーバーサイドで動的なウェブページ作成するための機能を多く備えていることを特徴とする。 名称の PHP は再帰的頭字語として、 "PHP: Hypertext Preprocessor" を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。.

PHP (プログラミング言語)とプロセス間通信 · PHP (プログラミング言語)と共有メモリ · 続きを見る »

POSIX

POSIX(ポシックス、ポジックス、Portable operating system interface)は、各種UNIXを始めとする異なるオペレーティングシステム (OS) 実装に共通のアプリケーションプログラミングインタフェース (API) を定め、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定したAPI規格である。POSIXという名前はリチャード・ストールマンがIEEEに提案したものである。末尾の「」はUNIX互換OSに「」の字がつく名前が多いことからつけられた。ISO/IEC JTC 1/SC 22でISO/IEC 9945として国際規格になっている。.

POSIXとプロセス間通信 · POSIXと共有メモリ · 続きを見る »

上記のリストは以下の質問に答えます

プロセス間通信と共有メモリの間の比較

共有メモリが47を有しているプロセス間通信は、67の関係を有しています。 彼らは一般的な11で持っているように、ジャカード指数は9.65%です = 11 / (67 + 47)。

参考文献

この記事では、プロセス間通信と共有メモリとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »