12.5. Отображение в память в SVR4 с помощью /dev/zero

12.5. Отображение в память в SVR4 с помощью /dev/zero

В листинге 12.5 приведена часть новой версии программы, претерпевшая изменения по сравнению с листингом 12.2 при переходе к использованию отображения с помощью /dev/zero.

Листинг 12.5. Отображение памяти в SVR4 с помощью /dev/zero

//shm/incr_dev_zero.c

3  int

4  main(int argc char **argv)

5  {

6   int fd, i, nloop;

7   int *ptr;

8   sem_t *mutex;

9   if (argc != 2)

10   err_quit("usage: incr_dev_zero <#loops>");

11  nloop = atoi(argv[1]);

12  /* открываем /dev/zero и отображаем в память */

13  fd = Open("/dev/zero", O_RDWR);

14  ptr = Mmap(NULL, sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

15  Close(fd);

6-11 Автоматическая переменная zero больше не используется, как и аргумент командной строки, задававший имя создаваемого файла.

12-15 Мы открываем файл /dev/zero и передаем его дескриптор функции mmap. Область памяти будет гарантированно проинициализирована нулями.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

СОФТЕРРА: Память на лица, или Лица на память

Из книги Журнал «Компьютерра» № 36 от 3 октября 2006 года автора Журнал «Компьютерра»

СОФТЕРРА: Память на лица, или Лица на память Автор: Алексей КлимовВышла девятая версия ACDSee. Судя по объему нововведений, это не «Девятый вал» Айвазовского [Иван Айвазовский, «Девятый вал». 1850 г] и даже не «9 рота» Бондарчука [Федор Бондарчук, «9 рота». 2005 г]. Поэтому в обзоре


ГЛАВА 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

ГЛАВА 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов Как показано в предыдущей главе, компоновочные блоки являются базовыми элементами установки и среде .NET. С помощью интегрированного обозревателя объектов в Visual Studio 2005 можно


Отображение первых или последних записей диапазона с помощью предложения ТОР

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Отображение первых или последних записей диапазона с помощью предложения ТОР Ключевое слово ТОР используется для отображения некоторого количества начальных или конечных записей из большого результирующего набора. Для ограничения числа записей в результирующем


4. Память

Из книги Об интеллекте [другая версия перевода книги] автора Хокинс Джефф

4. Память Когда вы читаете эту книгу, идете по переполненной улице, слушаете симфонию, успокаиваете плачущего ребенка, ваш мозг набит пространственными и временными паттернами от всех ваших органов чувств. Мир это океан постоянно меняющихся паттернов, которые приходят,


2.11. Память

Из книги Феномен науки. Кибернетический подход к эволюции автора Турчин Валентин Фёдорович


10.15. Реализация с помощью отображения в память

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

10.15. Реализация с помощью отображения в память Теперь займемся реализацией именованных семафоров Posix с помощью отображаемых в память файлов вместе со взаимными исключениями и условными переменными Posix. Реализация, аналогичная данной, приведена в разделе В.11.3 Обоснования


Почему вообще используется отображение в память?

Из книги Русский справочник по Win32 API автора Сорока Тарас

Почему вообще используется отображение в память? До сих пор мы всегда говорили об отображении в память содержимого файла, который сначала открывается вызовом open, а затем отображается вызовом mmap. Удобство состоит в том, что все операции ввода-вывода осуществляются ядром и


12.4. Неименованное отображение в память в 4.4BSD

Из книги Операционная система UNIX автора Робачевский Андрей М.

12.4. Неименованное отображение в память в 4.4BSD Наши примеры из листингов 12.2 и 12.3 работают отлично, но нам приходится создавать файл в файловой системе (аргумент командной строки), вызывать open, записывать нули в файл вызовом write (чтобы проинициализировать его). Если mmap


Память

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

Память HeapSize Функция HeapSize возвращает размер блока памяти, выделенного из кучи функциями HeapAlloc или HeapReAlloc , в байтах. DWORD HeapSize ( HANDLE hHeap , // дескориптор кучи DWORD dwFlags , // контрольные флаги размера кучи LPCVOID lpMem // указатель на память, чей размер возвращается ); Параметры hHeap -


System V Release 4 (SVR4)

Из книги автора

System V Release 4 (SVR4) В 1989 году была выпущена новая основная версия — System V Release 4. По существу она объединила возможности нескольких известных версий UNIX: SunOS фирмы Sun Microsystems, BSD UNIX компании Berkeley Software Distribution и предыдущих версий System V.Новые черты системы включали:? Командные


Кэширование в SVR4

Из книги автора

Кэширование в SVR4 Центральной концепцией в архитектуре виртуальной памяти SVR4 является отображение файлов. При этом подходе все адресное пространство может быть представлено набором отображений различных файлов в память. Действительно, в страницы памяти, содержащие


1.1. Отображение предупреждений с помощью UIAlertView

Из книги автора

1.1. Отображение предупреждений с помощью UIAlertView Постановка задачи Вы хотите, чтобы у ваших пользователей отобразилось сообщение, которое будет оформлено как предупреждение (Alert). Такие сообщения можно применять, чтобы попросить пользователя подтвердить выбранное


1.17. Отображение статического текста с помощью UILabel

Из книги автора

1.17. Отображение статического текста с помощью UILabel Постановка задачи Необходимо отображать для пользователя текст. Кроме того, вы хотели бы управлять шрифтом и цветом этого текста. Статическим называется такой текст, который пользователь не может напрямую изменять во


1.25. Отображение протекания процессов с помощью UIProgressView

Из книги автора

1.25. Отображение протекания процессов с помощью UIProgressView Постановка задачи Необходимо отображать на экране индикатор протекания процесса (Progress Bar), отражающий ход выполнения той или иной задачи, например индикатор загрузки файла, скачиваемого c определенного