Почему вообще используется отображение в память?
Почему вообще используется отображение в память?
До сих пор мы всегда говорили об отображении в память содержимого файла, который сначала открывается вызовом open, а затем отображается вызовом mmap. Удобство состоит в том, что все операции ввода-вывода осуществляются ядром и скрыты от программиста, а он просто пишет код, считывающий и записывающий данные в некоторую область памяти. Ему не приходится вызывать read, write или lseek. Часто это заметно упрощает код.
ПРИМЕЧАНИЕ
Вспомните нашу реализацию очередей сообщений Posix с использованием mmap, где значения сохранялись в структуре msg_hdr и считывались из нее же (листинги 5.26 и 5.28).
Следует, однако, иметь в виду, что не все файлы могут быть отображены в память. Попытка отобразить дескриптор, указывающий на терминал или сокет, приведет к возвращению ошибки при вызове mmap. К дескрипторам этих типов доступ осуществляется только с помощью read и write (и аналогичных вызовов).
Другой целью использования mmap может являться разделение памяти между неродственными процессами. В этом случае содержимое файла становится начальным содержимым разделяемой памяти и любые изменения, вносимые в нее процессами, копируются обратно в файл (что дает этому виду IPC живучесть файловой системы). Предполагается, что при вызове mmap указывается флаг MAP_SHARED, необходимый для разделения памяти между процессами.
ПРИМЕЧАНИЕ
Детали реализации mmap и связь этого вызова с механизмами реализации виртуальной памяти описаны в [14] для 4.4BSD и [6] для SVR4.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
27.2.1. Для чего используется протокол ICMP
27.2.1. Для чего используется протокол ICMP Протокол межсетевых управляющих сообщений используется для диагностических целей. Например, система А передала системе Б неверный пакет. Система Б с помощью протокола ICMP может «сказать» системе А, что посланный ею пакет
6.6. А нужен ли вообще брандмауэр?
6.6. А нужен ли вообще брандмауэр? Некоторые пользователи пренебрегают установкой брандмауэра на свой компьютер, мотивируя тем, что на домашнем маршрутизаторе уже есть брандмауэр, да и на сервере провайдера тоже наверняка есть. Некоторые продолжают использовать
2.3.2. Когда и как используется поисковый маркетинг
2.3.2. Когда и как используется поисковый маркетинг СПРОС И ИНСТРУМЕНТЫ ОПРЕДЕЛЕНИЯ СПРОСАЯ часто отвечаю на вопрос, можно ли использовать поисковый маркетинг и его инструментарий для вывода нового продукта в Интернет.Пример: «У меня новый автомобиль и марка новая ему
12.4. Неименованное отображение в память в 4.4BSD
12.4. Неименованное отображение в память в 4.4BSD Наши примеры из листингов 12.2 и 12.3 работают отлично, но нам приходится создавать файл в файловой системе (аргумент командной строки), вызывать open, записывать нули в файл вызовом write (чтобы проинициализировать его). Если mmap
12.5. Отображение в память в SVR4 с помощью /dev/zero
12.5. Отображение в память в SVR4 с помощью /dev/zero В листинге 12.5 приведена часть новой версии программы, претерпевшая изменения по сравнению с листингом 12.2 при переходе к использованию отображения с помощью /dev/zero.Листинг 12.5. Отображение памяти в SVR4 с помощью
15.5.1. Для чего используется контроль версий
15.5.1. Для чего используется контроль версий Развитие кода поднимает несколько практических проблем, которые могут быть основными причинами противоречий и монотонной работы, а следовательно, и серьезного снижения продуктивности. Время, потраченное на разрешение данных
15.5.1. Для чего используется контроль версий
15.5.1. Для чего используется контроль версий Развитие кода поднимает несколько практических проблем, которые могут быть основными причинами противоречий и монотонной работы, а следовательно, и серьезного снижения продуктивности. Время, потраченное на разрешение данных
ТВ на заказ: как Intel строила главный ТВ-сервис Америки, почему не получилось и почему может получиться у нас Евгений Золотов
ТВ на заказ: как Intel строила главный ТВ-сервис Америки, почему не получилось и почему может получиться у нас Евгений Золотов Опубликовано 29 ноября 2013 Нечасто, но случается, некоторое событие остаётся незамеченным несправедливо — потому только, что
Милого узнаю по геному: почему Америка так боится ДНК-отпечатков (и почему не боимся мы) Евгений Золотов
Милого узнаю по геному: почему Америка так боится ДНК-отпечатков (и почему не боимся мы) Евгений Золотов Опубликовано 06 июня 2013 Биометрическая идентификация — штука замечательная, но непростая. В теории, по физиологическим особенностям, присущим
ПИСЬМОНОСЕЦ: Секс вообще зарабатывался!..
ПИСЬМОНОСЕЦ: Секс вообще зарабатывался!.. Автор: Леонид Левкович-МаслюкРаньше все удовольствия для человечества добывались тяжким трудом. Еда была наградой за труд. Поэтому, понимая, каким трудом зарабатывается пропитание, люди молились за столом, говоря Богу — спасибо
Компьютер вообще не включается
Компьютер вообще не включается В первой главе мы собрались поговорить о сообщениях, выводимых при загрузке компьютера. Но что делать, если компьютер вообще не включается?Прежде всего нужно проверить, а подводится ли к компьютеру питание[1]. Может, вы забыли включить
Полцарства за метаданные: почему спецслужбы собирают только метаинформацию — и что это вообще такое? Евгений Золотов
Полцарства за метаданные: почему спецслужбы собирают только метаинформацию — и что это вообще такое? Евгений Золотов Опубликовано 08 июля 2013 Когда бывший директор АНБ и ЦРУ Майкл Гайден советовал европейцам поинтересоваться, чем занимаются их
Как взломать самолёт с помощью смартфона — и почему это вообще стало возможным? Евгений Золотов
Как взломать самолёт с помощью смартфона — и почему это вообще стало возможным? Евгений Золотов Опубликовано 17 апреля 2013 Когда минувшей зимой мне довелось писать про «кибернетическое 11 сентября» (воображаемый крупный террористический акт,
Мрачные итоги Pwn2Own: почему браузеры так легко взломать и почему линуксоидам можно волноваться меньше? Евгений Золотов
Мрачные итоги Pwn2Own: почему браузеры так легко взломать и почему линуксоидам можно волноваться меньше? Евгений Золотов Опубликовано 11 марта 2013 В английском айтишном жаргоне есть словечко «pwned», перевести которое на русский можно таким же коротким «поимели». Грубо,
Почему Google уничтожает свой Reader — и почему это хорошо? Евгений Золотов
Почему Google уничтожает свой Reader — и почему это хорошо? Евгений Золотов Опубликовано 15 марта 2013 Когда в среду руководители Google ставили точку в истории одного из своих многочисленных веб-сервисов, едва ли они могли вообразить, какая реакция за этим последует. Согласно
Почему стартаперам кажется, что российский венчур — клондайк, и почему на самом деле это не совсем так Валентина Славина, президент НП «Бизнес-ангелы Урала»
Почему стартаперам кажется, что российский венчур — клондайк, и почему на самом деле это не совсем так Валентина Славина, президент НП «Бизнес-ангелы Урала» Опубликовано 23 апреля 2013Будучи руководителем сообщества частных инвесторов ранней стадии на Урале (НП