質問
どこにでも" BUFFER" という単語が表示されますが、その正確な内容を把握できません。
- バッファとは何かを素人の言語で説明してもらえますか?
- いつ使用されますか
- 使用方法
解決
ボウルからキャンディーを食べていると想像してください。定期的に一枚取ります。ボウルが空になるのを防ぐため、ボウルが空になる前に誰かがボウルを補充することがあります。
ボウルは、あなたとキャンディーバッグの間のバッファーとして機能します。
オンラインで映画を視聴している場合、Webサービスは次の5分程度をバッファーに継続的にダウンロードします。これにより、コンピューターは映画を視聴中にダウンロードする必要がなくなります(これにより、ぶら下げ)。
他のヒント
用語「バッファ」は非常に一般的な用語であり、ITやCSに固有のものではありません。入力速度と出力速度の違いを緩和するために、一時的に何かを保存する場所です。プロデューサはコンシューマよりも高速ですが、プロデューサは出力をバッファに格納し続けることができます。コンシューマが高速化すると、バッファから読み取ることができます。ギャップを埋めるためにバッファーが中央にあります。
http://en.wiktionary.org/wiki/bufferで定義を平均化する場合、あなたはアイデアを得ると思います。
私たちが本当に「学校に行くには毎日雪を考えて10マイル歩いた」という証拠については、 TOPS-10 Monitor Calls Manual Volume 1 、セクション11.9、「バッファリングI / Oの使用」、ブックマーク11-24。悪夢にさらされている場合は読んではいけません。
バッファは、データを保持するために使用されるメモリの塊です。最も一般的な意味では、通常、1回の操作で読み込まれた1つのメモリの塊であり、1つ以上のPerchikの「キャンディボウル」で空にされます。例。たとえば、Cプログラムでは、次のようになります。
#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;
// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
write(STDOUT, buffer, len);
...これは cp(1)の最小バージョンです。ここでは、バッファ配列は、書き込まれるまで read(2)によって読み取られたデータを保存するために使用されます。バッファは再利用されます。
より複雑なバッファスキームが使用されます。たとえば、循環バッファでは、有限数のバッファが次々に使用されます。バッファがすべていっぱいになると、インデックス「ラップアラウンド」が行われます。最初のものが再利用されるように。
バッファは「一時ストレージ」を意味します。相互接続されたデバイスとシステムが互いに「同期」することはめったにないため、バッファはコンピューティングで重要です。そのため、あるシステムから別のシステムに情報が送信されるとき、受信側システムの準備が整うまで待機する場所があります。
定義は1つも存在しないため、実際にはそれぞれの場合にコンテキストに依存しますが、非常に一般的に言えば、バッファーは一時的に何かを保持する場所です。私が考えることができる最高の現実世界の類推は、待合室でしょう。コンピューティングの1つの簡単な例は、バッファがデータの一時的な保存に使用されるRAMの一部を指す場合です。
バッファはメモリ(RAM /ディスク)内の一時的なプレースホルダ(多くのプログラミング言語の変数)であり、データをダンプしてから処理を行うことができます。
用語「バッファ」は非常に一般的な用語であり、ITやCSに固有のものではありません。入力速度と出力速度の違いを緩和するために、一時的に何かを保存する場所です。プロデューサはコンシューマよりも高速ですが、プロデューサは出力をバッファに格納し続けることができます。コンシューマが高速化すると、バッファから読み取ることができます。ギャップを埋めるためにバッファーが中央にあります。
バッファはメモリ(RAM /ディスク)内の一時的なプレースホルダ(多くのプログラミング言語の変数)であり、データをダンプしてから処理を行うことができます。
バッファリングには、並列処理やIOパフォーマンスの向上などを可能にするなど、多くの利点があります。
また、バッファオーバーフロー、バッファアンダーフローなど、正しく使用しないと多くの欠点があります。
C文字バッファの例。
char * buffer1 = calloc(5、sizeof(char));
char * buffer2 = calloc(15、sizeof(char));
バッファは、異なる速度または異なる優先度で動作するハードウェアデバイスまたはプログラムプロセスによって共有されるデータ領域です。バッファにより、各デバイスまたはプロセスは、他のデバイスやプロセスに縛られることなく動作できます。バッファを有効にするには、バッファのサイズと、バッファの内外にデータを移動するためのアルゴリズム。
バッファは「中間点保持場所」です;アクティビティの速度を加速するためではなく、個別のアクティビティの調整をサポートするために存在します。
この用語は、プログラミングとハードウェアの両方で使用されます。プログラミングでは、バッファリングは、通常のファイルまたはデータベースに移動する前に編集またはその他の方法で処理できるように、最終目的の場所からデータを選別する必要があることを意味する場合があります。