2012-05-06 14 views

答えて

1

ポータブルな方法はありません。 ページがmlockまたはmlockallでスワップアウトされるのを防ぐことができます(ただし、これには十分な権限が必要です)。また、移植性のない方法を使用することもできます。 Linuxでは、のkpageflagsファイルと、プロセスディレクトリのpagemapファイルが/procの下にあり、十分な情報が得られるはずです。彼らはLinuxソースのDocumentationツリーに文書化されています。

+0

これは役に立つかもしれませんが、/ procは常にメインメモリ上にありますか? –

+0

'/ proc'は実際にディスクやメモリには存在しません。実行時にプロセスがプロセスを読み込むときに生成されます。ファイルは通常のファイルとして表示されますが、この点ではパイプのように動作します。唯一の問題は、 '/'の下の名前 '/ proc'を解決するには'/'にアクセスする必要があるかもしれないが、リアルタイムシステムでは'/'を実際のファイルシステムの内容のほとんど'/ usr'などです。 –

2

携帯ではありません。

可能であっても、ほとんど役に立たないでしょう。チェックしたページがスワップインされると、使用準備が整い次第スワップアウトできます。

+0

このような状況に対処する方法はありません:ページがメモリ内で報告されている場合は、ヘルパースレッドがページ上で 'mlock'を呼び出して(ブロックしないように)、" try "有限時間の成功をチェックするための "timed"型の同期プリミティブです。その後、ページにアクセスしてもIOおよびブロックされないブロックが発生しないことを確認できます。完了したら、ページを 'munlock 'して責任をカーネルに返すことができます。 –

関連する問題