Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори СПОС.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
145.46 Кб
Скачать
  1. Поняття обчислювального кластера. Розподілена подільна пам’ять.

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

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

DSM (Distributed Shared Memory - Розподілена подільна пам’ять) - віртуальний адресний простір, який поділяється всіма вузлами (процесорами) розподіленої системи. Програми отримують доступ до даних в DSM приблизно так само, як вони працюють з даними у віртуальній пам'яті традиційних ЕОМ. У системах з DSM дані переміщаються між локальною пам'яттю різних комп'ютерів аналогічно тому, як вони переміщаються між оперативною і зовнішньою пам'яттю одного комп'ютера.

  1. Принципи та обмеження основних способів оповіщення задач про настання подій (синхронізації).

Процес оповіщення про настання події складається з двох етапів:

1. Генерація сигналу;

При настанні події ОС генерує сигнал: в структурі TASK_STRUCT вона зводить відповідний біт у масці надійшовших сигналів.

2. Обробка сигналу;

Після установки біта процес повинен обробити цей сигнал. Процес не може обробити сигнал миттєво, він робить це тільки в певні моменти часу:

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

• перед блокуванням;

• під час блокування, якщо блокування є перериваючою (наприклад, очікування введення з клавіатури); якщо той же read читає з диска, а не з клавіатури, то таке блокування є непрериваючим.

Кожен сигнал володіє дією за замовчуванням. Ця дія виконується ОС, якщо процес не встановить для цього сигналу іншу дію. Усього існують 5 дій за замовчуванням:

1) аварійне завершення з дампом пам'яті (D);

2) завершення без дампа (A);

3) ігнорування сигналу (I);

4) зупинка (процес може бути припинений) (S);

5) продовження (С)

Майже для кожного з сигналів процес може перевизначити дії, що виконуються за замовчуванням. Оброблювач можна перевизначити для будь-яких сигналів, крім двох:

• SIGKILL (це завжди зняття - реакція 2)

• SIGSTOP - переклад процесу в призупинене стан.

альтернативи:

• Ігнорувати сигнал;

• Визначити свій обробник сигналу.

  1. Основні програмні інтерфейси синхронізації виконання процесів.

Програмний інтерфейс керування процесами

Win32

З введенням потокової багатозадачності виникла необхідність у спеціальному механізмі, званому синхронізацією. Синхронізація дозволяє контролювати виконання потоків (і процесів) строго певним чином. У Win32 для синхронізації виділена ціла підсистема. Бібліотека класів MFC повністю підтримує засоби багатозадачності.

У MFC механізм синхронізації, забезпечуваний інтерфейсом Win32, підтримується за допомогою наступних класів, породжених від класу CSyncObject:

• CCriticalSection - реалізує критичний розділ.

• CEvent - реалізує об'єкт події

• CMutex - реалізує виключає семафор.

• CSemaphore - реалізує класичний семафор.