FileMapping

Тема в разделе "WASM.BEGINNERS", создана пользователем XSInet, 6 май 2006.

  1. XSInet

    XSInet New Member

    Публикаций:
    0
    Регистрация:
    4 май 2006
    Сообщения:
    5
    Здравствуйте.

    При работе с CreateFileMapping, файл реально загружается в оперативку, или это всего лишь функции для работы с файлом как с памятью ?
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    в диспетчере задач посмотри
     
  3. XSInet

    XSInet New Member

    Публикаций:
    0
    Регистрация:
    4 май 2006
    Сообщения:
    5
    Не понял, причём тут "Диспечер задач"
     
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    Открой файл размером ~1Г и посмотри что диспетчер покажет по поводу используемой памяти
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    XSInet

    rmn

    Сколько реально загрузится в оперативку - зависит от dwMaximumSize.
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    XSInet

    Основное отличие MMF от обычного чтения файлов заключается в том, что непосредственно при вызове MapViewOfFile никакие данные в ОЗУ вообще не загружаются, а в процессе работы с View винда загружает с диска те страницы, к которым происходит обращение на чтение или запись. Поэтому если ты в процессе работы обращаешься ко всем страницам, то все они в итоге оказываются в ОЗУ (если достаточно свободной физ.памяти)

    PS: на MMF также основана загрузка\подгрузка кода и данных exe\dll - пока исполнение кода не дойдет до данной страницы и проц не выдаст исключение, винда и не подумает ее загружать в ОЗУ. Правда, вроде бы остается открытым вопрос - загружает ли винда при MMF за раз одну страницу или все-таки несколько