С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
1

Кэшируются ли маппет файлы?

12.11.2014, 19:01. Показов 1052. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с отображаемыми файлами в памяти(Memory Mapped Files).

Как я понимаю данные при первом чтение файла(на примере текстового файла) проходят по такому пути:
Диск -> Оперативная память -> Кэш -> Пользовательский буфер.

Не могу понять, как этот путь будет выглядит для MMF. И интересующий меня вопрос кэшируются ли маппет файлы?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2014, 19:01
Ответы с готовыми решениями:

Кэшируются в броузере
После сохранения формы в webе, во view она не сразу отображается. Можно "листать" view...

Найти все RTF файлы, захешировать эти файлы MD5 и SHA1. Потов захешированые файлы поместить в документ
Найти все RTF файлы, захешировать эти файлы MD5 и SHA1. Потов захешированые файлы поместить в...

Пропали файлы на флешке.Вместо них файлы и папки со странными именами
Вставил флешку с программами(пользовался ей недавно) и тут такое.... Ни одну папку открыть не...

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как...

7
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
12.11.2014, 19:25 2
Лучший ответ Сообщение было отмечено Suares как решение

Решение

Цитата Сообщение от Suares Посмотреть сообщение
И интересующий меня вопрос кэшируются ли маппет файлы?
Кэш (для любых данных) работает так - подкачивается кусок памяти (кэш-линия), к которому происходит обращение. Если кэш уже забит, то кусок памяти, к которому было самое давнее обращение скидывается (либо в кэш следующего уровня, либо в озу). На его место пишется твои данные. Если нужные данные уже в кеше, то собственно ничего и не происходит. И это поведение не зависит от того есть ли это mapped file или что-то другое.
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
13.11.2014, 10:13  [ТС] 3
Еще бы хотел уточнить. Правильно ли я понимаю, что преимущество MMF в том, что данные из кэша в пользовательский буфер не копируются, а происходит что-то вроде разыменование указателя по некоторому адресу?
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
13.11.2014, 11:10 4
Цитата Сообщение от Suares Посмотреть сообщение
И интересующий меня вопрос кэшируются ли маппет файлы?
О каком кэше идет речь - кэше файловых систем или кэше CPU ?
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
13.11.2014, 12:06  [ТС] 5
Цитата Сообщение от Убежденный Посмотреть сообщение
О каком кэше идет речь - кэше файловых систем или кэше CPU ?
Кэш CPU меня интересует.
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
13.11.2014, 12:18 6
В таком случае да, кэшируются. Если только не указан явно какой-нибудь SEC_NOCACHE.

Цитата Сообщение от Suares Посмотреть сообщение
Правильно ли я понимаю, что преимущество MMF в том, что данные из кэша в пользовательский буфер не копируются, а происходит что-то вроде разыменование указателя по некоторому адресу?
Преимущество MMF в том, что он позволяет двум и более процессам использовать
одни и те же физические страницы памяти, ссылаясь на них через свои виртуальные
адреса: один процесс записал данные - второй сразу же увидел, и для этого не
требуются ни переключение в ядро, ни синхронизация, ни другие дорогие операции.
В плане использования MMF для чтения файлов у него особых преимуществ
перед CreateFile/AllocBuffer/ReadFile нет.
1
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.11.2014, 12:22 7
Цитата Сообщение от Убежденный Посмотреть сообщение
В таком случае да, кэшируются.
Но они же кэшируются той логикой, которую я описал выше? Или там какой-то особый случай?
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
13.11.2014, 12:41 8
Цитата Сообщение от Kastaneda Посмотреть сообщение
Но они же кэшируются той логикой, которую я описал выше? Или там какой-то особый случай?
Все верно, просто для некоторых страниц памяти может быть
установлен атрибут "write-combined" (WC) или "non-cached" (NC),
тогда работа с кэшем CPU будет другой. Но 99% приложений
это никогда не коснется
2
13.11.2014, 12:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2014, 12:41
Помогаю со студенческими работами здесь

Восстановить удаленные файлы (пропали файлы после нажатия Ctrl +Z)
Народ, срочно нужна ваша помощь. Кратко, вчера с флеш-адаптера скопировал себе видео-материал с...

Текстовые файлы. Создать новый файл, объединив исходные файлы
даны текстовые файлы Name1 и Name2 .создать Name3 файл объединив Name1 и Name2 текстовые файлы

Как в IntelliJ IDEA скомпилировать исходные файлы в файлы классов
Учусь делать апелты <html> <body> <applet code="aplet.class",width="300" height=300> ...

Не могу открыть файлы Word, jpeg, pdf - файлы повреждены
Помогите, пожалуйста, по-глупости словила вирус. Теперь не открываются файлы Word, jpeg, pdf, пишет...

Почему не отправляются файлы docx, txt и прочие текстовые файлы?
Архивы и картинки проверял- отправляются на сервер, а текстовые файлы- нет. Что нужно, чтоб они...

Сделать макрос, находящий все файлы .txt и открывающий эти файлы по очереди
Надо сделать макрос в vba excel , чтобы он находил все файлы txt и открывал после нажатие ок, все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru