Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРО(теорія).doc
Скачиваний:
3
Добавлен:
20.09.2019
Размер:
461.31 Кб
Скачать

Екзаменаційний білет №23

1.Переваги і недоліки статичних топологій.

2.Структурний спосіб конструювання похідних типів даних

1 Питання

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

Однією з переваг такої топології є можливість нарощування мережі без припинення її роботи, недоліком - відмовлення однієї робочої станції здатне привести до неможливості пересилання повідомлень. При роботі мережі такої топології найчастіше використовується метод доступу до каналів зв'язку «виявлення колізій» (зіткнень). Адаптери безупинно знаходяться в стані прослуховування мережі. При необхідності передачі даних робоча станція повинна дочекатися звільнення ЛКМ, і тільки після цього приступити до передачі. Але передача може початися двома або більш робочими станціями ЛКМ. Це і називається колізією. У результаті в мережу може потрапити тільки одне повідомлення, інші робочі станції повинні будуть повторити спробу відправа свої повідомлення, причому повтор здійснюється адаптерами самостійно без утручання робочої програми. Кожен адаптер працює зі своєю частотою, що дозволяє рознести звертання адаптерів до мережі за часом. У результаті всі робочі станції зможуть відправити свої повідомлення. Повідомлення, що йде по мережі, приймають усі робочі станції, і тільки та з них, якої адресоване повідомлення, посилає в ЛКМ підтвердження про приймання. Прикладом такої мережі є система Ethernet.

Якщо загальна шина, до якої приєднуються комп'ютери ЛКМ, замкнута, то одержуємо топологію кільця . Прикладом такої топології є мережа Token Ring.У випадку, коли до кожної робочої станції або мережного пристрою підходить власний кабель з центрального вузла (звичайно, файлового сервера), конфігурація називається зіркою . Указана топологія добре зарекомендувала себе випадках, коли у якості робочих станцій використовуються термінали.

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

Основні недоліки - уразливість системи при порушенні працездатності файлу-сервера, високі вимоги до ресурсів сервера і відповідно його велика вартість.

2 Питання

Похідні типи даних створюються під час виконання програми, а не при компіляції.

Є декілька спосібів конструювання похідних типів даних

-Індексний спосіб конструювання похідних типів даних.

-Структурний спосіб конструювання похідних типів даних

Створення типа виконується за два кроки:

        1. Конструювання типу.

        2. Реєстрація типу.

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

Після створення типу його необхідно зареєструвати за допомогою функції MPI_Type_commit:

int MPI_Type_commit (MPI_Datatype * datatype)

Найбільш універсальним констуркторои похідних типів даних є функція MPI_Type_struct:

int MPI_Type_struct (і n t count, int blocklens[],

MPI_Aint indices [] , MPI_Datatype old_types[], MPI_Datatype *newtype )

Нижче наведено опис параметрів функції:

count — кількість блоків (базових типів) в новому типі (також кількість елементів

масивів blocklens, indices, old_types); blocklens — масив, i-й елемент якого містить кількість елементів i-го блоку; indices — зсув в байтах кожного блоку; old_types — тип елементів кожного блоку; newtype — ідентифікатор нового типу даних.

Якщо в якості повідомлень будуть застосовуватись масиви нового типу, що створю- ються, то в масиві old_types останнім елементом має бути MPI_UB.