Страницы

Поиск по вопросам

четверг, 11 июля 2019 г.

Виртуальная память vs обычный файл

Например, нужно обработать очень много данных, все в озу хранить желание отпадает - есть виртуальная память! Можно у ос попросить несколько страниц и готово. Есть альтернатива, простой файл в файловой системе. Так же как виртуальная память, хранится на жестком диске. Плюс обыкновенного файла в том, что он может изменять свой размер, не выделяется страницами.
Есть у виртуальной памяти свои плюсы в сравнении обыкновенного файла? Оба на жестком диске, время считывания одинаковое.


Ответ

«Виртуальная память» к дисковым операциям имеет весьма опосредованное отношение — само понятие ВП не подразумевает наличия page-файла, но вот реализация в массовых ОС такова, что действительно, зачастую, используется файл подкачки, swap раздел и т.п. Так вот, в общем случае мы не контролируем где будет хранится страница, более того, если страница используется часто или «здесь и сейчас», то он с вероятностью в 99.99% будет находится именно в ОЗУ, а не в файле подкачки.
Как правило, в наиболее чувствительных к производительности местах, используются именно memory-mapped files, потому что именно этот механизм является наиболее производительным. Поэтому если стоит вопрос, что будет быстрее — хранение в памяти всегда будет быстрее, даже если придётся читать из файла подкачки.

Комментариев нет:

Отправить комментарий