Файлы, отображаемые на адресное пространство памяти
Иногда удобно файл отобразить в памяти (не надо использовать системные вызовы ввода-вывода для работы с файлом), и работать с памятью, а потом записать измененный файл на диск.
При использовании страничной организации памяти, файл целиком не загружается, а загружаются только необходимые страницы.
При использовании сегментной организации памяти, файл загружают в отдельный сегмент.
Пример копирования файла через отображение в памяти.
Алгоритм:
1. Создается сегмент для файла 1
2. Файл отображается в памяти
3. Создается сегмент для файла 2
4. Сегмент 1 копируется в сегмент 2
5. Сегмент 2 сохраняется на диске
Недостатки этого метода:
· Тяжело определить длину выходного файла
· Если один процесс отобразил файл в памяти и изменил его, но файл еще не сохранен, второй процесс откроет это же файл, и будет работать с устаревшим файлом.
· Файл может оказаться большим, больше сегмента или виртуального пространства.
Дата добавления: 2014-12-21; просмотров: 878;