Что такое файлы, проецируемые в память? Какие базовые механизмы операционных систем реализованы через данный подход?

8 года назад от Филл Коыстылёв

1 ответ

0 голосов
прекрасный механизм.

говоришь, что ты хочешь видеть какой-то файл просто как буфер в памяти - тебе дают адрес, работай на здоровье. До гига можно просто одним куском, больше - желательно просить показывать тебе конкретные куски.

при этом ничего без нужды не читается и не пишется! как только ты обращаешься к памяти - а там еще не прочитано . происходит прерывание и нужный кусок подгружается. Если уже в памяти - никаких расходов на проверки нет. руками такую буферизацию не напишешь.

эта штука позволяет применять к файлам алгоритмы, написанные для памяти. Например - можно отсортировать файл, кк-то переставить в нем части обычными функциями, можно держать чудовищную матрицу и обращаться к нужным полям - и не тратить время на загрузку всего файла, что надо - загрузится, что не надо - так и будет лежать себе.

Сама винда таким путем загружает исполняемые файлы и DLL, так что аппарат вылизан очень хорошо.

Я когда-то так даже выводил на экран очень большие фотографии (по 100-500 мегов) , проецировал и выводил нужный кусок или всю в нужном масштабе. Что интересно - я даже не обращался к этой памяти, обращалась видеокарта, а Винда послушно подгружала только то, что надо.
8 года назад от Рамка

Связанные вопросы