Каква е разликата между операционните системи в реално време като VxWorks и традиционните операционни системи като Windows?


Отговор 1:

Операционните системи в реално време дават гаранция, че задачите ще бъдат изпълнени в определен период от време. Това може да бъде жизненоважно в определени области. Като пример, помислете за автономна система за управление на превозното средство. Искате да сте сигурни, че изчисленията са завършени в рамките на ограничено време, така че да не се срине, като не завъртите колелата.

Това означава, че дизайнът на ОС е различен, така че планировчикът може да дава такива гаранции за това как нещата вървят на устройството. В същото време това означава, че приложенията, написани за тази ОС, са коренно различни поради тези изисквания и предположения.

От друга страна, в Windows, ако дадена програма не завърши за 20 ms, въпреки че системата може да изглежда мудна, това няма да доведе до катастрофален сценарий на повреда. Този тип среда често е по-добра за потребителите, които се опитват да взаимодействат със системата, тъй като различните неща могат да бъдат приоритет.


Отговор 2:

Saleem Abdulrasool има отличен отговор, всичко е свързано с латентността на системата. При изчисляването на дефиницията в реално време е гарантирано време за реакция между случващото се събитие, обикновено прекъсване от някакъв вид и системата, отговаряща на това събитие.

Ще установите, че различни производители на операционни системи определят времето за реакция в зависимост от хардуерната комбинация и скоростта, на която работи, с основен хардуерен набор, който използват за измерване на всякакви промени и тестове.

Можете да определите Windows като реално време, като дефинирате време за отговор от 1 секунда. Възможно е това време за реакция да е достатъчно за процес, който се счита за реално време.

Кодирането в система в реално време също има същите ограничения, кодът ви трябва да приключи преди следващото прекъсване от типа, на който вашият код реагира, което позволява всякакви други прекъсвания, с които системата трябва да се справи. Ако това не се случи, съществува реален риск вашият код да разбие стека.


Отговор 3:

По същество съм съгласен с казаното от Салеем и Андрей. По принцип разликата между RTOS и традиционната ОС е алгоритмите за планиране. Това се базира на домейна на приложението на ОС и какви приоритети трябва да направи.

В традиционната ОС приоритет е пропускателната способност и справедливостта, така че максималният брой задачи може да бъде изпълнен за определен период от време и цялата работа има шанс да бъде завършена.

В RTOS има някои задачи, които изискват възможно най-близо до прозореца с гарантирано време. Дори ако това означава несправедливост към други задачи и намалява като цяло. Тъй като има известна критичност към задачата в реално време, определена от потребителя на RTOS. Така че дори задача, която е стартирана по-рано, може да бъде предварително освободена и оставена настрана, за да завършите задача в реално време. Това нарушава справедливостта, но е необходимо за осигуряване на принципа в реално време.

Причината, по която казах „възможно най-близо“ до гарантирано време за завършване, е, че ако стартирате 5 задачи в реално време едновременно, може да не е възможно да ги завършите в рамките на необходимия прозорец. Дизайнерът на системата ще трябва да вземе предвид тези възможности при проектирането на цялостната система и планирането на капацитета.


Отговор 4:

Тъй като VxWorks е операционна система в реално време (RTOS) и Windows е операционна система с общо предназначение (GPOS), вашият въпрос може да се разглежда като RTOS срещу GPOS.

Най-фундаменталната разлика е, че RTOS е детерминиран в поведението на времето, докато GPOS е недетерминиран.

Определени във времето поведение означава, че RTOS задачите ще консумират само известни и очаквани единици време. напр .: можем да кажем, че изчислението на извадката (задача) ще се извърши за 2ms.

В GPOS услугите (задачите) могат да инжектират случайни забавяния във времето в софтуерния софтуер и по този начин да предизвикат бавна реакция в неочаквани моменти. напр .: не можем да гарантираме, че Microsoft Word в Windows ще се отвори в рамките на 2 секунди след като щракнете, за да го отворите.