Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodychka-lab_OS.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

1. Основні теоретичні відомості

Функції WinAPI забезпечують спрощену взаємодію та розподіл ресурсів між процесами. Механізм взаємодії між процесами називається міжпроцесовою взаємодією (Interprocess Communication - IPC), механізми, котрі забезпечують синхронізацію процесів та потоків називають механізмами синхронізації процесів (Interprocess Syncronization).

Зазвичай, програми, котрі взаємодіють між собою, поділяють на програми - клієнти та програми - сервери. Клієнт – програма вимагає обслуговування сервер - програмою. Сервер – програма відповідає на відповідні запити програми – клієнта.

1.1 Механізми міжпроцесової взаємодії

Функції WinAPI підтримують наступні механізми міжпроцесової взаємоїді IPC:

  • Clipboard

  • Component Object Model (COM)

  • Dynamic Data Exchange (DDE)

  • File Mapping

  • Mailslot

  • Pipe

  • Remote Procedure Call (RPC)

  • Windows Sockets

  • WM_COPYDATA

  • Atom

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

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

DDE - це протокол, котрий дає змогу програмам обмінюватись даними різних форматів.

File Mapping – даний механізм дає можливість процесові користуватись файлом на диску та як би він був занесений у пам’ять, в адресний простір даного процесу.

Mailslot – цей механізм забезпечує однонаправлену міжпроцесову взаємодію. Будь – який процес, котрий створить mailslot стає mailslot – сервером. Інший процес, mailslot – клієнт, передає інформацію серверу, вписуючи її у mailslot сервера.

Pipe – канал. Існує однонаправлений механізм передачі даних через канал, використовуючи анонімні канали та двонаправлений – використовуючи іменовані канали.

RPC – віддалений виклик процедур. Даний механізм дозволяє керувати процесами на віддалених комп’ютерах.

Windows Sockets – незалежний від протоколу інтерфейс передачі даних.

WM_COPYDATA – повідомлення, котре шле Windows у випадку передачі даних між процесами. Дані передаються за допомогою структури COPYDATASTRUCT. Один процес записує дані у структуру COPYDATASTRUCT, а інший зчитує їх.

Atom – це число або стрічка, котрі повертаються програмі після того, як вона зробила запис у загальній таблиці атомів. Люба програма маючи atom може мати доступ до відповідного запису у таблиці атомів. Запис у таблиці атомів називається ім’ям атома. Бувають глобальні та локальні таблиці атомів.

1.2 Механізми синхронізації процесів та потоків

Функції WinAPI також забезпечують синхронізацію процесів та потоків (Interprocess Syncronization).

Для синхронізації доступу декількох програм до одного ресурсу використовують об’єкти синхронізації (synchronization objects) та очікуючі функції (wait functions).

Також існують інші механізми синхронізації:

  • Взаємо – виключний ввід і вивід (overlapped input and output)

  • Асинхронний виклик процедур (asynchronous procedure calls)

  • Об’єкти критичної секції (critical section objects)

  • Блокований змінний доступ (interlocked variable access)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]