![]() |
|
Модераторы: xvr |
![]()
|
|
| YoungLady |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Проблема следующая: существует необходимость отделить интерфейсную часть программы от основной части , в которой производится обработка данных. причем оформлено это должно быть в два выполняемых файла. Вопрос состоит в том, какими средствами может быть организована передача данных между ними в однопроцессорной системе.
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
Называются эти средства IPC(Inter-Process communication). Возможность их использования, как правило, от количества процессоров в системе не зависит. Думаю тебе вполне подойдут pipes. Описание того как их использовать можно найти практически в любой книге по программированию под unix или в сети. Ознакомится можно здесь: Inter-process communication Anonymous pipe Pipeline (Unix) -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
на уровне пользователя YoungLady, взаимодействие должно быть односторонним или двусторонним? если односторонним, тогда канал - лучший выбор, иначе очереди сообщений (с двумя типами сообщений) можно общую память использовать (самый быстрый способ), но тогда придется прикручивать семафоры и разрабатывать структуру хранения данных -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| YoungLady |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
взаимодействие должно быть двусторонним... |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
YoungLady,
тогда очереди сообщений -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| YoungLady |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
MAKCim
Правильно ли я понимаю, что очередь сообщений и именованные каналы (FIFO) - это одно и то же? |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
YoungLady,
нет, это разные вещи... совсем разные -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
MAKCim, а чем pipeline в двустороннем способе взаимодействия плох?
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
archimed7592,
много подводных камней и возможность взаимоблокировок по этому поводу есть целая глава в книжке в общем случае каналы не предназначены для двустороннего взаимодействия в данном случае очереди сообщений подходят, имхо, лучше всего: будет два типа сообщений (например 0 и 1), первый процесс пишет в очередь сообщение типа 0 и читает сообщение 1, в свою очередь второй процесс читает сообщение 0 и пишет сообщение 1 фишка очередей сообщений в том, что ядро осуществляет сортировку по типу сообщения с возможностью чтения по различным условиям Это сообщение отредактировал(а) MAKCim - 18.6.2007, 17:04 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| smalcom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 494 Регистрация: 16.10.2004 Где: Dnepr Репутация: нет Всего: 7 |
сокеты тож удобная фиха. стартового кода канеша поднабрать придецу, но зато птом благодать. ну и плюс програмки могуть на разных тачках быть
-------------------- What DA F...??? |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
smalcom,
ну да если сеть не нужна, лучше тогда unix domain sockets использовать -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |