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