"justify"> Отже, максимальне число процесорних модулів, що підключаються до шини без досягнення ефекту насичення одно 3.
Чи не збільшувати надійність, але збільшити продуктивність.
. Взяти більш продуктивну шину.
Рис. 4.2. Децентралізований паралельний арбітраж
При децентралізованому, або розподіленому арбітражі єдиний контролер арбітра відсутня. Замість цього кожен провідний модуль містить локальний контролер арбітра, керуючий доступом до шини свого модуля. Ці локальні контролери взаємодіють один з одним, розділяючи між собою відповідальність за доступ до шини. У порівнянні з централізованим арбітражем децентралізований більш надійний, тому що відсутня єдина точка відмови.
Одна з можливих систем децентралізованого паралельного арбітражу показана на рис.1.4. Кожен ведучий модуль має власний локальний арбітр, який задає свій рівень пріоритету. Сигнали запиту шини від будь-якого провідного модуля надходять на входи всіх інших ведучих. У кожному з локальних контролерів арбітра сигнал дозволу шини формується таким чином:
(фіксов. шини N)=(запр. шини N);
(фіксов. шини N - 1)=(запр. шини N - 1) amp; (запр. шини N);
____________ ______________
(фіксов. шини N - 2)=(запр. шини N - 2) amp; (запр. шини N) amp; (запр. шини N - 1) і т.д.
Отримавши сигнал дозволу шини, контролер арбітра аналізує стан лінії зайнятості шини і, якщо шина вільна, займає шину і формує сигнал зайнятості шини.
Незалежно від прийнятої системи арбітражу повинна бути реалізована стратегія обмеження часу використання шини кожним з провідних модулів. Одним з варіантів є дозвіл ведучому займати шину протягом одного циклу шини з наданням йому можливості конкуренції за шину в наступних циклах.
Складною проблемою в симетричних мультипроцесорних системах є створення високошвидкісної комунікаційного середовища, за допомогою якої здійснюється доступ процесорів до загальних системних ресурсів, і міжпроцесорний обмін повідомленнями. Типові системні шини, наприклад, PCI, PCI-X мають недостатню швидкість обміну, а комутатори, Багатопортовий пам'ять і спеціальні високошвидкісні мережі складні і дороги для широкого застосування/4,5 /. Одним з можливих рішень цієї проблеми є виділення для кожного з процесорів НД локальних ресурсів - пам'яті і каналів вводу-виводу, які підключаються до процесора за допомогою локальних шин. Цими локальними ресурсами кожен з процесорів володіє монопольно, що скорочує число звернень до загальних системних ресурсів і знижує вимоги до пропускної здатності комунікаційного середовища. По суті спостерігається перехід від мультипроцесорних до мультікомпьютерним системам, реалізованим на основі високошвидкісних мереж - до кластерним системам. Якщо в якості комунікаційної мережі використовується типова локальна мережа, така НД називається розподіленою.
мультипрограмний повідомлення блокування обчислювальний
Висновок
У процесі виконання курсової роботи були вивчені основні принципи роботи операційних систем, організовано доступ до критичної секції з використанням передачі повідомлень, розроблені програми виявлення взаємних блокувань процесів в обчислювальній системі при наявності одного і декількох ресурсів кожного типу, а також вивчені основні об'єкти синхронізації процесів.
Список використаної літератури
1.Сетевие операційні системи/В.Г. Оліфер, Н.А. Оліфер.- СПб .: Питер, 2001. - 544 с.
2.Іртегов Д. В. Введення в операційні системи.- СПб .: БХВ-Петербург, 2002. - 624 с.
3.Таненбаум Е. Сучасні операційні системи.- СПб .: Питер, 2002. - 1040 с.
.Таненбаум Е., Вудхал А. Операційні системи: Розробка і реалізація. Класика CS.- СПб .: Питер, 2006. - 576 с.
.Столлінгс В. Операційні системи: Внутрішній устрій і принципи проектування.- М .: Изд. дім «Вільямс», 2002. - 848 с.
.Операціонние системи. Паралельні та розподілені системи/Д. Бекон, Г. Харріс.- СПб .: Питер, 2004. - 800 с.
7.Цількер Б.Я., Орлов С.А. Організація ЕОМ і систем.- СПб .: Питер, 2004. - 668 с.
8.Засов В.А. Операційні системи.- Самара, 2006 - 44 с.
Додаток 1.
System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Runtime.InteropServices;System.Text;System.Threading.Tasks;System.Windows.Forms;LocksDetection
{partial class Form1: Form
{Form1 ()
{();
} List lt; Node gt; Nodes {get; set; } ReadGr...