Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 16-2.doc
Скачиваний:
61
Добавлен:
11.02.2016
Размер:
620.03 Кб
Скачать

Сім'я ос реального часу

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

Операційна система реального часу (ОС РЧ) - операційна система, що гарантує визначений час реакції системи. Як правило, цей час коливається від кількох мікросекунд до кількох часток секунди.

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

Серед найбільш відомих ОС РЧ для ІВМ РС використовуються: OS-0000, FLEX OS, QNX та ін. З них вигідно вирізняється ОС QNX повним набором інструментальних засобів.

Ос Linux

Дуже популярною ОС кінця XX ст. стала недорога некомерційна альтернатива дорогим (НР-UNIX, SUN Solaris, Digital UNIX) рішенням - ОС Linux. Темпи освоєння ринку цією системою в порівняно з іншими відомими ОС є інтенсивними.

Сильною стороною ОС Linux є її універсальність: система покриши весь діапазон застосувань - від настільного РС до надпотужних бага­топроцесорних серверів і кластерів. Зараз багатопроцесорна ОС Linux стійко працює на платформах РС, Alpha, PowerPC, Macintosh, SGI MIPS, Strong ARM, SGI Visual Workstation, VAX, 8086, РС-98, Palm Pilot, НР РА-RISK, Sparc & UltraSparc64 system, m68k.

Будучи ОС, Linux виконує багато які з функцій, характерних для DOS і Windows. Однак слід зазначити, що ця ОС відрізняється особли­вою потужністю і гнучкістю. Більшість ОС персональних комп'ютерів, наприклад DOS, створювалися для невеликих ПК, що мали обмежені можливості. Такі ОС постійно модернізуються, оскільки вони мають відповідати можливостям апаратних засобів персональних комп'ютерів, що безупинно розвиваються. Система ж Linux розроблялася зовсім в іншому контексті. Вона являє собою ПК-версію операційної системи Unix, що десятиліттями використовується на мейнфреймах і міні-ЕОМ і є основною ОС робочих станцій. Linux надає в розпорядження ПК швидкість, ефективність і гнучкість Unix, використовуючи при цьому всі переваги сучасних персональних машин.

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

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

ОС надає в розпорядження користувача набір високоефективних інструментів. Така орієнтація на користувача означає, що ви можете конфігурувати і програмувати систему відповідно до своїх конкретних потреб. Операційна система Linux є операційним середовищем.

Життєвий цикл програмного забезпечення

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

Життєвий цикл програмного забезпечення містить у собі ряд етапів:

  • аналіз вимог;

  • визначення специфікацій;

  • проектування;

  • кодування;

  • тестування;

  • супровід.

Розглянемо їх.

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

Визначення специфікацій. Певною мірою цей етап можна розглядати

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

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

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

Тестування. На цьому етапі здійснюється всебічна перевірка програм.

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

Методи розробки алгоритмів і програм

Найважливішими класифікаційними ознаками методів проектуван­ня алгоритмів і програм є:

  • ступінь автоматизації виконання проектних робіт;

  • методологія процесу розробки.

За ступенем автоматизації процесу проектування алгоритмів і про­грам можна виділити методи неавтоматизованого проектування і мето­ди автоматизованого проектування (САSE, Соmputer Аіded Sistem Еngsneering).

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

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

Проектування алгоритмів і програм може ґрунтуватися на різних підходах, серед яких найбільш поширені:

  • структурне проектування і програмування;

  • інформаційне моделювання предметної області і пов'язаних з нею додатків;

  • об'єктно-орієнтоване проектування.

Початок розвитку структурного проектування алгоритмів і програм припадає на 60-і роки. У його основу покладені послідовна декомпозиція і структурування цілого, від загального до частки.;

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

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

  • інформаційний аналіз предметних областей;

  • побудова взаємозалежних моделей даних;

  • системне проектування функцій обробки даних;

  • детальне конструювання процедур обробки даних.

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

  • виділенні класів;

  • встановленні характерних властивостей класів і методів їх обробки;,

  • створенні ієрархії класів;

  • спадкуванні властивостей класів та методів їх обробки.

Кожен об'єкт поєднує в собі як дані, так і програму обробки цих] даних. Об'єкт - це конкретний екземпляр класу. За допомогою класу і той самий програмний код можна багаторазово використовувати для різних об'єктів того самого класу.

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

Методи об'єктно-орієнтованого проектування ґрунтуються на: моделі побудови системи як сукупності об'єктів абстрактного типу даних, мо­дульній структурі програм, спадному проектуванні при виділенні об'єктів. Об'єктно-орієнтований підхід використовує такі базові поняття: клас, об'єкт, подія, властивості об'єкта, метод обробки.

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

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

Метод - це програма дій над об'єктом чи його властивостями. Ме­тод розглядається як програмний код, пов'язаний з певним об'єктом, за : допомогою якого здійснюється перетворення властивостей об'єкта або і зміна його поведінки. Методи виконуються при настанні наперед визна-; чених подій.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]