ГЛАВА 14 Разделяемая память System V

ГЛАВА 14

Разделяемая память System V

14.1. Введение

Основные принципы разделяемой памяти System V совпадают с концепцией разделяемой памяти Posix. Вместо вызовов shm_open и mmap в этой системе используются вызовы shmget и shmat.

Для каждого сегмента разделяемой памяти ядро хранит нижеследующую структуру, определенную в заголовочном файле <sys/shm.h>:

struct shmid_ds {

 struct ipc_perm shm_perm; /* структура разрешений */

 size_t shm_segsz; /* размер сегмента */

 pid_t shm_lpid; /* идентификатор процесса, выполнившего последнюю операцию */

 pid_t shm_cpid; /* идентификатор процесса-создателя */

 shmatt_t shm_nattch; /* текущее количество подключений */

 shmat_t shm_cnattch; /* количество подключений in-core */

 time_t shm_atime; /* время последнего подключения */

 time_t shm_dtime; /* время последнего отключения */

 time_t shm_ctime; /* время последнего изменения данной структуры */

};

Структура ipc_perm была описана в разделе 3.3; она содержит разрешения доступа к сегменту разделяемой памяти.

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

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

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

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

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

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


Глава 4 «Мозги» и память компьютера

Из книги Железо ПК [Популярный самоучитель] автора Пташинский Владимир

Глава 4 «Мозги» и память компьютера Не бывает сложных программ. Бывает мало памяти. Компьютерная примета В предыдущей главе мы познакомились с такими важными комплектующими, как корпус, блок питания и материнская плата. И если их со всей ответственностью можно назвать


Глава 6 Внешняя память

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

Глава 6 Внешняя память Что-то с памятью моей стало… Стенания над сломанной «флешкой» В одной из предыдущих глав мы познакомились с двумя видами памяти, которой обладает компьютер. Как вы помните, оперативная память предназначена для кратковременного хранения


System.DateTime и System.TimeSpan

Из книги Фреймы для представления знаний автора Мински Марвин

System.DateTime и System.TimeSpan В завершение нашего обзора базовых типов данных позволите обратить ваше внимание на то, что пространство имен System определяет несколько полезных типов данных, для которых в C# не предусмотрено ключевых слов. Это, в частности, типы DateTime и TimeSpan (задачу


Базовые классы System.MulticastDelegate и System.Delegate

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

Базовые классы System.MulticastDelegate и System.Delegate Таким образом, при создании типов c помощью) ключевого слова delegate в C# вы неявно объявляете тип класса, являющегося производным от System.MulticastDelegate. Этот класс обеспечивает своим потомкам доступ к списку с адресами тех методов, которые


ГЛАВА 16. Пространство имен System.IO

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

ГЛАВА 16. Пространство имен System.IO При создании полноценных приложений исключительно важна возможность сохранения информации между сеансами доступа пользователя. В этой главе рассматривается целый ряд вопросов, связанных с реализацией ввода-вывода в .NET. Первой нашей


ГЛАВА 19. Создание окон с помощью System.Windows.Forms

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

ГЛАВА 19. Создание окон с помощью System.Windows.Forms Если вы прочитали предыдущие 18 глав, вы должны иметь солидную базу дли использования языка программирования C# и архитектуры .NET. Вы, конечно же, можете применить полученные знания для построения консольных приложений следующего


Глава третья Обучение, память и парадигмы[1]

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

Глава третья Обучение, память и парадигмы[1] «Природа дает ребенку различные средства для исправления всяческих ошибок, которые он может совершить по отношению к окружающим его предметам. При каждой возможности его взгляды корректируются опытом; неудача и боль являются


ГЛАВА 3 System V IPC

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

ГЛАВА 3 System V IPC 3.1. Введение Из имеющихся типов IPC следующие три могут быть отнесены к System V IPC, то есть к методам взаимодействия процессов, соответствующим стандарту System V:? очереди сообщений System V (глава 6);? семафоры System V (глава 11);? общая память System V (глава 14).Термин «System V IPC»


ГЛАВА 6 Очереди сообщений System V

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

ГЛАВА 6 Очереди сообщений System V 6.1. Введениеы Каждой очереди сообщений System V сопоставляется свой идентификатор очереди сообщений. Любой процесс с соответствующими привилегиями (раздел 3.5) может поместить сообщение в очередь, и любой процесс с другими соответствующими


ГЛАВА 11 Семафоры System V

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

ГЛАВА 11 Семафоры System V 11.1.Введение В главе 10 мы описывали различные виды семафоров, начав с:? бинарного семафора, который может принимать только два значения: 0 и 1. По своим свойствам такой семафор аналогичен взаимному исключению (глава 7), причем значение 0 для семафора


ГЛАВА 12 Введение в разделяемую память

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

ГЛАВА 12 Введение в разделяемую память 12.1. Введение Разделяемая память является наиболее быстрым средством межпроцессного взаимодействия. После отображения области памяти в адресное пространство процессов, совместно ее использующих, для передачи данных между


ГЛАВА 13 Разделяемая память Posix

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

ГЛАВА 13 Разделяемая память Posix 13.1. Введение В предыдущей главе рассматривались общие вопросы, связанные с разделяемой памятью, и детально разбиралась функция mmap. Были приведены примеры, в которых вызов mmap использовался для создания области памяти, совместно


Память

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

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