mirror of
https://github.com/php/doc-ru.git
synced 2025-08-16 18:22:04 +00:00
104 lines
4.9 KiB
XML
104 lines
4.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: e50e79746736dbdfbabe9bd3566793b3ddf38f58 Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<book xml:id="book.sem" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<?phpdoc extension-membership="bundled" ?>
|
||
<title>Семафоры, разделяемая память и интерфейс IPC</title>
|
||
<titleabbrev>Семафоры</titleabbrev>
|
||
|
||
<!-- {{{ preface -->
|
||
<preface xml:id="intro.sem">
|
||
&reftitle.intro;
|
||
<para>
|
||
Модули поддерживают обёртки для семейства функций интерфейса межпроцессного взаимодействия
|
||
(англ. Inter-process communication, IPC) операционной системы System V.
|
||
Сюда входят семафоры, разделяемая память и механизм обмена сообщениями между процессами.
|
||
</para>
|
||
<para>
|
||
Семафоры — средства синхронизации процессов и потоков, которые умеют открывать монопольный доступ к ресурсам локальной
|
||
машины или ограничивать число процессов, которые одновременно пользуются ресурсом.
|
||
</para>
|
||
<para>
|
||
За счёт разделяемой памяти ОС System V модуль поддерживает также функции для работы с разделяемой памятью.
|
||
Разделяемая память открывает доступ к глобальным переменным. Демоны httpd и даже другие программы, которые
|
||
написали на языках наподобие Perl, C и других, получают доступ к данным разделяемой памяти
|
||
для глобального обмена данными. У разделяемой памяти НЕТ защиты от одновременного доступа,
|
||
поэтому синхронизацией процессов и потоков управляют через семафоры.
|
||
<table>
|
||
<title>Ограничения на общую память в операционной системе Unix</title>
|
||
<tgroup cols="2">
|
||
<tbody>
|
||
<row>
|
||
<entry>SHMMAX</entry>
|
||
<entry>
|
||
Максимальный размер разделяемой памяти. Стандартный размер равен 131 072 байтам
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMMIN</entry>
|
||
<entry>
|
||
Минимальный размер разделяемой памяти. Стандартный размер равен 1 байту
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMMNI</entry>
|
||
<entry>
|
||
Максимальное количество сегментов разделяемой памяти в системе.
|
||
Стандартное количество равно 100 сегментам
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMSEG</entry>
|
||
<entry>
|
||
Максимальное количество сегментов разделяемой памяти на процесс.
|
||
Стандартное количество 6 сегментам
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
</para>
|
||
<para>
|
||
Функции для работы с сообщениями вызывают, чтобы обмениваться сообщениями
|
||
с другими процессами. Это простые и эффективные средства обмена данными между
|
||
процессами без настройки альтернативы в виде сокетов Unix-домена.
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
В ОС Windows доступны только функции разделяемой памяти и функция <function>ftok</function>.
|
||
На этой платформе не поддерживаются ни семафоры, ни функции межпроцессного обмена сообщениями.
|
||
</simpara>
|
||
</note>
|
||
</preface>
|
||
<!-- }}} -->
|
||
|
||
&reference.sem.setup;
|
||
&reference.sem.constants;
|
||
&reference.sem.reference;
|
||
|
||
&reference.sem.sysvmessagequeue;
|
||
&reference.sem.sysvsemaphore;
|
||
&reference.sem.sysvsharedmemory;
|
||
|
||
</book><!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|