В текущей исходной версии ядра Linux это приведет к сбоям страниц, но, похоже, их копии останутся подкачкой.
Я полагаю, что большинство систем BSD и других систем UNIX ведут себя одинаково, хотя не уверен насчет Windows.
Задержка записи чего-либо до вызова mlock () предотвратит выгрузку данных, но не может гарантировать, что данные не будут записаны на диск, если спящий режим, опосредованный ACPI S4 и ОС, невозможен и вы не находитесь в виртуальной машине (если вы находитесь в виртуальной машине, вы можете находиться под гипервизором типа 1 и, следовательно, подчиняться ограничениям виртуальной памяти хост-системы, которые вы не можете контролировать).
В результате правильное смягчение включает в себя:
- Обработка на уровне приложения для предотвращения хранения конфиденциальных данных в ОЗУ дольше, чем это необходимо, даже если область заблокирована.
- Обработка на системном уровне для отключения ACPI S4 (обычно требуется только в системах OEM), предотвращения спящего режима, связанного с ОС, и обеспечения доверия к хост-системе при работе в виртуальной машине.