プロセス自体またはスケジューラによってプロセスが実行中で実行されていない状態(準備、待機など)に状態を変更すると、すべてのページはプロセスで使用され、他の実行中のプロセスと共有されません。メインメモリからスワップアウト?
それとも、プロセスが実行されていないときにそのプロセスで使用されているページの一部が、実行中の他のプロセスと共有されず、まだメインメモリに残っている可能性がありますか?
ありがとうございます。
答え1
いいえ。通常、実行されないプロセスのページはそのまま残ります。メモリ不足が必要な場合にのみ置き換えられ、最近使用されていなかったページのみが置き換えられます。
ほとんどのプロセスは、毎秒数回実行中状態から非実行状態に切り替わり、ほとんどの時間を非実行状態から送信します。実行していない間にすべてのプロセスが置き換えられた場合、パフォーマンスに与える影響を想像してください。 (デスクトップ環境を実行するようにしておくと)一晩中バックグラウンドタスクを実行すると、大量のメモリが消費され、これが発生することがわかります。デスクトップ環境の非アクティブプロセスが置き換えられ、朝はかなり長い時間を待つ必要があります。システムが応答します。再び。)