Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції_СПр.docx
Скачиваний:
37
Добавлен:
21.08.2019
Размер:
947.09 Кб
Скачать
  1. Взаємодія між процесами.

  2. Засоби міжпроцесної взаємодії.

Навчальна мета: Засвоїти основні поняття засобів між процесорної взаємодії.

Виховна мета: Допомогти студентам орієнтуватися у основних аспектах між процесорної взаємодії.

Актуальність: Нині вирішення питань між процесорної взаємодії попадає у ло найбільш запитуваних до рішення зада та проблем в галузі інформаційних технологій.

Мотивація: Легко розбиратися у несправностях операційної системи допоможе глибоке розуміння принципів роботи засобів міжпроцесорої взаємодії.

Засоби міжпроцесної взаємодії

Взаємодія процесів дозволяє процесам синхронізувати свою роботу, сумісно і узгоджено використовувати спільні ресурси та спільно виконувати обробку даних.

Взаємодія процесів забезпечується всіма підсистемами ядра ОС:

  • підсистема управління введенням-виведенням забезпечує передачу даних між процесами;

  • підсистема управління оперативною пам'яттю розподіляє під процеси спільну оперативну пам'ять,

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

Взаємодія між процесами (англ. Inter-Process Communication, скорочено англ. IPC) — набір засобів обміну повідомленнями між процесами. Засоби IPC можуть використовуватись для взаємодії процесів:

  • які виконуються на одному комп'ютері (для багатомашинних систем — під управлінням однієї операційної системи), також відомі як власне IPC;

  • які виконуються на різних комп'ютерах (для багатомашинних систем — під управлінням окремих операційних систем), також відомі як засоби міжмашинної взаємодії;

  • для забезпечення взаємодії процеса з самим собою — наприклад, для синхронізації або обміну даними між різними нитями одного процесу.

Взаємодія процесів в межах однієї машини

Для взаємодії процесів, що виконуються на одному комп'ютері (під управлінням однієї операційної системи) використовують (механізми взаємодії забезпечуються ядром операційної системи, в якій виконуються процеси):

  • сигнали — асинхронні (неочікувані) повідомлення, що не передають дані між процесами, а сповіщають про подію (надзвичайну ситуацію), на яку процес має відреагувати виконанням наперед визначеної дії (функції або команди в залежності від використаних засобів програмування);

  • неіменовані та іменовані канали передачі даних як синхронних (очікуваних) повідомлень; відправлення повідомлення відбувається подібно до операції запису в файл, отримання — подібно до читання даних з файлу, якщо канал порожній — процес, що очікує дані призупиняється до надходження даних в канал.

  • черги повідомлень — пакети даних, що передаються між процесами з увідомленням отримувача про надходження пакету;

  • сегменти подільної пам'яті — засіб, що дозволяє кільком процесам сумісно використовувати (поділяти) фрагмент оперативної пам'яті з метою обміну даними; відправлення даних відбувається шляхом запису в пам'ять, отримання — читанням з пам'яті.

Взаємодія процесів, що виконуються на різних машинах

Взаємодія процесів, що виконуються на різних комп'ютерах — під управлінням окремих операційних систем, міжмашинна взаємодія — забезпечується через спеціальну абстракцію — сокет. В залежності від рівня використання сокетів існують наступні засоби міжмашинної взаємодії процесів (механізми взаємодії узгоджено забезпечуються ядрами операційних систем, в яких виконуються процеси):

  • пряме використання сокетів — технологія, що вимагає програмування на низькому рівні і реалізації протокола передачі даних;

  • RPC (Remote Procedure Call), віддалений виклик процедур — технологія, що забезпечує взаємодію між процесами подібно до виклику функцій, дані в один бік передаються як аргументи функцій (віддалених процедур), в іншому — як результати виконання функцій (віддалених процедур).

CORBA — технологія, що передбачає можливість взаємодії між процесами як між об'єктами CORBA, є подальшим розвитком технології RPC.

Контрольні запитання:

  1. Засоби міжпроцесної взаємодії

  2. Взаємодія між процесами

  3. Взаємодія процесів в межах однієї машини

  4. Взаємодія процесів, що виконуються на різних машинах

Лекція 10 «Робота з бібліотеками»