Содержание
- 2. Разделяемая память (shared memory) применяют для того, чтобы увеличить скорость прохождения данных между процессами. В обычной
- 3. После создания разделяемого сегмента памяти любой из пользовательских процессов может подсоединить его к своему собственному виртуальному
- 5. Системные вызовы работы с разделяемой памятью shmget — создание сегмента разделяемой памяти; shmctl — установка параметров;
- 6. Получение IPC идентификатора #include key_t ftok(const char *path, int id); использует файл с именем pathname (которое
- 7. Создание разделяемой памяти #include #include int shmget(key_t key, size_t size, int shmflg); возвращает идентификатор разделяемого сегмента
- 8. Значение shmflg играет роль только при создании нового сегмента разделяемой памяти и определяет права различных пользователей
- 9. Если создается новый сегмент, то права доступа копируются из shmflg в shm_perm, являющийся членом структуры shmid_ds,
- 10. struct ipc_perm { key_t key; ushort uid; /* действующие идентификаторы владель-ца и группы euid и egid
- 11. Ошибки при создании разделяемой памяти
- 12. Присоединение к разделяемой памяти #include #include void *shmat(int shmid, const void *shmaddr, int shmflg); Функция shmat
- 13. Если shmaddr равен NULL, то система выбирает для подстыкованного сегмента подходящий (неиспользованный) адрес Если shmaddr не
- 14. Отсоединение от процесса разделяемого участка памяти #include #include int shmdt(const void *shmaddr); отстыковывает сегмент разделяемой памяти,
- 15. Управление разделяемым участком памяти #include #include int shmctl(int shmid, int cmd, struct shmid_ds *buf); получать информацию
- 17. Скачать презентацию