Для визначення "м'якого режиму реального часу" найлегше порівняти його з "жорстким у режимі реального часу". Нижче ми побачимо, що термін "фірма в режимі реального часу" являє собою непорозуміння щодо "м'якого реального часу".
Якщо говорити випадково, то більшість людей неявно мають неформальну ментальну модель, яка розглядає інформацію чи подію як "в реальному часі"
• якщо або в тій мірі, що це виявляється для них із затримкою (затримкою), яка може бути пов'язана з її сприйнятою валютою
• тобто у часові рамки, коли інформація чи подія має для них задовільне значення.
Існує чимало різних спеціальних визначень "жорсткого реального часу", але в цій ментальній моделі жорсткий реальний час представлений терміном "якщо". Зокрема, якщо припустити, що дії в режимі реального часу (такі як завдання) мають терміни завершення, прийнятна задовільна цінність події, що всі завдання виконуються, обмежується окремим випадком, коли всі завдання відповідають їх термінам.
Жорсткі системи в режимі реального часу роблять дуже сильні припущення, що все щодо програми та системи та оточення є статичним і відомим «апріорі», наприклад, які завдання, що вони періодичні, час їх приходу, періоди, терміни, що вони виграли не матимуть конфліктних ресурсів та загальну еволюцію часу в системі. У системі управління польотом літака або автомобільній гальмівній системі та багатьох інших випадках ці припущення, як правило, можуть бути виконані, щоб усі строки були дотримані.
Ця ментальна модель навмисне і дуже корисно досить загальна, щоб охоплювати як жорсткий, так і м'який в режимі реального часу - м'який розміщений фразою "настільки, наскільки це". Наприклад, припустимо, що подія виконання завдання має неоптимальне, але прийнятне значення, якщо
- не більше 10% завдань пропускають свої терміни
- або жодне завдання не перевищує 20%
- або середня строковість усіх завдань не більше 15%
- або максимальна запізнення серед усіх завдань менше 10%
Це всі поширені приклади м'яких справ у реальному часі у багатьох програмах.
Розгляньте застосування одноосібного підбору дитини після школи. Це, мабуть, не має фактичного строку, натомість є певна цінність для вас та вашої дитини залежно від того, коли відбудеться ця подія. Занадто рано витрачає ресурси (наприклад, ваш час) і занадто пізно має певне негативне значення, оскільки ваша дитина може залишитися в спокої і, можливо, нашкодити (або принаймні незручно).
На відміну від статичного жорсткого спеціального випадку в режимі реального часу, м'який режим реального часу робить лише мінімально необхідні припущення щодо завдань та системи, а також очікуються невизначеності. Щоб забрати дитину, вам доведеться їхати до школи, а час на це є динамічним, залежно від погоди, дорожнього руху тощо. Можливо, ви будете спокушені надмірно забезпечити свою систему (тобто дозволити, на що ви сподіваєтесь, це найгірший час за кермом), але знову-таки це витрата ресурсів (ваш час та зайняття сімейного автомобіля, можливо, відмова від використання іншими членами сім'ї).
Цей приклад може не здаватися дорогим з точки зору витрачених ресурсів, але розглянемо інші приклади. Усі військові бойові системи в режимі реального часу м'які. Наприклад, розглянемо здійснення авіаційного нападу на ворожий наземний транспортний засіб, використовуючи ракету, керовану оновленнями до неї в якості маневрів цілі. Максимальне задоволення від виконання завдань з оновлення курсу досягається прямим руйнівним ударом по цілі. Але спроба надмірно забезпечити ресурси, щоб переконатися в цьому, зазвичай є надто дорогою і може бути навіть неможливою. У цьому випадку ви можете бути менш задоволеними, якщо ракета завдасть удару досить близько до цілі, щоб її відключити.
Очевидно, що сценарії бойових дій мають велику кількість можливих динамічних невизначеностей, які повинні враховувати управління ресурсами. М’які системи реального часу також дуже поширені в багатьох цивільних системах, таких як промислова автоматизація, хоча, очевидно, військові є найнебезпечнішими та терміновішими для досягнення прийнятного задовільного значення.
Основним каменем систем реального часу є "передбачуваність". Важкий випадок у реальному часі зацікавлений лише в одному окремому випадку передбачуваності - тобто, що ці завдання будуть дотримуватися своїх термінів і максимально можлива цінність буде досягнута в рамках цієї події. Цей особливий випадок названий "детермінованим".
Існує спектр передбачуваності. Детермінований (детермінізм) - це одна кінцева точка (максимальна передбачуваність) на спектрі передбачуваності; інша кінцева точка - мінімальна передбачуваність (максимальний недетермінізм). Метрику та кінцеві точки спектру слід інтерпретувати через обрану модель передбачуваності; все між цими двома кінцевими точками - це ступеня непередбачуваності (= ступеня недетермінованості).
Більшість систем у режимі реального часу (а саме м'які) мають недетерміновану передбачуваність, наприклад, часи виконання завдань і, отже, значень, отриманих від цих подій.
Взагалі (теоретично) передбачуваність, а отже, і задовільне значення, можна зробити максимально близьким до детермінованої кінцевої точки, але необхідною ціною, яка може бути фізично неможливою або надмірно дорогою (як у бою чи, можливо, навіть у забрати дитину зі школи).
Програмне забезпечення в режимі реального часу вимагає вибору конкретної моделі імовірності (не загальної частотистської моделі), а відтак і моделі передбачуваності для міркування про затримки подій та отримані значення.
Посилаючись на вищенаведений перелік подій, які надають прийнятне значення, тепер ми можемо додати недетерміновані випадки, такі як
- ймовірність того, що жодне завдання не пропустить свій термін більше ніж на 5%, перевищує 0,87. (Зверніть увагу на кількість критеріїв планування, виражених там.)
У застосуванні протиракетної оборони, враховуючи той факт, що в боротьбі з правопорушенням завжди є перевага перед обороною, якому з цих двох сценаріїв обчислень у реальному часі ви б надали перевагу:
оскільки ідеальне знищення всіх ворожих ракет є малоймовірним або неможливим, призначте свої оборонні ресурси, щоб збільшити максимум ймовірності того, що якомога більшість загрозливих (наприклад, виходячи з їх цілей) ворожих ракет будуть успішно перехоплені (тісний перехоплення рахується тому, що це може рухати ворогу ракету поза ходом);
скаржаться, що це не проблема обчислень у режимі реального часу, оскільки вона динамічна замість статичної, а традиційні концепції та методи в реальному часі не застосовуються, і це звучить складніше, ніж статичний жорсткий реальний час, тому вас це не цікавить .
Незважаючи на різні непорозуміння щодо м'якого реального часу в обчислювальній мережі в режимі реального часу, м'який реальний час є дуже загальним і потужним, хоча й потенційно складним порівняно з жорстким у реальному часі. Зведені тут м'які системи реального часу мають довгу успішну історію використання поза обчислювальною спільнотою в реальному часі .
Щоб безпосередньо відповісти на питання ОП:
Важка система в режимі реального часу може надати детерміновані гарантії - найчастіше всі завдання відповідають строкам, час переривання або системний виклик завжди буде меншим за x тощо. все, що має значення, є статичним і відомим «апріорі» (загалом, такі гарантії для жорстких систем реального часу є відкритою дослідницькою проблемою, за винятком досить простих випадків)
М’яка система в режимі реального часу не дає детермінованих гарантій, вона має на меті забезпечити найкращу можливу аналітичну задану та досягнуту ймовірнісну своєчасність та передбачуваність своєчасності, що можливо в сучасних динамічних обставинах, відповідно до конкретних критеріїв застосування.
Очевидно важкий реальний час - простий спеціальний випадок м'якого реального часу. Очевидно, що аналітичні недетерміновані запевнення в реальному часі можуть бути дуже складними для надання, але є обов'язковими у найбільш поширених випадках у реальному часі (включаючи найнебезпечніші критичні для безпеки випадки, такі як бойові), оскільки більшість справ у реальному часі є динамічними. статичний.
"Фірма в режимі реального часу" - це неправильно визначений випадок "м'якого реального часу". Немає необхідності в цьому терміні, якщо термін "м'який режим реального часу" розуміється і використовується правильно.
На моєму веб-сайті real-time.org у мене є більш детальне обговорення реального часу, жорсткого реального часу, м'якого реального часу, передбачуваності, детермінізму та пов'язаних з ними тем.