RU2014149043A - Способ передачи данных между процессами - Google Patents
Способ передачи данных между процессами Download PDFInfo
- Publication number
- RU2014149043A RU2014149043A RU2014149043A RU2014149043A RU2014149043A RU 2014149043 A RU2014149043 A RU 2014149043A RU 2014149043 A RU2014149043 A RU 2014149043A RU 2014149043 A RU2014149043 A RU 2014149043A RU 2014149043 A RU2014149043 A RU 2014149043A
- Authority
- RU
- Russia
- Prior art keywords
- message
- buffer
- free
- queue
- mentioned
- Prior art date
Links
Abstract
1. Способ передачи данных между процессами в вычислительном средстве, снабженном запоминающим средством, содержащий этапы, на которых:- заранее выделяют в памяти упомянутого запоминающего средства непрерывную область ввода-вывода;- разделяют упомянутую область ввода-вывода на сегменты, каждый из которых относится к единственному из упомянутых процессов и к каждому из которых имеет доступ на запись только тот процесс, к которому относится данный сегмент, а доступ на чтение имеют все упомянутые процессы;- формируют в упомянутой области ввода-вывода каналы для передачи данных между парами соответствующих процессов, именуемых далее в каждом упомянутом канале процессом-отправителем и процессом-получателем, причем каждый из упомянутых каналов включает в себя совокупность размещенных в сегменте процесса-отправителя данного канала буферов записи для размещения в них сообщений, а также очередь сообщений и очередь свободных буферов;- при необходимости отправки сообщения конкретным процессом-отправителем конкретному процессу-получателю по каналу между ними упомянутый процесс-отправитель записывает это сообщение в свободный буфер записи и помещает этот буфер записи в очередь сообщений;- при необходимости получения сообщения конкретным процессом-получателем от конкретного процесса-отправителя по каналу между ними упомянутый процесс-получатель считывает это сообщение из буфера записи, помещенного в очередь сообщений, и помещает этот буфер записи в очередь свободных буферов.2. Способ по п. 1, в котором:- при приостановке потока управления ввиду отсутствия сообщений для конкретного процесса-получателя или свободных буферов дл
Claims (3)
1. Способ передачи данных между процессами в вычислительном средстве, снабженном запоминающим средством, содержащий этапы, на которых:
- заранее выделяют в памяти упомянутого запоминающего средства непрерывную область ввода-вывода;
- разделяют упомянутую область ввода-вывода на сегменты, каждый из которых относится к единственному из упомянутых процессов и к каждому из которых имеет доступ на запись только тот процесс, к которому относится данный сегмент, а доступ на чтение имеют все упомянутые процессы;
- формируют в упомянутой области ввода-вывода каналы для передачи данных между парами соответствующих процессов, именуемых далее в каждом упомянутом канале процессом-отправителем и процессом-получателем, причем каждый из упомянутых каналов включает в себя совокупность размещенных в сегменте процесса-отправителя данного канала буферов записи для размещения в них сообщений, а также очередь сообщений и очередь свободных буферов;
- при необходимости отправки сообщения конкретным процессом-отправителем конкретному процессу-получателю по каналу между ними упомянутый процесс-отправитель записывает это сообщение в свободный буфер записи и помещает этот буфер записи в очередь сообщений;
- при необходимости получения сообщения конкретным процессом-получателем от конкретного процесса-отправителя по каналу между ними упомянутый процесс-получатель считывает это сообщение из буфера записи, помещенного в очередь сообщений, и помещает этот буфер записи в очередь свободных буферов.
2. Способ по п. 1, в котором:
- при приостановке потока управления ввиду отсутствия сообщений для конкретного процесса-получателя или свободных буферов для конкретного процесса-отправителя выставляют в описателе соответствующего канала, соответственно, запрос на уведомление о появлении сообщения или запрос на уведомление о появлении свободного буфера;
- при помещении буфера записи с записанным сообщением в очередь сообщений конкретного канала и при наличии упомянутого запроса на уведомление о появлении сообщения отправляют упомянутому процессу-получателю уведомление о появлении сообщения в упомянутом канале;
- при помещении свободного буфера в очередь свободных буферов конкретного канала и при наличии упомянутого запроса на уведомление о появлении свободного буфера отправляют упомянутому процессу-отправителю уведомление о появлении свободного буфера в упомянутом канале;
- при поступлении упомянутого уведомления о появлении сообщения объявляют поток управления упомянутого процесса-получателя, ждущий сообщения, работоспособным и считывают очередное сообщение из соответствующего буфера записи из очереди сообщений;
- при поступлении упомянутого уведомления о появлении свободного буфера объявляют поток управления упомянутого процесса-отправителя, ждущий свободного буфера, работоспособным, записывают сообщение в упомянутый свободный буфер и помещают упомянутый буфер с записанным сообщением в очередь сообщений данного канала.
3. Способ по п. 1 или 2, в котором:
- упомянутую очередь сообщений формируют в виде кольцевого буфера, предназначенного для записи идентификаторов тех из упомянутых буферов записи, в которые последовательно записывают сообщения соответственного процесса-отправителя, а упомянутую очередь свободных буферов формируют в виде кольцевого буфера, предназначенного для записи идентификаторов тех из упомянутых буферов записи, которые освобождаются после считывания соответственным процессом-получателем;
- размещают упомянутый кольцевой буфер очереди сообщений в сегменте процесса-отправителя вместе с указателем на начало свободного места в этом кольцевом буфере очереди сообщений и указателем на начало занятого места в кольцевом буфере очереди свободных буферов;
- размещают упомянутый кольцевой буфер очереди свободных буферов в сегменте процесса-получателя вместе с указателем на начало свободного места в этом кольцевом буфере очереди свободных буферов и указателем на начало занятого места в кольцевом буфере очереди сообщений.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014149043/08A RU2592461C2 (ru) | 2014-12-05 | 2014-12-05 | Способ передачи данных между процессами |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014149043/08A RU2592461C2 (ru) | 2014-12-05 | 2014-12-05 | Способ передачи данных между процессами |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014149043A true RU2014149043A (ru) | 2016-06-27 |
RU2592461C2 RU2592461C2 (ru) | 2016-07-20 |
Family
ID=56195401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014149043/08A RU2592461C2 (ru) | 2014-12-05 | 2014-12-05 | Способ передачи данных между процессами |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2592461C2 (ru) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04251338A (ja) * | 1990-10-10 | 1992-09-07 | Fuji Xerox Co Ltd | プロセス間通信の制御方式 |
GB2295473B (en) * | 1992-09-25 | 1996-10-30 | Hitachi Ltd | Method for interprocessor communication |
US5787300A (en) * | 1993-11-10 | 1998-07-28 | Oracle Corporation | Method and apparatus for interprocess communications in a database environment |
JP4782694B2 (ja) * | 2003-11-12 | 2011-09-28 | クゥアルコム・インコーポレイテッド | 改善されたリンク制御を有する高速データレートインタフェース |
ATE502334T1 (de) * | 2005-04-20 | 2011-04-15 | Axxana Israel Ltd | Ferndaten-spiegelungssystem |
US8074231B2 (en) * | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
-
2014
- 2014-12-05 RU RU2014149043/08A patent/RU2592461C2/ru active
Also Published As
Publication number | Publication date |
---|---|
RU2592461C2 (ru) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SG11201907619VA (en) | Blockchain data storage system and method | |
GB2569060A (en) | Workload optimized data deduplication using ghost fingerprints | |
SG10201806803TA (en) | Hybrid bot framework for enterprises | |
EP3786789A4 (en) | PROCESS AND DEVICE FOR READING / WRITING DATA, AND CIRCULAR WAITING QUEUE | |
SG11201911475TA (en) | Method for processing semi persistent scheduling, communication device, and storage medium | |
CY1111535T1 (el) | Διπλης κατευθυνσης μεταφορα δεδομενων σε μια απλη λειτουργια i/o | |
MX2015016349A (es) | Acceso programatico eficiente de memoria a traves de protocolos de acceso de archivo de red. | |
RU2016105513A (ru) | Масштабируемый прямой обмен данными между узлами через шину межсоединения периферийных компонентов типа экспресс (pcie) | |
RU2013117127A (ru) | Многопортовый контроллер запоминающего устройства с портами, ассоциированными с классами трафика | |
NZ740994A (en) | Sorting biological and non-biological moieties using magnetic levitation | |
TW200705200A (en) | Data transfer control device, image processing device, and data transfer control method | |
UY36011A (es) | Sistemas y métodos para rastrear artículos | |
MX2016003672A (es) | Tubo con etiqueta y metodo para mantenimiento del tubo. | |
ZA202105522B (en) | Handling an input/output store instruction | |
MX2015006441A (es) | Metodo y dispositivo para difundir datos de medios de flujo continuo. | |
GB201211447D0 (en) | Persistant messaging | |
WO2017003696A3 (en) | Direct memory access with filtering | |
TW201643715A (en) | Byte level granularity buffer overflow detection for memory corruption detection architectures | |
WO2018000765A1 (zh) | 一种协处理器、数据读取方法、处理器系统及存储介质 | |
WO2018205105A1 (zh) | 虚拟机的传感器实现装置及其方法 | |
RU2014149043A (ru) | Способ передачи данных между процессами | |
TW200801955A (en) | System and method for performing scatter/gather direct memory access transfers | |
US10146735B2 (en) | Expanded distribution unit | |
CN102591825B (zh) | 基于 sync 机制的sata 控制器与闪存控制器间的传输装置及方法 | |
CN105320466A (zh) | 固态硬盘安排操作的方法 |