
比較表
比較基準 | スプーリング | バッファリング |
---|---|---|
基本 | スプーリングは、あるジョブの入出力と別のジョブの計算をオーバーラップします。 | バッファーは、1つのジョブの入出力と同じジョブの計算をオーバーラップします。 |
完全形 | 同時周辺機器オンライン | フルフォームはありません。 |
効率的 | スプーリングはバッファリングよりも効率的です。 | バッファリングは、スプーリングよりも効率的です。 |
サイズ | スプーリングは、ディスクを巨大なスプールまたはバッファと見なします。 | バッファはメインメモリの限られた領域です。 |
スプーリングの定義
オンラインでの同時周辺操作 、この頭字語はSpoolingです。 スプールは、デバイスがジョブを受け入れる準備ができるまでデバイスのジョブを保持する一種のバッファです。 スプーリングは、出力デバイスがそれらを受け入れる準備ができるまでデバイスのための多くのジョブを格納することができる巨大なバッファとしてディスクをみなします。
スプーリングでは、あるジョブの入出力が別のジョブの計算とオーバーラップします。 たとえば、スプーラは一度に1つのジョブの入力を読み取り、同時に別のジョブの出力も印刷することがあります。
スプーリングはリモートサイトでデータを処理することもできます。 スプーラが次のプロセスをリモートサイドデバイスにスプールできるように、スプーラはプロセスがリモートサイトで完了したときに通知するだけで済みます。
スプーリングは、デバイスの稼働率を上げることによってシステムのパフォーマンスを向上させます。 それは当然マルチプログラミングにつながります。
バッファリングの定義
バッファリングについて説明する前に、バッファについて教えてください。 バッファとは、2つのデバイス間、またはデバイスとアプリケーション間で送信されているデータを一時的に格納または保持するために使用されるメインメモリ内の領域です。 簡単に言うと、bufferはある場所から別の場所に送信されているデータを一時的に格納します。 データを一時的にバッファに格納することをバッファリングと呼びます。
データのバッファリングの背後にある3つの理由があります、それが最初にそれが間でデータが送信される2つの装置間の速度を合わせるのに役立ちます。 たとえば、ハードディスクからモデムから受信したファイルを保存する必要があります。 今、私たちが知っているようにモデムの伝送速度はハードディスクに比べて遅いです。 モデムから来るバイトはバッファスペースに蓄積され、ファイルのすべてのバイトがバッファに到着すると、データ全体が1回の操作でハードディスクに書き込まれます。
第二に 、それは異なるデータ転送サイズを持つデバイスが互いに順応するのを助けます。 送受信する前にデバイスがデータを操作するのに役立ちます。 コンピュータネットワーキングでは、大きいメッセージは小さいフラグメントに細分化され、ネットワークを介して送信されます。 受信側では、フラグメントはバッファに蓄積され、完全な大きなメッセージを形成するために再構成されます。
バッファリングの3番目の用途は、 コピーセマンティクスもサポートしていることです。 コピーセマンティクスでは、バッファ内のデータのその後の変更に関係なく、バッファ内のデータのバージョンはシステムコール時のデータのバージョンであることが保証されます。 バッファリングはデバイスのパフォーマンスを向上させます。 これは1つのジョブの入出力と同じジョブの計算をオーバーラップします。
スプーリングとバッファリングの主な違い
- スプーリングとバッファリングの主な違いは、スプーリングは1つのジョブのI / Oと他のジョブの計算を同時に処理できるのに対し、バッファリングは1つのジョブのI / Oとその計算を同時に処理できることです。
- スプーリングは、オンライン同時操作の頭字語です。 しかし、バッファリングは頭字語ではありません。
- スプーリングは、一度に2つのジョブを処理することをオーバーラップすることができるので、バッファリングよりも効率的です。
- Spoolはディスクを巨大なバッファとして使用するのに対し、バッファはメインメモリ内の限られた領域です。
結論:
スプーリングとバッファリングはどちらもコンピュータの効率を向上させますが、スプーリングは一度に2つのジョブの処理を処理するため、バッファリングより優れています。