ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Розробка системи реального часу у вигляді планувальника виконання завдань
         

     

    Інформатика, програмування

    ѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕ

    ПОЯСНЮВАЛЬНА ЗАПИСКАдо курсового проекту на тему:

    | |
    | Розробка системи реального часу у вигляді планувальника |
    | виконання завдань. |

    Москва 2004

    Реферат.

    Виконана робота по проектуванню системи реального часу.
    Створена система містить два основних компоненти: планувальник завданьреального часу і прикладне додаток - протокол A.415 ARINC. Роботамістить 39 сторінок, 14 діаграм, 3 таблиці та 2 малюнки. Використано 13посилань на технічну літературу.

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

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

    Розділ 3. Описана реалізація планувальника завдань реального часу:досягаються можливості, які використовуються алгоритми, загальна схемафункціонування. Наведено документація щодо програми-протоколу,складена відповідно до вимог методології Real.

    Зміст.


    Реферат. 2


    Зміст. 3


    Введення. 5


    1. Огляд вимог проблемної області. 7

    1.1. Особливості систем реального часу. 7

    1.1.1. Обмежений час відповіді. 7

    1.1.2. Статична основа проектування. 7

    1.1.3. Портування. 8

    1.1.4. Вбудовані системи реального часу. 8

    1.1.5. Висновок. 9
    1.2. Особливості управління завданнями. 9

    1.2.1. Управління часом. 9

    1.2.2. Управління пам'яттю. 9

    1.2.3. Управління доступом (синхронізація). 9

    1.2.4. Висновок. 10
    1.3. Класифікація систем реального часу. 10

    1.3.1. Класифікація за структурними характеристиками. 10

    1.3.1.1. Виконавчі системи реального часу. 10

    1.3.1.2. Ядра реального часу 11

    1.3.1.3. UNIX'и реального часу 11

    1.3.2. Класифікація по програмному середовищі. 12

    1.3.2.1. Програмування на рівні мікропроцесорів. 12

    1.3.2.2. Мінімальна ядро системи реального часу. 12

    1.3.2.3. Ядро системи реального часу та інструментальне середовище.

    12

    1.3.2.4. ОС з повним сервісом. 12

    1.3.3. Технічні характеристики ОС РВ. 12

    1.3.3.1. Час реакції системи. 12

    1.3.3.2. Час перемикання контексту. 13

    1.3.3.3. Розміри системи. 13

    1.3.3.4. Можливість виконання системи з ПЗП (ROM). 14

    1.3.4. Висновок. 14
    1.4. Сучасні представники ринку ОС РВ в Росії. 14

    1.4.1. LynxOS ® 4.x фірми LinuxWorks, Inc. 14

    1.4.1.1. Основні властивості LynxOS: 14

    1.4.1.2. Підтримка програм жорсткого реального часу. 15

    1.4.2. OS-9/Hawk фірми Microware Systems. 15

    1.4.2.1. Основні властивості OS-9/Hawk. 15

    1.4.2.2. Підтримка програм жорсткого реального часу. 16

    1.4.3. VxWorks фірми Wind River Systems. 16

    1.4.3.1. Основні властивості VxWorks. 16

    1.4.4. QNX4 фірми ОРАКУЛ. 17

    1.4.4.1. Основні властивості QNX4. 17

    1.4.4.2. Підтримка програм жорсткого реального часу. 17

    1.4.5. Висновок. 17
    1.5. Методологія розробки програмного забезпечення. 17

    1.5.1. Історія розвитку. 18

    1.5.2. Розробка програмного забезпечення систем реального часу 18

    1.5.3. Висновок. 19
    1.6. Постановка завдання курсового проекту. 19

    2. Моделі і методи предметної області. 21

    2.1. Визначення. 21
    2.2. Принципова структура. 22

    2.2.1. Середа виконання. 22

    2.2.2. Ядро систем реального часу. 22

    2.2.2.1. Синхронізація ресурсів. 23

    2.2.2.2. Межзадачний обмін. 23

    2.2.2.3. Поділ даних. 23

    2.2.2.4. Обробка запитів зовнішніх пристроїв. 23

    2.2.2.5. Обробка особливих ситуацій. 23

    2.2.3. Пікоядро. 24
    2.3. Методи управління завданнями в ОС РВ. 24

    2.3.1. Класифікація підходів. 24

    2.3.1.1. Статичний планування. 24

    2.3.1.2. Динамічне планування. 24

    2.3.1.3. Планування, засноване на часі. 25

    2.3.1.4. Планування аперіодіческій завдань 25

    2.3.1.5. Планування, що керується пріоритетами. 25

    2.3.2. Огляд методів. 26

    2.3.2.1. Rate-monotonic (RM). 26

    2.3.2.2. Deadline Monotonic (DM). 26

    2.3.2.3. Планування аперіодіческій завдань. 27

    2.3.2.4. EDF. 27

    2.3.2.5. Сервер, що допускає затримку (DS) і Алгоритм обміну пріоритетами (PE). 28
    2.4. Методологія розробки програмного забезпечення. 28

    2.4.1. Основи методології Real. 28

    2.4.2. Модель вимог. 29

    2.4.3. Динамічна модель. 29

    2.4.4. Статична модель. 30

    3. Реалізація прототипу системи реального часу. 31

    3.1. Життєвий цикл розробки. 31
    3.2. Планувальник завдань. 31

    3.2.1. Вибір алгоритму планування. 31

    3.2.1.1. Види вимог РВ, підтримувані планувальником. 31

    3.2.1.2. Використані алгоритми. 32

    3.2.2. Опис функціонування програми. 33

    3.2.2.1. Підготовка до запуску планувальника. 33

    3.2.2.2. Робота. 33

    3.2.2.3. Управління завданнями. 34
    3.3. Реалізація протоколу ARINC A.415 на основі розробленого модуля СРВ. 34

    3.3.1. Модель вимог до системи. 34

    3.3.1.1. Описова модель. 34

    3.3.1.2. Модель випадків використання. 35

    3.3.1.3. Функціональна модель. 35

    3.3.2. Динамічна модель. 35

    3.3.2.1. Модель об'єктів. 35

    3.3.2.2. Модель взаємодій. 35

    3.3.2.3. Поведінкові модель. 36

    3.3.3. Статична модель. 37

    3.3.3.1. Модель класів. 37

    Висновок. 39


    Література. 40


    Додаток 41

    Введення.

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

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

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

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

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

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

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

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

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

    Діаграма 1. Етапи життєвого циклу розробки.

    1. Огляд вимог проблемної області.

    1. Особливості систем реального часу.

    Для початку варто дати визначення операційних систем реальногочасу. Воно взято з [13]. Дане визначення не є класичним,проте володіє тим перевагою, що дозволяється в загальних рисахуявити собі відмінності ОС, що розглядаються в даній роботі від іншиханалогічних програм.

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

    А тепер розглянемо згадані у визначенні більш докладно.

    1. Обмежений час відповіді.

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

    . Вона повинна встигнути відреагувати на подію, що сталася на об'єкті, протягом часу, критичного для цієї події (meet deadline).

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

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

    За наслідків виходу за межі інтервалу СРВ поділяються на м'які іжорсткі.

    Системи жорсткого реального часу не допускають ніяких затримокреакції системи ні за яких умов, тому що:

    . результати можуть виявитися марні в разі запізнення;

    . може статися катастрофа у разі затримки реакції;

    . вартість запізнення може виявитися нескінченно велика.

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

    Основна відмінність між системами жорсткого і м'якого реального часуможна виразити так: система жорсткого реального часу ніколи не запізнитьсяз реакцією на подію, система м'якого реального часу - не повинназапізнюватися з реакцією на подію.

    У таблиці 3 наведені часи відгуку для декількох ОС РВ.

    2. Статична основа проектування.

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

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

    3. Портування.

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

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

    Однак, як би не була важлива сама ОС РВ, зараз в умовах доступностісумісних апаратних засобів основна увага приділяється розробці іналагодження прикладного програмного забезпечення, чия частка у витратах нарозробку систем реального часу складає до 70%.

    За середовищі в якій функціонують системи їх можна розділити на класи:програмування на рівні мікроконтролерів, мінімальне ядро СРВ, ядро
    СРВ та інструментальна середа, ОС з повним сервісом.

    4. Вбудовані системи реального часу.

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

    Останнім часом високопродуктивні мікропроцесори, а з ними іопераційні системи реального часу, все частіше використовуються в такзваних "глибоко вбудованих" (deeply embedded) застосуваннях. До такихкомп'ютерних систем пред'являються дві основні вимоги: малі габаритиі низька вартість. Тому глибоко вбудовані мікропроцесорні системиставлять дві проблеми на шляху застосування серійних ОС РВ: невеликі обсягивикористовуваної пам'яті і відсутність "зайвих" інтерфейсів, за якими можнабуло б пов'язати цільову та інструментальну машини на етапі розробкивбудованого ПЗ.

    За структурним характеристикам програмно-апаратні комплекси можнарозділити на класи: виконавчі системи реального часу, ядрареального часу, Unix'и реального часу.

    5. Висновок.

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

    2. Особливості управління завданнями.

    1. Управління часом.

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

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

    Особливу важливість набувають такі інструменти як засоби роботи зтаймерами, необхідні для систем з жорстким тимчасовим регламентом.
    Розвиненість цих коштів - необхідний атрибут операційних систем реальногочасу. Вони, як правило, дозволяють:

    . вимірювати і задавати різні проміжки часу (від 1 мкс і вище),

    . генерувати переривання після закінчення тимчасових інтервалів,

    . створювати разові і циклічні будильники.

    2. Управління пам'яттю.

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

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

    3. Управління доступом (синхронізація).

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

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

    4. Висновок.

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

    3. Класифікація систем реального часу.

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

    На рис. 5 дано компактне подання класифікації систем за трьомарізними ознаками: клас (відсутність РВ, м'яке РВ, жорстке РВ),складність (одноадресних простір, багато адресна/захищене),стандартизація (приватне рішення, підмножина POSIX, тільки POSIX, UNIX і
    POSIX).

    1. Класифікація за структурними характеристиками.

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

    1. Виконавчі системи реального часу.

    Ознаки систем цього типу - різні платформи для систем розробкиі виконання. Додаток реального часу розробляється на host -комп'ютері (комп'ютері системи розробки), потім компонується з ядром ізавантажується в цільову систему для виконання. Як правило, додатокреального часу - це одне завдання і паралелізм тут досягається задопомогою ниток (threads).

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

    З цим головним достоїнством пов'язаний і ряд недоліків: зависання всійсистеми при зависанні нитки, проблеми з динамічної підвантаженням новихдодатків.

    Крім того, системи розробки для продуктів цього класу традиційнодороги (близько $ 20000). Хоча, треба зазначити, що якість іфункціональність систем розробки в цьому класі традиційно хороші, такяк вони були спочатку кросовий.

    Найбільш яскравим представником систем цього класу єопераційна система VxWorks. Область застосування - компактні системиреального часу з гарними часом реакцій.

    2. Ядра реального часу

    У цей клас входять системи з монолітним ядром, де й міститьсяреалізація всіх механізмів реального часу цих операційних систем.
    Історично системи цього типу були добре спроектовані. На відміну відсистем інших класів, які з'являлися як тимчасові компроміси і потім
    "нарощували м'язи" завдяки першим вдалим реалізаціям (виконавчісистеми реального часу і UNIX'и реального часу), розробники системцього класу мали час для розробки систем саме реального часу іспочатку не були обмежені у виборі засобів (наприклад фірма "Microware"мала у своєму розпорядженні три роки для розробки першого варіанту OS-9).

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

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

    Системи цього класу, як правило, модульні, добре структуровані,мають найбільш розвинений набір специфічних механізмів реального часу,компактні і передбачувані. Найбільш популярні системи цього класу: OS9,
    QNX.

    3. UNIX'и реального часу

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

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

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

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

    Найбільш популярним представником систем цього класу єопераційна система реального часу LynxOS.

    2. Класифікація по програмному середовищі.

    Стає очевидним те, що завдання реального часу необхіднореалізовувати в рамках специфічної системної програмного середовища. УВідповідно до [12] системи реального часу можна розділити на 4 класу.

    1. Програмування на рівні мікропроцесорів.

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

    2. Мінімальна ядро системи реального часу.

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

    3. Ядро системи реального часу та інструментальне середовище.

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

    4. ОС з повним сервісом.

    Такі ОС можуть бути застосовані для будь-яких додатків реального часу.
    Розробка і виконання прикладних програм ведуться в рамках однієї і тієї жсистеми.

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

    3. Технічні характеристики ОС РВ.

    1. Час реакції системи.

    Майже всі виробники систем реального часу наводять такийпараметр, як час реакції системи на переривання (interrupt latency).

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

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

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

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

    Час реакції на переривання, характерне для деяких операційнихсистем реального часу, представлено на діаграмі 6.

    2. Час перемикання контексту.

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

    3. Розміри системи.

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

    Приклади: розмір ядра операційної системи реального часу OS-9 намікропроцесорах МС68xxx - 22 KB, VxWorks - 16 KB.

    4. Можливість виконання системи з ПЗП (ROM).

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

    4. Висновок.

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

    4. Сучасні представники ринку ОС РВ в Росії.

    Серед комерційних систем реального часу можна виділити групупровідних систем - за обсягами продажів і за популярністю. Ці системи: VxWorks,
    OS9, LynxOS, QNX, pSOS, VRTX. У таблиці 8 дані відомості про існуючі вНині СРВ та їх характерних рисах. У таблиці 4 даніосновні характеристики деяких систем.

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

    1. LynxOS ® 4.x фірми LinuxWorks, Inc.

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

    1. Основні властивості LynxOS:

    . Підтримує багатозадачні та багатопотоковості програми.

    . LynxOS забезпечує сумісність з Linux на рівні ABI (Application

    Binary Interface), рівні форматів об'єктних файлів, викликів API, що динамічно підключаються бібліотек (DLL), компонування і завантаження на етапі виконання. Ця властивість LynxOS є унікальним для систем реального часу і дуже корисним для користувачів (наприклад, у разі відсутності вихідних текстів). Система працює так само з Unix та

    Java.

    . Повністю підтримується стандарт POSIX.1003-1, а також підрозділи

    POSIX.1003-1b і POSIX.1003-1c, що визначають розширення реального часу і роботи з нитками (потоками).

    . Багатоплатформність. Підтримує безліч апаратних архітектур (IA-

    32, PowerPC, MIPS, ARM, XScale, IBM) для обладнання різних фірм виробників.

    . Розробка може здійснюватися як на самій цільової системі (self-hosted), так і на інструментальному комп'ютері (host).

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

    "високої доступності" (Hot Swap, High Availability), і пристроїв з високим коефіцієнтом резервування.

    . LynxOS-178 - це версія LynxOS, сертифікована відповідно до стандарту DO-178. Це означає повну відповідність з точки зору надійності суворим вимогам для мобільних систем військового та аерокосмічного застосування. Крім того, LynxOS-178 має сертифікований стек TCP/IP для відповідальних додатків в області авіоніки, медицини, атомної промисловості та зв'язку.

    . Велика кількість коштів розробок як в рамках самої LynxOS, так і host-систем (Linux, Windows, Solaris).

    2. Підтримка програм жорсткого реального часу.

    . кількість завдань: необмежено;

    . кількість пріоритетів: 256;

    . диспетчеризація задач: витіснення за пріоритетами. 4 алгоритму диспетчеризації (FIFO, Priority Quantum, Round Robin, невитесняемий);

    . детерміноване час перемикання контексту

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status