Концепции механизмов МПК - PullRequest
       30

Концепции механизмов МПК

0 голосов
/ 06 декабря 2011

Я хочу понять эти концепции механизма IPC в ОС - Общая память, Система сообщений, Сокеты, RPC, RMI

Как различные операционные системы реализуют их. Конкретно операционная система Android?

1 Ответ

9 голосов
/ 06 декабря 2011

IPC - это межпроцессное взаимодействие механизмы в ОС - это концепция широкого обсуждения, поэтому, я думаю, что здесь мы не можем охватить все это,

Некоторые вещи низкого уровня:

Механизм IPC, обсуждаемый здесь, находится на самом низком уровне - все другие межпроцессорные механизмы IPC используют его в качестве основы. Например, соединение TCP / IP через процессор ARM11 с другим процессором в конечном итоге проходит через этот механизм IPC. Диагностические сообщения являются еще одним примером сообщений, которые полагаются на этот низкоуровневый IPC.

Механизм IPC реализован с двух сторон - "клиентская сторона", которая обращена к ядру и обеспечивает стиль интерфейса на основе обратного вызова, и "сторона ЦП", которая обеспечивает интерфейс для других ЦП.

  • Сторона ЦП реализована в виде интерфейса с общей памятью, с прерывает и механизм "дверного звонка". На высшем уровне, чтобы отправить сообщения от ARM11 на другой процессор, содержимое сообщения помещается в буфере в разделяемой памяти и аппаратный порт указать другому ЦПУ, что данные доступны.

  • В обратном направлении данные помещаются в общую память другой процессор и аппаратное прерывание запускаются на ARM11. Это аппаратное прерывание заставляет ARM11 проверять общий буфер памяти, получить сообщение и направить его клиенту.

Но более конкретно для Android:

IPC в Android, описывает механизм взаимодействия различных типов компонентов Android.

Android реализует несколько ключевых инструментов, используемых для безопасной связи или координации между программами. Эти механизмы дают приложениям Android возможность запускать процессы в фоновом режиме, предлагать услуги, используемые другими приложениями, безопасно обмениваться реляционными данными, запускать другие программы и безопасно повторно использовать компоненты из других приложений.

  • Большая часть межпроцессного взаимодействия (IPC), которое происходит на Android делается через передачу структур данных под названием Намерения. Это коллекции информации, которые имеют несколько ожидаемые свойства, которые система может использовать, чтобы выяснить, где отправить намерение, если разработчик не был явным. Свойство Action выражает, для чего предназначен Intent (действие Intent.ACTION_VIEW указывает, что данные должны отображаться для пользователя, например). Свойство data является необязательным URI и может указывать на файл, контакт, веб-страница, номер телефона и т. д. Намерения также потенциально иметь коллекцию пар ключ / значение, называемых дополнительные, а также флаги, компоненты и другие дополнительные функции.

  • Каждый из этих механизмов МПК использует Интенты в некотором качестве и является вероятно, несколько знакомы большинству разработчиков Android. Тем не мение, потому что их безопасное использование - ключ к безопасности Android,

1) Intents - это сообщения, которые компоненты могут отправлять и получать. Это универсальный механизм передачи данных между процессами. С помощью намерений можно запускать службы или действия, вызывать широковещательные приемники и т. Д.

2) Bundles - объекты, через которые передаются данные. Это похоже на сериализацию объекта, но намного быстрее на Android. Пакет можно получить из намерения методом getExtras().

3) Binders - это субъект, который позволяет действиям и услугам получать ссылку на другие услуги. Он позволяет не просто отправлять сообщения службам, но и напрямую вызывать методы для них.

Для получения дополнительной информации смотрите:

  1. Использование механизма IPC Android

  2. Механизмы защиты IPC Android

...