スレッドコンテキストスイッチとプロセスコンテキストスイッチの違い 質問する

スレッドコンテキストスイッチとプロセスコンテキストスイッチの違い 質問する

両方の状況で具体的に何が行われるのか教えていただけますか? それぞれの主なコストはいくらですか?

ベストアンサー1

スレッド スイッチとプロセス スイッチの主な違いは、スレッド スイッチ中は仮想メモリ空​​間が同じままであるのに対し、プロセス スイッチ中は仮想メモリ空​​間が同じではないことです。どちらのタイプでも、コンテキスト スイッチを実行するためにオペレーティング システム カーネルに制御が渡されます。OS カーネルへの切り替えと OS カーネルからの切り替えのプロセスとレジスタの切り替えコストは、コンテキスト スイッチを実行する際の最大の固定コストです。

よりあいまいなコストは、コンテキスト スイッチがプロセッサのキャッシュ メカニズムに影響を及ぼすことです。基本的に、コンテキスト スイッチを行うと、プロセッサがキャッシュに「記憶」しているすべてのメモリ アドレスが実質的に役に立たなくなります。ここでの 1 つの大きな違いは、仮想メモリ空​​間を変更すると、プロセッサの Translation Lookaside Buffer (TLB) または同等のものがフラッシュされ、しばらくの間、メモリ アクセスのコストがはるかに高くなることです。これは、スレッド スイッチ中には発生しません。

おすすめ記事