Приклади обробки інформації

Приклади обробки інформації
Приклади Вхідна інформація   Вихідна інформація Правило
Таблиця множення Множники Добуток Правила арифметики
Визначення часу польоту рейса "Київ-Ялта" Час вильоту з Києва й час прильоту в Ялту Час у дорозі Математична формула
Відгадування слова в грі "Поле чудес" Кількість літер у слові й тема Відгадане слово Формально не визначено
Одержання секретних відомостей Шифровка від резидента Дешифрований текст Своє в кожному конкретному випадку
Постановка діагнозу хвороби Скарги пацієнта + результати аналізів Діагноз Знання + досвід лікаря

 

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

Традиційно в процесі обробки інформації використовуються як вимірювальна апаратура, що забезпечує вхідні дані, так і власне обробні (обчислювальні) системи. Завдання обробки інформації постійно ускладнювалися, розвивалися способи формулювання й запису правил роботи машин (програм роботи). Обчислювальні пристрої перетворилися в комп'ютери, а правила роботи реалізувалися в комп'ютерні програми.

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

Єдина мова, що безпосередньо виконується процесором, - це машинна мова (також називана машинним кодом). Споконвічно всі програмісти проробляли весь алгоритм у машинному коді. Зараз замість цього програмісти пишуть вихідний код мовою високого рівня (наприклад, С, С++, С#, Java), а комп'ютер, використовуючи компілятор або інтерпретатор і уточнюючи всі деталі, транслює його за один або кілька етапів у машинний код, готовий до виконання на цільовому процесорі. Якщо потрібний повний низькорівневий контроль над системою, програмісти пишуть програму мовою асемблера, мнемонічні інструкції якого перетворяться один до одному у відповідні інструкції машинної мови цільового процесора.

У деяких мовах замість машинного коду генерується інтерпретований двійковий код "віртуальної машини", також називаний байт-кодом (byte-code). Такий підхід застосовується в мові Forth, деяких реалізаціях мов Lisp, Java, Perl, Python, а також у мовах платформи Microsoft .NET.

Інформаційна технологія (ІТ) повинна мати високий ступінь розчленовування всього процесу обробки інформації на стандартизовані й уніфіковані етапи, процедури, операції, дії й містити весь набір елементів, необхідних для досягнення поставленої мети. Спрямованість на досягнення мети забезпечується відображенням функціональних задач об'єкта керування в обчислювальні задачі. У процесі обробки даних в ІТ реалізується управління розв'язанням на ЕОМ обчислювальних задач за допомогою відповідних моделей і алгоритмів обробки даних і машинних програм.

Технологічний процес обробки інформації у ІТ залежно від рівня представлення може бути описаний через:

сукупність процедур процесу обробки даних – на концептуальному рівні;

моделі та методи, що формалізують процес обробки даних у ЕОМ;


апаратну реалізація процедур обробки даних – на фізичному рівні.

Структура процедур процесу обробки даних наведена на рис. 3.12.

Рис. 3.12. Основні процедури процесу обробки даних на ЕОМ

Процедура організації обчислювального процесу (ООП) полягає в обслуговуванні завдань (черг), які поступають на обробку, і плануванні (оптимізації послідовності) їхньої обробки. На програмно-апаратному рівні ці функції виконують спеціальні керуючі програми, що є складовою частиною операційних систем, тобто систем, що організують виконання комп'ютером операцій обробки даних.

Процедура перетворення даних полягає у виконанні ЕОМ типових операцій над структурами й значеннями даних (сортування, вибірка, арифметичні й логічні дії, створення й зміна структур і елементів даних і т.п.) у кількості й послідовності, заданих алгоритмом розв'язання обчислювальної задачі. На фізичному рівні алгоритм реалізується у формі послідовного набору машинних команд, на логічному – у вигляді програми на формалізованій людино-машинній мові - алгоритмічній мові програмування.

Відображення даних виконується на екрані дисплея (або на папері принтера чи графобудівника) у вигляді графічних об'єктів. На логічному рівні процедура відображення базується на застосуванні законів аналітичної геометрії. Основою математичних моделей відображення є афінні перетворення та сплайн-функції.

Процедури розбиваються на операції зі створення конкретних об'єктів у обраному програмному середдовищі; операції – на дії, які являють собою сукупність стандартних для даного програмного середовища прийомів роботи, що забезпечують досягнення поставленої у відповідній операції мети. Ці дії своєю чергою складаються з елементарних операцій з керування елементарними обчислювальними об'єктами.

На самому верхньому рівні можна виділити числову й нечислову обробку. За числової обробки використовуються такі об'єкти, як змінні, вектори, матриці, багатомірні масиви, константи тощо; за нечислової - файли, записи, поля, ієрархії, мережі, відношення й т.д.

До моделей обробки даних відносять:

· модель організації обчислювального процесу. Це програми управління ресурсами, представлені програмами системного керування комп'ютером. Комплекси таких алгоритмів і програм отримали назву операційних систем;

· модель автоматизованої обробки даних. Це сукупність програм для формалізованого перетворення вихідних даних у результат;

· модель процедури відображення даних. Це програми перетворення даних, представлених у вигляді машинних кодів, у сприйману людиною інформацію у вигляді тексту, графіки, звуку й мультимедіа.

Інформаційний процес обробки даних на фізичному рівні представляється апаратно-програмним комплексом, що містить ЕОМ і програмне забезпечення, яке реалізує моделі організації обчислювального процесу, перетворення й відображення даних.

Організація обчислювального процесу передбачає 3 основні режими обробки даних на ЕОМ:

· пакетний режим обробки, у якому формується черга завдань-пакетів, які виконуються послідовно. Пакети вибираються з диска або з іншого машинного носія чи з каналу зв'язку. Пропускна здатність ЕОМ у цьому режимі максимальна;

· режим розділення часу, у якому кожне завдання отримує квант або кілька квантів часу. Всі завдання знаходяться у пам'яті ЕОМ. Застосовується сторінкова організація пам'яті, деякі віртуальні сторінки перебувають на диску, можливий діалоговий режим;

· режим реального часу, доцільний при управлінні фізичними й технологічними процесами. Цей режим потребує миттєвої реакції системи на зміну вхідних даних.

Розвитком пакетного режиму є діалоговий режим, який передбачає реалізацію процесів вирішення задач із швидкістю, достатньою для осмислення і реагування користувачами. Діалоговий режим, поряд з режимом запитів, за якого взаємодія користувача з ЕОМ носить характер регламентованих запитів, є різновидом інтерактивного режиму. Інтерактивний режим допускає можливість переривання операцій обробки даних іншими операціями, причому час переривання є настільки малим, що користувач його не помічає.

Діалоговий режим дає користувачеві можливість безпосередньо взаємодіяти з обчислювальною системою в допустимому для нього темпі роботи, реалізовуючи цикл видачі завдання, отримання і аналізу відповіді. При цьому ЕОМ сама може ініціювати діалог, повідомляючи користувачеві послідовність кроків (представлення меню) для отримання шуканого результату. Найбільш характерний приклад діалогу - взаємодія з базою даних. В діалозі використовується символьна, текстова, графічна інформація, вибір пунктів меню тощо. Розвиток сучасної технології все більше розширює область мовного діалогу.

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

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

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

Процедура перетворення даних полягає у виконанні ЕОМ типових операцій над структурами й значеннями даних у кількості й послідовності, заданих алгоритмом розв'язання обчислювальної задачі, який на фізичному рівні реалізується машинною програмою. На логічному рівні алгоритм перетворення даних виглядає як програма, складена на алгоритмічній мові програмування.

ЕОМ розуміє тільки машинні команди, тому програми з алгоритмічних мов за допомогою програм-трансляторів переводяться в послідовність кодів машинних команд. Програма перетворення даних складається з опису типів даних і їхніх структур, які будуть застосовуватися при обробці, і операторів, що вказують ЕОМ, які типові дії й у якій послідовності необхідно виконати над даними і їхніми структурами. Управління процедурою перетворення даних здійснюється в першу чергу програмою рішення обчислювальної задачі; за автономності вирішуваної задачі додаткового керування процедурою перетворення не вимагається.

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

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

Завданням управління процедурою перетворення даних є: мінімізація інформаційних потоків між пам'яттю ЕОМ і операціями (процесором); виключення дублювання операцій у комплексах функціональних програм.

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

Якщо позначити різними кольорами дуги, що належать різним інформаційним елементам, то задача мінімізації інформаційних потоків у графовій інтерпретації полягатиме в такій розбивці розфарбованого графа на підграфи (модулі), за якої мінімізується сумарна кількість дуг різних кольорів, що зв'язують виділені підграфи. Задавши цей граф його матрицею інциденцій L і врахувавши фізичний зміст вузлів і дуг, одержимо задачу розбивки множини операцій перетворення даних матриці на непересічні підмножини (модулі), сумарна кількість інформаційних зв'язків між якими мінімальна. При розв'язанні задачі повинні бути враховані обмеження: на кількість виділених підмножин (модулів); на кількість інформаційних елементів, що входять в один модуль; на кількість інформаційних зв'язків між виділюваними модулями й на сумісність операцій у модулях. Ця задача зводиться до задачі лінійного програмування і розв'язується стандартними методами.


Рис. 3.13. Граф перетворення даних

Другою частиною завдання управління процедурою перетворення даних є виділення в алгоритмах розв'язання задач (або задачі) спільних операційних комбінацій з об’єднанням їх у спільні модулі і впорядкування в такий спосіб загальної схеми алгоритму обробки даних. Ці задачі на логічному рівні можуть бути представлені як задачі укрупнення графів алгоритмів.


Граф алгоритму являє собою деревоподібний граф, вузлами якого є операції над даними, а дугами — зв'язки (відношення) між операціями в алгоритмі. У корені графа розташована початкова операція а0, від якої після її виконання відбувається перехід до операції А1 або a2 , потім до А34, ..., Ат (рис. 3.14).

Рис. 3.14. Граф алгоритму

Наведений граф можна розмітити, написавши біля дуг число звернень rij від операції Аi, дооперації Аj (наприклад, від А1 до A3) у процесі виконання алгоритму. Для детермінованих алгоритмів число звернень rij ≥1, для імовірнісного алгоритму число rij < 1, тому що воно визначає ймовірність звернення операції Аi, дооперації Аj.

При аналізі алгоритмів рішення обчислювальних задач можна виділити спільні сукупності операцій (перетини графів, рис. 3.15, а) нижче).

Рис. 3.15. Об'єднання графів алгоритмів і виділення спільних операцій у модулі

Алгоритми Р1 і p2 мають три спільні операції, що становлять підмножину операцій, що входять одночасно й у множину операцій алгоритму Р1, і в множину операцій алгоритму p2 (заштрихована частина рис. 3.15, а)

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

З погляду реалізації на основі сучасних досягнень обчислювальної техніки виділяють наступні види обробки інформації:

· послідовна обробка, яка застосовується в традиційної фоннеймановській архітектурі ЕОМ з одним процесором;

· паралельна обробка, яка застосовується за наявності кількох процесорів в ЕОМ;

· конвеєрна обробка, пов'язана з використанням в архітектурі ЕОМ тих самих ресурсів для рішення різних задач.

Необхідність паралельної обробки даних виникає, коли потрібно скоротити час розв'язання даної задачі, збільшити пропускну здатність, поліпшити використання системи. Для розпаралелювання необхідно відповідним чином організувати обчислення шляхом:

· складання паралельних програм, тобто відображення паралельної обробки за допомогою належних конструкцій мови, орієнтованої на паралельні обчислення;

· автоматичного виявлення паралелізму.

Послідовна програма автоматично аналізується, у результаті може бути виявлена явна або прихована паралельна обробка. Прихована паралельна обробка повинна бути перетворена в явну. Із графа програми (рис.3.16 ) видно, що виконання процесу Р5 не може початися до завершення процесів p2 і рз і, своєю чергою, виконання процесів p2 і p3 не може початися до завершення процесу Р1.

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

(3.1)

При автоматичному виявленні паралельних обчислень визначаються можливість явної й прихованої паралельної обробки. Щоб виявити явну паралельність процесів, будують граф потоку даних і аналізують множини вхідних (зчитувальних) змінних R (Read) і вихідних (записуваних) змінних W (Write) кожного процесу. Два процеси i, j (i<>j) можуть виконуватися паралельно за наступних умов:

Ø ;

Ø ; (3.2)

Ø ;

 

 

 
 

Рис. 3.16. Граф виконання певної програми: для виконання програми вистачає трьох процесорів

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

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

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

Послідовні конвеєри. На рис. 3.17 представлена схема пристрою обробки команд, у якому є чотири щаблі: вибірка команди з пам'яті, декодування, вибірка операнду, виконання.

 

 

Рис. 3.17. Блок-схема послідовного конвеєрного пристрою обробки даних

Прискорення обробки в даному пристрої виміряється відношенням часу Ts, необхідного для послідовного виконання L завдань (тобто виконання L циклів на одному обробному щаблі), до часу Tp виконання тієї ж обробки на конвеєрі. Позначимо через ti час обробки на 1-му щаблі, а через tj — відповідний час для самого повільного щабля. Тоді, якщо L завдань (команд) проходять через конвеєр з n щаблями, ефективність конвеєра визначається виразом

, для (3.3)

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

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

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

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

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

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

Великі об'єми інформації і необхідність високої швидкості її обробки обумовлюють необхідність постійного підвищення ефективності систем обробки даннях. Зазвичай як основний критерій ефективності використовується середній час обслуговування заявок.

Найпростішим способом планування обслуговування заявок є призначення завдань на вирішення в порядку убування часу їх рішення. Такий режим обробки називають режимом SPT (Shortest-Processing-Task-first). Проте в реальних системах оперативної обробки інформація про час вирішення завдань, як правило, відсутня. Завдання з різною тривалістю рішення поступають на процесор у випадковому порядку, а проводити одночасно з оперативною обробкою обчислювальних завдань їх сортування неможливо. У зв'язку з цим неможливо безпосередньо використовувати режим SPT. Аби| скористатися принципами планування на основі алгоритму SPT, в системі запроваджують додаткові засоби, які виявляють короткі і довгі роботи безпосередньо в ході обчислювального процесу.

Алгоритм RR (Round-Robin - алгоритм циклічного обслуговування) передбачає надходження заявок на виконання робіт з інтенсивністю λ в чергу Ч, звідки вони вибираються і виконуються процесором CPU. Для обслуговування окремої заявки відводиться постійний квант часу q, достатній для виконання кількох тисяч операцій. Якщо робота була виконана за час q, вона залишає систему. Якщо ні, вона знов поступає в кінець черги і чекає надання їй чергового кванта процесорного часу.


Рис. 3.18. Формування черги завдань у алгоритмові RR

Алгоритми SPT і RR передбачають обробку завдань без переривання. Якщо припустити можливість переривання вирішення завдань пакету до завершення їх обслуговування, то можуть бути запропоновані алгоритми, що приводять до розкладу оптимальної тривалості. При цьому вважається, що після переривання рішення задачі може бути відновлене з точки переривання на будь-якому процесорі, не обов'язково на тому, на якому завдання вирішувалося спочатку. Кількість переривань має бути по можливості найменшою, оскільки з кожним актом переривання пов'язані втрати машинного часу на завантаження-вивантаження завдань з оперативної пам'яті. Побудову оптимального розкладу з не більше ніж n-1 перериваннями забезпечує алгоритм Макнотона. За цим алгоритмом завдання попередньо впорядковуються за убуванням часу рішення і призначаються послідовно в порядку номерів одне за одним на процесори системи з урахуванням оптимального часу обробки..

Підвищення ефективності обробки пакетів незалежних завдань без переривань досягається при переході до багато (мульти) процесорних систем. Для таких систем одним з найбільш ефективних і нетрудомістких алгоритмів організації обчислень є алгоритм LPT (Longest-Processing Task first — найдовше завдання вирішується першим). Цей алгоритм є окремим випадком алгоритму критичного шляху для незалежних завдань. Його суть в призначенні завдань в порядку убування часу рішення на процесори, що звільняються. При використанні алгоритму LPT для розподілу без переривань будь-якого пакету П з L незалежних завдань з часом вирішення ti, i = 1..., L, в системі з n ідентичними процесорами загальний час Т вирішення завдань пакету П лежить у межах:

, (3.4)

де tо відповідає оптимальному розкладу:

(3.5)

У ряді випадків потрібно забезпечити безперервність функціонування ОБС в часі. Це означає, що відмова в будь-якому пристрої ОБС, у тому числі і в процесорі, не повинна призводити до катастрофічних наслідків, тобто система повинна зберігати працездатність і після відмови. У такому разі всі пристрої ОБС мають принаймні задублювати і система повинна містити не менше двох процесорів, тобто будуватися як мультипроцесорна система.

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

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

Структура МПС із спільною пам'яттю найбільш універсальна: будь-яка інформація, що зберігається в пам'яті системи, однаково доступна будь-якому процесору і каналу введення-виведення. Недоліком МПС із спільною пам'яттю є великі витрати устаткування в комутаторах, пропорційні добутку кількості підключених до пам'яті пристроїв на кількість модулів пам'яті.

У МПС з індивідуальною пам'яттю кожен з процесорів звертається в основному до свого модуля пам'яті. Для обміну даними між підсистемами «процесор — модуль пам'яті» в процесорах передбачені блоки обміну, що забезпечують передачу сегментів інформації між спільною пам'яттю і модулем пам'яті. При цьому блок обміну може працювати як селекторний канал: операція обміну ініціюється процесором, і передача даних виконується з паралельною роботою останнього. Принцип індивідуальної пам'яті дозволяє виключити комутатори в інтенсивно використовуваному каналі «процесор — модуль пам'яті», унаслідок чого збільшується номінальна швидкодія процесорів і зменшуються витрати устаткування в порівнянні з системами із спільною пам'яттю.

Негативним наслідком розділення пам'яті між процесорами є втрата ресурсів швидкодії в процесі обміну інформацією між модулями пам'яті і спільною пам'яттю системи, причиною яких є можливі припинення роботи процесорів для очікування моментів закінчення обміну даними із загальною пам'яттю та додаткове завантаження модулів пам'яті операціями обміну.

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

Результат обробки інформації має бути виданий кінцевим користувачам в зручній для них формі, тобто має бути вирішене завдання видачі та представлення інформації.

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

ПВІ класифікують за: а) методом використання; б) використанням символів; в) технічною реалізацією. За методом використання ПВІ поділяються на групові та індивідуальні. Групові ПВІ є пристроями колективного використання, вони мають великий розмір екрана, розвинуте математичне забезпечення функціональних можливостей. Такі пристрої встановлюють в диспетчерських пунктах або залах керування польотами; вони дають змогу надавати інформацію одночасно значній кількості операторів. Пристрої індивідуального використання відрізняються малими габаритами, вони призначені для взаємодії з одним або двома користувачами. Як групові, так і індивідуальні ПВІ можуть працювати або у реальному масштабі часу, або надавати інформацію з певною затримкою.

За використанням символів розрізняють алфавітно-цифрові, графічні та мнемонічні ПВІ. Технічна реалізація ПВІ можлива на основі: електронно-променевих трубок безпосереднього відображення; електронно-променевих трубок з проектуванням на екран; газорозрядних, електролюмінісцентних, рідинно-кристалічних, плазмових та інших пристроїв індикації.

Основні пристрої, відтворюючі текст або графічні фігури у ІТ, — це дисплеї і принтери, на використання яких (особливо перших) і спрямовані операції і процедури відображення.

Для того, щоб отримати на екрані дисплея (або на папері за допомогою принтера) зображення, що відображає інформацію, яка виводиться з комп'ютера, дані (тобто машинне представлення цієї інформації) мають бути відповідним чином перетворені, потім адаптовані (узгоджені) з параметрами дисплея (що виконується за допомогою відеоадаптера) і, нарешті, відтворені. Всі ці операції повинні виконуватися в строгій відповідності із заданою формою відтворення і можливостями відтворюючого пристрою. Узгодження операцій процедури відображення проводиться за допомогою керуючої процедури.

Сучасний відеоадаптер SVGA дозволяє забезпечувати надвисоку роздільну здатність від 640x480 до 1024x1024 елементів зображення і більше при 256 кольорових відтінках. Кожний відеоадаптер має відповідну програму керування, яка називається драйвером (EGA, VGA, SVGA). Монітори можуть працювати в різних стандартах шляхом використання відповідних драйверів та об'ємів оперативної пам'яті (відеокартка).

У сучасних ІТ при відтворенні інформації перевага надається не текстовим, а графічним режимам роботи дисплеїв як найбільш універсальним. Графічний режим дає змогу виводити на екран дисплея будь-яку графіку (адже букви і цифри теж є графічними об'єктами), причому з можливістю зміни масштабу, проекції, кольору тощо) Розвиток інформаційних технологій введення і виведення інформації йде по шляху створення об'єктно-орієнтованих систем, в яких налаштування систем, програмування функціональних завдань, введення і виведення інформації здійснюються за допомогою графічних об'єктів, що відображуються на екрані дисплея (прикладом можуть служити широко поширений графічний інтерфейс Windows, об'єктно-орієнтовані мови Delphi, Java тощо).

Відображення інформації на екрані дисплея (або на папері принтера, графічного пристрою) у вигляді графічних об'єктів(графіків, геометричних фігур, зображень тощо) називають комп'ютерною (машинною) графікою, принципи якої у 1951 р. сформулював інженер Масачусетського технологічного інституту Дж. У. Форрест.

На логічному рівні процедура відображення використовує закони аналітичної геометрії, розроблені французьким філософом і математиком Р. Декартом в XVII ст., згідно яких положення будь-якої точки на площині (у т.ч. на екрані дисплея) задається парою чисел — координат. Користуючись декартовою системою координат, будь-яке плоске зображення можна звести до списку координат точок, з яких воно складається. І навпаки, задані осі координат, масштаб і список координат легко перетворити на зображення. Основою математичних моделей комп'ютерної графіки є афінні перетворення і сплайн-функції. У основі сплайн-підходу до опису поверхонь лежить використання нескладних формул сплайн-функцій, які дають змогу відновлювати образ об'єкту з необхідною точністю.

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

Для отримання графічного зображення на екрані дисплея використовуються два основні методи: векторний (функціональний) і растровий. Векторний метод припускає виведення графічного зображення за допомогою електронного променя, що послідовно «викреслює» на екрані дисплея прямі і криві лінії відповідно до математичної моделі (функції) цього об'єкту. «Викреслювання» — це послідовне засвічування пікселів екрану. Оскільки кожен піксель має свою координату (пару чисел), то за цим методом послідовність чисел (вектор) перетворюється в точки, що світяться. Звідси назва методу. Для того, щоб зображення на екрані було нерухомим для ока людини, промінь пробігає по певних пікселях багато разів (не менше 16 разів в секунду).

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

Векторний метод — найбільш швидкодіючий; він застосовується при виведенні порівняно нескладних графічних об'єктів (графіки, креслення, номограми тощо) у наукових і інженерних дослідженнях. Ще однією перевагою методу є мінімальні для графічних систем вимоги до ресурсів ЕОМ (пам'яті і продуктивності).

Растровий(екранний) метод комп'ютерна графіка запозичила з телебачення. За цього методу електронний промінь сканує екран монітора (дисплея) зліва направо, після кожного проходу опускаючись на один рядок пікселів, сотні разів в секунду (звичайно 625 разів). Після проходження нижнього рядка промінь повертається до першого рядка (зворотний хід). Щоб при зворотному ході на екрані не прокреслювалася діагональна лінія, промінь на цей час гаситься. Таке сканування екрану проводиться 25 разів в секунду. Екран, що повністю просканувався, називається кадром. Якщо інтенсивність електронного променя постійна, то на екрані створюється рівномірний фон із пікселів, що однаково світяться. При виведенні на екран графічного об'єкту у відповідних його моделі точках інтенсивність променя зміниться, внаслідок чого «промальовувався» сам графічний об'єкт. У кольорових дисплеях можна задавати кольори як фону, так і зображення. Сучасні графічні адаптери дисплеїв дозволяють в принципі створювати незліченну кількість кольорів.

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

Обрана форма представлення інформації, поряд з обсягом останньої, вимогами до точності, типу і швидкості обробки, значною мірою визначає інструменти спеціальної інформаційної технології (прикладної програми), яка обирається для обробки інформації. Так для обробки текстів застосовують текстові процесори типу Microsoft Word, Word Perfect тощо, обчислення на великих інформаційних масивах здійснюють за допомогою електронних таблиць, наприклад, Microsoft Excel чи Ореп Office Calc; створення і редагування графічних зображень – за допомогою редакторів растровою та векторної графіки, наприклад, Adobe Photoshop, Corel Photo-Paint, Corel Draw, Adobe Illustrator.

Сучасні інформаційні технології мають у своєму складі потужні засоби візуалізації даних, які перетворюють дані до вигляду, який забезпечує їх найлегше сприйняття, наприклад, у вигляді гістограм, кругових діаграм чи графіків, деревоподібних карт, діаграм розсіювання, тривимірних ліній тренда тощо. Засоби багатомірного аналізу в межах технологій оперативного ((On-Line Analytical Processig, OLAP та інтелектуального аналізу (Data Mining) даних забезпечують інтерактивну обробку даних та виведення на екран їх агрегованих значень чи результатів обчислень, наприклад, середніх значень, рівнянь регресії тощо. Переважно такі дані мають табличне представлення, хоча передбачають і багатомірне графічне представлення з обертанням гіперкубу так, щоб можна було спостерігати послідовно всі його грані чи їх сукупності, що дає змогу виявляти сукупності взаємопов’язаних факторів, закономірності перебігу певних процесів у певних часових проміжках.

Питання для самоперевірки

1. Що таке інформаційні ресурси організації? З чого вони складаються?

2. Як трактується термін «інформаційна технологія»? Як інформаційна технологія співвідноситься з інформаційними ресурсами, процесами та процедурами?

3. Що таке інформаційне забезпечення? З чого воно складається?

4.Що таке апаратне, програмне і алгоритмічне забезпечення інформаційної технології? Як ці види забезпечення пов’язані між собою?

5. Які операції вважаються у інформаційних технологіях базовими?

6. За якими ознаками класифікують інформаційні технології?

7. Що таке «базові інформаційні технології»?

8. Які автоматизовані інформаційні технології відносять до класу «нових технологій»?

9. Що таке інструментарій і платформа інформаційних технологій? Як співвідносяться ці два поняття?

10. Які основні підходи до проектування складних програмних систем? Які моделі систем вони використовують?

11. Які компоненти входять у склад всіх методів проектування програмного забезпечення?

12. Що таке стиль програмування? Чим визначається доцільність використання того чи іншого стиля програмування?

13. Що таке Глобальна інформаційна інфраструктура?

14. Що таке інформаційне суспільство і єдиний інформаційний простір? Як вони пов’язані з відкритістю інформаційних систем?

15. Як можна описати структуру системи базових інформаційних процесів?

16. Які основні етапи містить процес збирання даних?

17. Які дані вважаються «брудними»?

18. Для чого в процесі попередньої обробки даних їх групують?

19. Що таке класифікування об’єктів? Що дає ідентифікація об’єкта як представника певного класу?

20. Як застосовують кодування в процесі класифікування?

21. Що розуміють під зберіганням інформації

22. Що таке база даних? В чому полягає специфіка зберігання інформації у базах даних?

23. Як реалізують системи збереження інформації на основі розподілених баз даних?

24. Як здійснюється транспортування інформації?

25. Що таке пропускна здатність каналу передачі даних?

26. Які основні процедури входять у склад обробки інформації?

27. Як здійснюють управління процедурою перетворення даних?

28. В чому суть і специфіка використання послідовної, паралельної та конвеєрної обробки даних?

29. Як працюють обчислювальні системи з керуванням потоком даних (потокові системи)?

30. У чому зміст та переваги мультипроцесорної організації обчислювальних систем?

31. Які основні принципи відображення графічних об’єктів (комп’ютерної графіки) на логічному та фізичному рівнях?

32. Які сучасні тенденції розвитку засобів візуалізації інформації?

 

Розділ 4
ОСНОВИ ТЕХНОЛОГІЇ БАЗ ДАНИХ