- •1. Історія розвитку мов програмування.
- •2. Структурне та об'єктно - орієнтоване програмування.
- •Процедурне програмування
- •Тема: Об'єктно — орієнтований підхід у програмуванні.
- •Суть об'єктно - орієнтовного підходу до програмування.
- •Особливості та переваги об'єктно - орієнтованого програмування.
- •Базові поняття та терміни
- •Наслідування, інкапсуляція та поліморфізм.
- •Заняття №3.
- •Написання програми.
- •2. Базові типи та описи даних.
- •Цілі числа
- •1. Основні поняття припроцесорної обробки. Компонування декількох файлів в одну програму
- •2. Припроцесорні змінні
- •3. Макровизначення (макроси).
- •4. Умовна компіляція
- •Заняття №5 Тема: Специфікація, об'єктів на основі абстрагування
- •1. Поняття класу об'єктів.
- •Формат класу.
- •Звернення до членів класу
- •Заняття №6 Тема: Ідентифікація об'єктів.
- •1. Ідентифікація назвою.
- •2. Область доступу ідентифікаторів
- •3. Опис об'єкту: інтерфейс і реалізація.
- •Тип адрес.
- •5. Ідентифікація вказівником.
- •6. Посилання
- •Віртуальні функції.
- •„Дружні" функції.
- •Тема: Інтерпретація об'єктів.
- •1. Поліморфізм
- •Тема: Інтерпретація об'єктів (заняття 2)
- •Наслідування властивостей.
- •Множинне наслідування.
- •1. Поняття „час життя" об'єкта та „область видимості".
- •Область видимості імен.
- •Тема: Динамічні структури об'єктів
- •1. Зв'язана організація пам'яті.
- •2. Асоціативні структури.
- •3. Списки. Черги. Рекурсивні структури. Набори. Дерева.
- •Тема: Процеси в об'єктах. Інкапсуляція
- •Логічний паралелізм. Схема сопрограм
- •Список використаної літератури
Тема: Процеси в об'єктах. Інкапсуляція
Мета: Освоїти логічний паралелізм. Схему сопрограм. Поняття процесу.
План заняття:
Логічний паралелізм. Схема сопрограм.
Поняття процесу. Робоча область процесу. Створення \ знищення процесів.
Рентерабельність. Сигнальна синхронізація.
Основи моніторингу, орієнтованого на процеси.
Логічний паралелізм. Схема сопрограм
У будь-якому програмному об'єкті можуть розвиватися динамічні процеси, що визначають зміну стану об'єкта в часі. Такі процеси можуть розвиватися автономно (незалежно один від одного) або у взаємодії один з одним. Концепція взаємодії грунтується на одночасному розвитку декількох процесів, при цьому така одночасність трактується в програмуванні як логічний паралелізм - одночасне виконання декількох дій (активностей), обумовлене логікою розвитку модельованої системи. Реалізація концепції логічного паралелізму вимагає в загальному випадку наявності декількох процесорів (пристроїв ЕОМ, що забезпечують розвиток паралельних процесів), що зв'язано з використанням нового класу обчислювальних систем - систем з мультипроцесорною архітектурою. Реалізація паралельних процесів на звичайній однопроцесорній ЕОМ пов'язана з імітацією логічного паралелізму послідовністю активацій різних процесів із збереженням загальних логічно обумовлених правил їх взаємодії. Така імітація пов'язана з поняттям квазіпаралельності.
Квазіпаралельні процеси - це форма (і метод) реалізації логічного паралелізму на однопроцесорній ЕОМ. У свою чергу існує безліч різних способів реалізації квазіпаралельності, одночасних дій послідовностями активностей, що відрізняються механізмами імітації. Не зупиняючись на докладному розгляді таких способів, ми відзначимо тут загальну закономірність; логічна паралельність (одночасність дій) в загальному випадку не приводиться до послідовності активностей. Тому будь-який спосіб реалізації квазіпаралельності приводить до виникнення специфічних проблем, відомих в програмуванні як проблеми "безвиході", "критичних секцій", "семафорів" і т.п
У основі загального механізму реалізації квазіпаралельності лежить схема співпрограм - особлива схема управління, що відрізняється від широко використовуваної схеми підпрограм тим, що вона будується не на основі принципу "головний - підлеглий" ( "головна програма - підпрограма"), а на основі "рівноправності" всіх взаємодіючих програм. У схемі співпрограм немає головної процедури - "господаря", який маніпулюватиме викликом "підлеглих", - будь-яка процедура в цій схемі трактується як "рівна серед рівних".
Нижче приведена ілюстрація взаємодії двох процедур по схемі співпрограм. На цій ілюстрації подвійною межею зображаються фази активності процесу, що реалізовується співпрограмою, одинарною, - передача управління від процесу процесу. На відміну від підпрограм, будь-яка процедура, що реалізовується як співпрограма, може мати безліч точок реактивации. Такі крапки в тексті програми визначаються розстановкою спеціальних операторів управління (оператори синхронізації, затримки, очікування і т.п.).
