Ос реално време

Какво е в реално време (в реално време)?

Има няколко определения на понятието за реално време, често противоречащи си, което не, за съжаление, да приемат обща терминология. В близост до каноническа, може да се нарече следното определение: "Real Time система - е система, точността на които не зависи само от изпълнението на определени задачи, но също така и от момента на тяхното изпълнение. Ако времето за определяне на параметрите са нарушени - той се провали ". Освен това определение: "Поради това, самата система трябва да бъде гарантирано време, т.е. поведението на системата трябва да бъде предвидима. Това намалява броя на изключително (поради времеви нарушения) работни места. "







Един добър пример за система в реално време е робот, който е на позиция, която се движи по тръбопровода. Ако той е закъснял, ще пропуснете един от конвейер примката и да се опита да вземе участие твърде рано може да блокира движението на други части. Друг пример - самолет лети на автопилот. Специални датчици за определяне на позицията на въздухоплавателни средства в триизмерното пространство. Само постоянно и своевременно получаване на тези данни на бордовия компютър гарантира безопасността на полета.

Понякога системата за реално време се нарича интерактивна система с бързо време за реакция. Да разгледаме следния пример: да пишете в програмата WinWord 2.0 на компютър с Athlon процесор 1GHz. Времето за реакция в този случай - е времето между неотложните и показване на съответните символи в прозореца. Изглежда очевидно, че тази стойност е в този случай не е от значение - всички едно и също лице отпечатъците по-бавно. Грешката е в замяна на концепции - отговор високоскоростен не означава непременно гаранция отговор. Изтеглянето на голям брой компютърни задачи с голям, ние можем да се увеличи времето за реакция до безкрайност. Следващият експеримент: поставяне на етикетите на всички инсталирани програми (желателно е, че сред тях са такива чудовищни ​​приложения като Borland Delphi, Microsoft Office, както и няколко 3D шутър) Desktop Windows95 (желателно е да се изгради 450 или по-рано :) Марк ги с мишката и натиснете Enter. След това, Windows ще гърми твърд диск, жонглира данни между файла за размяна и паметта, а не в отговор на всякакво външно влияние, докато вие ще натиснете бутона Reset. Обикновено това е достатъчно, за да се разбере, че бърза система - не е непременно в реално време система. От друга страна, в реално време, не означава, бързина на изпълнение на програмата; Освен това, алгоритмите, които гарантират крайния времето за реакция, често по-малко ефективни, отколкото обикновено.

операционна система в реално време

Разбиране на принципа и основните свойства на операционни системи в реално време (RTOS - Real Time Операционна система) изисква въвеждането на основни определения като микрокърнъла (микрокърнъла) и makroyadro (macrokernel).

Има две основни школи на yadrostroiteley (не можах да намеря по-точен превод на ядрото
разработчиците :): Човек, който вярва, че системата за ядрото на операционната трябва да е компактен и бърз, както и функционалността е разпръсната в процеса, друг проповядва по-традиционен подход чрез предоставяне на ядрото всички основни функции на операционната система, както и процесите - нищо друго, освен възможността да се обадя на повечето от тези функции. За да се определи в първи (за трансфери, а не в момента на настъпване) тип архитектура през 1989 г. беше въведен godu Iroy Goldshteyn и Павел Дейл термин микрокърнъла (микрокърнъла). Първият (сега - в хронологичен смисъл) ядро ​​архитектура (традиционен или монолитна (монолитно), както я наричат ​​в английската литература), наречена "makroyadro" (което ясно показва ниското ниво на въображението на разработчиците, особено на системата).







Дебатът за които архитектурата е най-добре, стига дотам. Повечето от UNIX приложения построен върху makroyadre, включително най-популярните към днешна дата - Linux и FreeBSD. Построен на Микрокърнъла операционни системи като Mach и QNX. Въпреки това, някои системи анализатори не се отнасят до Mach mikrokernelam поради големия размер на ядрото (което включва драйвери за устройства, което е характерно за повечето makrokernelov). С ядрото QNX е разработила обратната ситуация - тя е толкова малка (и по размер, и
функционалност), ние трябваше да се въведе нов термин - nanokernel (nanokernel). Мисля, че полемиките Мах могат да бъдат решени по същия начин, т.е. промени в терминологията - но, както изглежда, думата santikernel и detsikernel изглеждаха достатъчно благозвучен програмисти. Трябва да се разбере, че микрокърнъла OS и разграничението на makroyadra не са направени от размера на ядрото и неговата архитектура, т.е. съотношението между броя на функциите, изпълнявани в ядрото и функции, изпълнявани извън ядрото. Други параметри (производителност, гъвкавост, работещи в реално време), не могат да бъдат признаци на това разграничение. В допълнение, на границата между makrokernelami и mikrokernelami става все по-неясно, поради факта, че много от съвременните монолитни ядки съдържат т.нар конци (нишки) и имат способността да "дребнозърнест" rasparallerivaniyu (как иначе да превежда фина parallerism?). Архитектура подобен mikrokernelam такива ядра с голям брой на процесите, протичащи в споделена (споделен) памет.

Възможността на операционната система да работи в реално време, се определя до голяма степен от основната архитектура. Най-удобният в това отношение са микроядреното (в действителност, за това те са си създали), но това не означава, че всички mikrokernely работа в реално време (Mach - микрокърнъла не работи в реално време, който не се отклонява от другите предимства на тази операционна система, което води до много наследници, включително NeXTSTEP, Хърд, BeOS и MacOSX). makrokernela съществуването с пълна поддръжка за работа в реално време, все още е под въпрос (аз не намерих никаква информация за такъв проект, с изключение, може би, Sun Solaris 2.x, но по мое мнение (да не се прави на компетентност) е по-скоро SoftRTS и не HardRTS), но частично прилагане - често срещано явление. Така например, в Linux активно въведено вече споменахме interprocessor (от процеса на думата, а не CPU) резба, и вече има голям брой приложения (първият беше Apache уеб сървър), като се използва този интерфейс.

QNX RTOS

Най-популярните български RTOS - QNX 4.0 (всъщност Windows NT, но сте виждали много хора, които yuzayut eNTyu именно заради това?). Сред другите Юникс клонинги, тя също така притежава силна позиция - проникване (т.е. заловен пазарен дял) на операционната система е около 8-10% - по-голямо разпространение имат само Linux и FreeBSD (иззети общо около половината от Юникс системи на българския пазар). Въпреки факта, че QNX е първоначално търговска, затворен и собственически, сега му лицензионен модел дава възможност за подготовката и ползва безплатно, колкото и самата операционна система (в минимална конфигурация, разбира се, а не за търговски цели, но - отново - напълно безплатно не срокове) и източник (също не всички, а не за всички - но това вече е много).

Други функции, които е малко вероятно да се интересуват - те не са за всеки QNX-известните професионалисти са за. Ето защо, на около 12 потенциални предизвикателства микрокърнъла, 32 приоритетни нива и три пъти за споделяне на алгоритъм (FIFO, кръгло и адаптивна) Аз дори не заекват.

Но на хардуерните изисквания, много се съветваме да прочетете внимателно:

Процесор: 8088, 80286, 80386 и по-горе
RAM: най-малко 640kB (за изпълнение), 2M (за развитие)
HDD: 5MB за операционната система и комуналните услуги (за системно програмиране
- има 4MB); възможна конфигурация бездискова.

Покажете тази статия на приятел: