Skip to main content

偽の共有とは何ですか?

false False共有は、実行中の2つのアプリケーションが同時に、各プログラムまたはプロセスが独自のキャッシュに保存しているのと同じ論理メモリ領域の情報にアクセスしようとする場合に、コンピュータープログラムで発生する可能性のある状況です。各アプリケーションのキャッシュのデータは共通のソースからコピーされるため、1つのキャッシュを変更すると、他のキャッシュをソースからリロードする必要があります。共有の誤った側面は、1つのプログラムによるキャッシュラインに加えられた変更が実際に2番目のプログラムが使用しているデータに影響を与えない場合に発生します。プログラムのパフォーマンス。誤った共有の問題は、アプリケーションに含まれるコードの直接的な結果ではないため、検出が困難です。。

オペレーティングシステムまたはハードウェアが読み取りおよび書き込みデータを処理する方法に誤った共有が発生する主な理由の1つが見つかります。ハードディスクまたは他のソースからの情報がプログラムによって読み取られたり書かれたりしている場合、通常は一時的なキャッシュにロードされるため、迅速にアクセスできます。ソースの位置からキャッシュされた情報の量はキャッシュラインと呼ばれ、通常は2バイトから256バイトの長さになる可能性のあるメモリの論理ブロックです。一部のオペレーティングシステムまたはシステムアーキテクチャでは、並列処理など、プログラムが同時に実行できます。これは、2つの別々のプログラムが同じキャッシュラインで情報にアクセスしようとすることが可能であるため、各プログラムにはソースデータの独自のコピーがあり、1つのキャッシュの変更が他のキャッシュに反映されない可能性があり、無効になります。それが保持するデータ。2つのプログラムが同じキャッシュラインにアクセスしようとする場合に状況を処理するために採用されている多くのメカニズムがありますが、最も多くの場合、1つのプログラムが更新された情報でキャッシュをリロードすることを余儀なくされます。変更されています。このタイプのインシデントは、各プログラムがアクセスしているキャッシュライン内のデータが関連していない場合に誤った共有として知られているため、1つのプログラムにキャッシュをリロードすることは、処理能力やその他のリソースの無駄です。これは、キャッシュ内の情報を決して変更しないプログラムの問題であるため、他のプロセスが行ったアプリケーションの上書きの変更のリスクはありません。共有。1つ目は、メモリ内のデータの前後に空白の情報を追加し、本質的に別のプログラムからアクセスされていない別のキャッシュラインに強制することです。2番目の方法は、読み取りと書き込みの頻度をキャッシュラインに制限することで、できるだけ少ないリロードされません。より複雑なソリューションには、キャッシュレベルの管理や、オペレーティングシステムが共有を処理する方法の変更も含まれます。