Файл подкачки и виртуальная память
Файл подкачки и виртуальная память
Первоначально PGP создавался для MS-DOS — примитивной по сегодняшним меркам операционной системы. Но когда он был адаптирован под более комплексные ОС, такие как Microsoft Windows и Macintosh OS, возникла новая проблема. Эта проблема проистекает из факта, что эти продвинутые ОС используют метод, называемый виртуальной памятью.
Виртуальная память позволяет исполнять программы, намного превышающие ёмкость установленных в вашем компьютере полупроводниковых схем оперативной памяти (ОЗУ). Это очень полезно, так как софт становится всё более и более "раздутым" из-за ставших нормой графических интерфейсов, а пользователи всё чаще работают с несколькими крупными приложениями одновременно. С этой целью ОС для хранения невостребованных на данный момент частей программы использует жёсткий диск. Это означает, что ОС может записывать на диск такие вещи, которые, как вы считали, должны храниться только в основной физической памяти; это могут быть ключи, пароли, расшифрованный открытый текст. PGP не держит ценные данные подобного рода в памяти дольше, чем нужно, но есть вероятность, что ОС всё равно запишет их на диск.
Данные записываются в специальную область диска, называемую своп-файлом (swap file), или файлом подкачки. Затем они по мере надобности считываются из своп-файла, так что на каждый момент времени в физической памяти находится только часть информации или исполняемой программы. Все эти действия незаметны для пользователя, который видит только перемигивания индикатора доступа к диску. Microsoft Windows подкачивает блоки памяти, называемые страницами, используя алгоритм замены наименее используемых страниц(Least Recently Used, LRU). Это значит, что из памяти в первую очередь выгружаются те страницы, к которым дольше всего не было запросов. Такой подход снижает риск, что ценные данные будут записаны на диск, поскольку PGP не оставляет их надолго в памяти. Также мы старались по возможности заставить ОС блокировать такие данные в физической памяти, не позволяя выкачивать их на диск. Но мы не можем ничего гарантировать.
Всякий, кто имеет физический доступ к вашему компьютеру, может получить доступ и к этому файлу. Если вас беспокоит эта проблема, её можно решить, установив программу для шифрования или перезаписи файла подкачки. Другое возможное решение — отключить виртуальную память операционной системы совсем. MS Windows, как и Mac OS, позволяют сделать это. Но её отключение потребует от вас установить дополнительные схемы ОЗУ, чтобы уместить всё в физической памяти.