Книга: Программирование для Linux. Профессиональный подход
6.5.2. /dev/zero
6.5.2. /dev/zero
Устройство /dev/zero
ведет себя так, как если бы оно было файлом бесконечной длины, заполненным одними нулями. Сколько бы данных ни запрашивалось из этого файла, ОС Linux "сгенерирует" достаточное количество кулевых байтов.
Чтобы проверить это, запустите программу hexdump
, представленную в листинге Б.4 приложения Б, "Низкоуровневый ввод-вывод". Программа отображает содержимое файла /dev/zero
в шестнадцатеричном виде:
% ./hexdump /dev/zero
0x000000 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
Чтобы прервать работу программы, нажмите <Ctrl+C>.
Файл /dev/zero
используется в функциях выделения памяти, которые отображают этот файл в памяти, чтобы инициализировать выделяемые сегменты нулями. Об этом рассказывается в разделах 5,3.5, "Другие применения функции mmap()", и 8.9. "Функция mprotect(): задание прав доступа к памяти".
- Листинг 8.2. Общий код, используемый во всех приведенных ниже вариантах тестов
- Что вы узнаете
- Пример 4-7. Использование команды shift
- Технологии
- Листинг 8.1. Применение отложенной загрузки, кэширования и освобождения графических ресурсов
- A7.6. Мультипликативные операторы
- 9.5. Инженерия разработки программного продукта
- Благодарности
- Lesson Summary
- CMYK
- 9.5. Полномочия
- 2. Управление каналами распределения и продаж