Багатопроцесорність: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Переклад https://ru.wikipedia.org/w/index.php?title=Многопроцессорность&oldid=65873283
Немає опису редагування
Рядок 4:
 
== Типи ==
 
=== Процесорна симетричність ===
У багатопроцесорній системі всі центральні процесори можуть бути рівними, або деякі можуть бути зарезервовані для особливої мети. Комбінація конструктивних міркувань програмного забезпечення апаратної та операційної системи визначає симетрію (або відсутність її) в даній системі. Наприклад, апаратні або програмні міркування можуть вимагати, щоб тільки один центральний процесор відповідав на всі апаратні переривання, тоді як вся інша робота в системі може бути розподілена однаково серед процесорів; або виконання коду привілейованого режиму може бути обмежене тільки одним процесором (або певним процесором, або тільки один процесор за один раз), тоді як код непривілейованого режиму може бути виконаний на будь-якій комбінації процесорів. Часто багатопроцесорні системи простіше проектувати, якщо введені такі обмеження, але вони мають тенденцію бути менш ефективними ніж системи, в яких використовуються всі центральні процесори.
Рядок 61 ⟶ 62:
 
У MIMD можуть виникнути проблеми взаємного блокування та змагання за володіння ресурсами, так як потоки, намагаючись отримати доступ до ресурсів, можуть зіткнутися непередбачуваним засобом. MIMD вимагає спеціального кодування в операційній системі комп'ютера, але не вимагає змін в прикладних програмах, окрім випадків коли програми самі використовують множинні потоки (MIMD прозорий для однопоточних програм під керуванням більшості операційних систем, якщо програми самі не відмовляються від управління з боку ОС). І системне і користувацьке програмне забезпечення, можливо, повинні використовувати програмні конструкції, такі як [[семафор]]и, щоб перешкоджати тому, щоб один потік втручався в інший, у разі якщо вони містять посилання на одні й ті самі дані. Така дія збільшує складність коду, знижує продуктивність і значно збільшують кількість необхідного тестування, хоча зазвичай не настільки щоб звести нанівець переваги багатопроцесорної обробки. Схожі конфлікти можуть виникнути на апаратному рівні між процесорами, і повинен зазвичай вирішуватися апаратними засобами, або з комбінацією програмного забезпечення і устаткування.
[[Категорія:Паралельні обчислення]]