- •Тема 1. Вступ Лекція 1. Характеристика і зміст дисципліни
- •Тема 2. Паралелізм обчислень. Архітектури паралельних ос Лекція 2. Види і засоби обчислень
- •Лекція 3. Поняття і види паралелізму обчислень
- •Лекція 4. Традиційна класифікація паралельних ос
- •4.1. Послідовні і паралельні архітектури
- •4.2. Основні типи паралельних архітектур
- •Лекція 5. Сучасні паралельні ос і суперкомп'ютери
- •5.1. Класифікації сучасних паралельних ос
- •5.1.1. Зв'язок "пам'ять-процесори"
- •5.1.2. Топологія зв'язків між процесорами
- •5.2. Суперкомп'ютери
- •6.3. Архітектура кластерів
- •Тема 3. Загальна характеристика рс Лекція 6. Розподілені системи: особливості, характеристики
- •1. Мережа газопроводів
- •2. Електромережі
- •3. Мережі зв'язку
- •4. Логістичні системи
- •5. Банківська система
- •6. Корпорації
- •7. Державне та муніципальне управління
- •Лекція 7. Надійність і безпека розподілених систем
- •Тема 4. Розподілена обробка інформації Лекція 8. Розподілені задачі і алгоритми
- •Лекція 9. Мова Triad моделювання розподілених систем
- •Лекція 10. Хвильові алгоритми розповсюдження інформації
- •Лекція 11. Хвильові алгоритми обходу сайтів
- •Лекція 12. Хвильові алгоритми вибору сайтів
- •13.1. Загальні поняття
- •9.2. Мультиагентні системи
- •9.3. Технологія організації мультиагентних систем
- •13.4. Технологія програмної реалізації інтелектуальних мас
- •Лекція 14. Розподілені бази даних
- •Тема 5. Заключення Лекція 15. Огляд матеріалу по курсу
- •Література
Лекція 4. Традиційна класифікація паралельних ос
Послідовні і паралельні архітектури. Таксономія Флінна. Потоки команд і даних. Класи ПОС: ОКОД, МКОД, ОКМД, МКМД. [1, C. 5-7]
4.1. Послідовні і паралельні архітектури
Визначимося з термінами "архітектура" і "структура".
Архітектура ОС [20] – загальна логічна організація системи, що визначає процеси обробки даних. Термін "архітектура" включає в себе методи представлення даних, склад, призначення та принципи взаємодії технічних засобів і програмного забезпечення.
Архітектура – це абстрактне представлення системи з погляду програміста, який розробляє програми на мові високого рівня, або розробника компілятора. Архітектура не відображає такі моменти, як керування і передача даних усередині процесора, конструктивні особливості логічних схем та специфіка технології їх виробництва.
Структура – це сукупність компонентів системи і зв'язків між ними. Так, структура ЕОМ містить (рис. 4.1) 4 основних компонентів: процесор (Пр), оперативна пам'ять (ОП), пристрій вводу-виводу (ПВВ), що включає в себе зовнішню пам'ять, і пристрій керування (ПУ). Вони пов'язані між собою шинами передачі даних (подвійні лінії) і керуючих сигналів (одинарні лінії).
Рисунок 4.1 – Структура ЕОМ фон Неймановского типу
Таким чином, архітектура ОС є її зовнішньою характеристикою, а структура – внутрішньої. Зрозуміло, архітектура і структура тісно ув'язані.
Архітектура персональних ЕОМ, з якими найчастіше доводиться мати справу, відноситься до розряду фон-неймановських, в честь Дж. фон Неймана (J. von Neumann), який ще в 40-х роках ХХ століття запропонував модель ОС, в якій обчислювальний пристрій (процесор) отримує на вході програму, що складається з послідовності команд, які виконуються одна за одною в тому порядку, в якому ці команди зустрічаються в програмі (а точніше – тих її фрагментах, які укладені між двома командами розгалуження).
Покоління ЕОМ змінювали однє одного, їх внутрішня структура ускладнювалася, і принципи фон Неймана став просто ефективною абстракцією, що приховує від програміста технічні деталі реалізації виконання програми всередині обчислювальної машини. Насправді процес виконання програми у сучасних ЕОМ далекий від фон-неймановской простоти, і принципова вимога послідовного і впорядкованого виконання команд – істотне обмеження на шляху до досягнення висот продуктивності. Команди в сучасних процесорах не виконуються ні послідовно, ні впорядковано, однак архітектура системи залишається незмінною, деталі реалізації вміло ховаються проектувальниками з єдиною метою – зберегти простий і ефективний принцип послідовного програмування.
Однак, поряд з широким класом послідовних архітектур, існують паралельні архітектури, де розпаралелювання обчислень вже не ховається від програміста, а ставиться йому в обов'язок.
Принцип паралельного програмування полягає в тому, що виконання задачі розподіляється явним чином між декількома обчислювальними пристроями (процесорами), і в грубому наближенні можна припустити, що продуктивність n процесорів з продуктивністю Q дорівнює nQ.
