Склад і характеристика системного забезпечення
Характеристика, аналіз програмного забезпечення АСУ
Програмне забезпечення (ПЗ) ПК можна розділити на дві основні частини: системне і прикладне ПЗ.
Склад і характеристика системного забезпечення
Системне ПЗпризначено для управління роботою комп'ютера, розподілу його ресурсів, підтримки діалогу з користувачами, надання їм допомоги в обслуговуванні комп'ютера, а також для часткової автоматизації розробки нових програм.
Системне ПЗ -це комплекс програм, багато з яких постачаються разом з комп'ютером та документацією до неї. Системне ПЗ можна розділити на три основні частини: операційні системи (ОС), системи програмування та сервісні програми.
Системні програмні засоби призначені для забезпечення діяльності прикладних програмних систем. До системних програмних засобів належать:
- операційні системи;
- тестові та діагностичні програми;
- антивірусні програми;
- командно-файлові процесори (оболонки).
Операційна система-це комплекс програм, які призначені для керування роботою машини і організації взаємодії користувача з ПК.
Склад та функції ОС дуже залежать від режиму роботи ПК, а також від складу та конфігурації апаратних засобів. Найпотужніші ОС використовують у мультипроцесорних діалогових обчислювальних системах та комп'ютерних мережах. Програмні модулі ОС, як правило, зберігаються на магнітних дисках та в міру необхідності передаються до оперативної пам'яті для виконання. Однак деяка частина ОС, яку називають ядром чи супервізором операційної системи, після вмикання комп'ютера та ініціалізації системи постійно знаходиться в оперативній пам'яті. Самі ці програми одержали назву резидентних програм.
Ядро ОС керує функціями самої операційної системи. В оперативній пам'яті крім області ядра виділяється транзитна область, у яку навперемінно, в міру необхідності, завантажується решта так званих транзитних програм операційної системи. Відповідно всі команди ОС звичайно поділяють на резидентні та транзитні, принцип використання яких є подібним розглянутому раніше.
Тестові і діагностичні програми призначені для перевірки працездатності окремих вузлів комп’ютера і компонентів програмно-файлових систем і, можливо, виявлення та усунення несправностей. Антивірусні програми призначені для виявлення і, можливо, усунення вірусних програм, які порушують нормальну роботу обчислювальної системи.
Командно-файлові процесори (оболонки).На одному ПК можуть використовуватися декілька різних ОС. Усі сучасні операційні системи ПК мають ще своєрідні надбудови, які називають оболонками. Оболонки ОС суттєво полегшують користувачеві роботу на комп'ютері. При використанні оболонок не треба запам'ятовувати багато команд ОС та вводити їх вручну з клавіатури.
Операційні системи є основними системними програмними комплексами, які виконують наступні функції:
- тестування працездатності обчислювальної системи і її налагодження при початковому включенні;
- забезпечення синхронної і ефективної взаємодії всіх апаратних і програмних компонентів обчислювальної системи в процесі її функціонування;
- забезпечення ефективної взаємодії користувача з обчислювальною системою.
Операційні системи класифікуються по таких характеристиках:
- Кількості одночасно працюючих користувачів – однокористувацькі та багатокористувацькі. Багатокористувацькі на відміну від однокористувацьких підтримують одночасну роботу декількох користувачів з різними терміналами.
- Числу процесів, які одночасно можуть виконуватися під керуванням даної системи - однозадачні та багатозадачні.
- Поняття багатозадачності означає підтримку паралельного виконання кількох задач, які існують в межах однієї обчислювальної системи в один момент часу. Однозадачні підтримують режим виконання лише одної програми в один момент часу.
- Кількості підтримуючих процесорів – однопроцесорні та багатопроцесорні. Багатопроцесорні операційні системи підтримують режим розподілених ресурсів декількох процесорів для розв’язання одної задачі.
- Розрядності коду -8-и розрядні, 16-ти розрядні, 32-х розрядні та 64-ох розрядні (вважається, що розрядність операційної системи не може перевищувати розрядність процесора).
- Типу доступу користувача до ЕОМ: з пакетною обробкою, з розділенням часу, реального часу. В режимі пакетної обробки з виконуваних програм формується пакет (набір) завдань, які вводяться в ЕОМ і виконуються в порядку черговості з можливим врахуванням пріоритетів. В режимі розділення часу кожній задачі почергово виділяється певний проміжок часу на виконання з імітуванням перед користувачами одночасного виконання всіх завдань. Режим реального часу забезпечує імітацію одноосібного обслуговування користувача в темпі розвитку реального процесу.
- Типу використання ресурсів -мережні та локальні. Локальна операційна система забезпечує роботу тільки одного користувача, в той час як мережна -дозволяє одночасно працювати багатьом незалежним користувачам в мережі, використовуючи спільні ресурси.
Тобто мережні операційні системи служать для забезпечення обслуговування користувачів локальних обчислювальних мереж.
На сьогодні найпоширенішими операційними системами для персональних комп’ютерів, робочих станцій і серверів є наступні: UNIX, MS DOS, WINDOWS, LINUX.
Розглянемо детальніше, операційні системи реального часу.
Для подібних систем характерно:
• гарантований час реакції на зовнішні події (наприклад на переривання від обладнання);
• жорстка підсистема планування процесів (високопріоритетні завдання не повинні витіснятися низькопріоритетним, за деякими винятками);
• підвищені вимоги до часу реакції на зовнішні події або реактивності (затримка виклику обробника переривання не більш десятків мікросекунд, затримка при перемиканні задач не більше сотень мікросекунд).
Динамічні властивості програм реального часу прийнято характеризувати трьома визначеннями: програми «жорсткого», «м'якого» і «інтерактивного» реального часу.
Жорсткий реальний час. Передбачає наявність гарантованого часу відгуку системи на конкретну подію, наприклад, апаратне переривання, видачу команди управління і т.п. Абсолютна величина часу відгуку великого значення не має.
М'який реальний час характеризується тим, що затримка реакції не критична, хоча і може привести до збільшення вартості результатів та зниження продуктивності системи в цілому. Практично всі системи промислової автоматизації є системами реального часу.
Основна відмінність між системами жорсткого і м'якого реального часу можна висловити так: система жорсткого реального часу ніколи не запізниться з реакцією на подію, система м'якого реального часу - не повинна спізнюватися з реакцією на подію.
Так як система «м'якого» реального часу може не встигати все робити завжди в заданий час, виникає проблема визначення критеріїв успішності її функціонування. В залежності від функцій системи це може бути максимальна затримка у виконанні будь-яких операцій, середня своєчасність обробки подій і т. п. Більше того, ці критерії впливають на те, який алгоритм планування завдань є оптимальним.
Основними алгоритми реального часу є:
· статичні алгоритми планування (RMS) - використовують пріоритетне витіснення планування
· динамічні алгоритми планування (EDF) - пріоритет завданням привласнюється динамічно, причому перевага віддається завданням з найбільш раннім граничним часом початку (завершення) виконання.
При великих завантаженнях системи EDF більш ефективний, ніж RMS. Більшість ОСРЧ виконують планування завдань, керуючись наступною схемою. Кожній задачі в додатку ставиться у відповідність деякий пріоритет. Чим більше пріоритет, тим вище повинна бути реактивність завдання. Висока реактивність досягається шляхом реалізації підходу пріоритетного витісняє планування, суть якого полягає в тому, що планувальником дозволяється зупиняти виконання будь-якої задачі в довільний момент часу, якщо встановлено, що інша задача повинна бути запущена негайно.
Сучасні СРЧ мають ряд особливостей в порівнянні з системами поділу часу.
Обмежений час відповіді. По суті, система реального часу - це апаратно-програмний комплекс, що реагує в передбачувані часи на непередбачуваний потік зовнішніх подій.
Статична основа проектування. Основна частина оброблюваних даних апріорно відома. Тому найбільш широкий клас користувачів операційних систем реального часу - розробники комплексів реального часу, люди проектують системи управління та збору даних. Проектуючи і розробляючи конкретну систему реального часу, програміст завжди знає точно які події можуть відбутися на об'єкті, знає критичні терміни обслуговування кожного з цих подій.
Портування. Для різних областей застосування ОС РЧ існують різні апаратні платформи і для кожної необхідно портування, тобто процес «стикування» програмної частини ОС та її апаратного забезпечення. При виборі апаратної платформи для систем реального часу основними моментами є жорсткі вимоги до тимчасових характеристикам і гнучкості системи.
Вбудовані системи реального часу. Операційна система реального часу орієнтована на обробку зовнішніх подій. Саме це призводить до корінних відмінностей (порівняно з ОС загального призначення) в структурі системи, у функціях ядра, в побудові системи введення-виведення.
За структурним характеристикам програмно-апаратні комплекси можна розділити на класи: виконавчі системи реального часу; ядра реального часу; Unix реального часу.
ОСРЧ класифікуються за структурними характеристиками:
Виконавчі системи реального часу. Ознаки систем цього типу - різні платформи для систем розробки і виконання. Додаток реального часу розробляється на host-комп'ютері (комп'ютері системи розробки), потім компонується з ядром і завантажується в цільову систему для виконання. Як правило, додаток реального часу - це одне завдання і паралелізм тут досягається за допомогою ниток.
Системи цього класу, як правило, модульні, добре структуровані, мають найбільш розвинений набір специфічних механізмів реального часу, компактні і передбачувані. Найбільш популярні системи цього класу: OS-9, QNX.
UNIX реального часу. Частина розробників операційних систем реального часу спробувала просто переписати ядро UNIX, зберігши при цьому інтерфейс користувача процесів з системою, наскільки це було можливо. Отримали і реальний час, і відразу весь набір користувальницьких додатків - компілятори, пакети, різні інструментальні системи.
Найбільш популярним представником систем цього класу є операційна система реального часу LynxOS.
Класифікація за програмним середовищем:
Програмування на рівні мікропроцесорів. В даному випадку програми для програмованих мікропроцесорів, вбудованих в різні пристрої, дуже невеликі і зазвичай написані на мові низького рівня типу асемблера або PLM.
Мінімальне ядро системи реального часу. Ядро являє собою набір програм, що виконують іпічние, необхідні для вбудованих систем низького рівня функції, такі, як операції з плаваючою комою і мінімальний сервіс введення .
Ядро системи реального часу та інструментальна середу. Цей тип систем забезпечує набагато більш високий рівень сервісу для розробника прикладної програми.
ОС з повним сервісом. Такі ОС можуть бути застосовані для будь-яких додатків реального часу. Розробка та виконання прикладних програм ведуться в рамках однієї і тієї ж системи.
Технічні характеристики ОСРЧ
Час реакції системи. Насправді ,якщо головним для системи реального часу є її здатність вчасно відреагувати на зовнішні події, то такий параметр, як час реакції системи є ключовим. Однак у даний момент немає загальноприйнятих методологій вимірювання цього параметра.
Події, що відбуваються на об'єкті, реєструються датчиками, дані з датчиків передаються в модулі вводу-виводу (інтерфейси) системи. Модулі вводу-виводу, отримавши інформацію від датчиків і перетворивши її, генерують запит на переривання в керуючому комп'ютері, подаючи йому тим самим сигнал про те, що на об'єкті відбулася подія. Отримавши сигнал від модуля вводу-виводу, система повинна запустити програму обробки цієї події.
Час перемикання контексту. В операційній системі реального часу закладений паралелізм, тому всі операційні системи реального часу є багатозадачними. Для того щоб вміти оцінювати додаткові витрати системи при обробці паралельних подій, необхідно знати час, який система витрачає на передачу управління від процесу до процесу (від завдання до завдання, від нитки до нитки), це є час перемикання контексту.
Розміри системи. Для СРЧ важливим параметром є розмір системи виконання, а саме сумарний розмір мінімально необхідного для роботи програми системного набору (ядро, модулі, драйвери і т. д.).