|
|
|
Статья
Специальное сообщение: Выбор ОСРВ Michael Barr Майкл Барр Embedded.com Собираетесь приобрести ОСРВ? Эта статья дает общее представление о системах реального времени, и как выбрать одну из них для вашего проекта. Вы так же найдете список производителей и их продукцию, и намек сравнить их на embedded.com Byers Guide. Инженеры часто используют выражение реальное время в описании вычислительных проблем, для которых запоздалый ответ так же плох, как и неверный. Эти проблемы, говорят, имеют конечный срок, и встроенные системы часто работают в условиях таких ограничений. Например, если встроенное программное обеспечение, которое управляет антиблокировкой тормозов, пропустит один из своих предельных сроков отклика, вы можете попасть в аварию. Таким образом, это чрезвычайно важно чтобы разработчики встроенных систем реального времени знали все, что они могут о поведении и производительности своего аппаратного и программного обеспечения. Большую часть своего времени разработчики систем реального времени проводят, заботясь о производительности в наихудшем случае. Они должны постоянно задаваться таким вопросом как: каково наихудшее время между нажатием человеком педали тормоза и приходом сигнала прерывания в процессоре? Какая наихудшая задержка прерывания? И каково наихудшее время ответа программного обеспечения запускающего механизм торможения. Среднее или ожидаемое значение просто не будут удовлетворять. Большинство коммерческих встраиваемых операционных систем, доступных в настоящее время, разработаны для возможного использования в системах реального времени. В идеальном случае их наихудшие характеристики хорошо понимаемы и документированы. Для того чтобы заработать отличительный знак операционная система реального времени (ОСРВ), операционная система должна быть детерминированной, и иметь гарантированное наихудшее время задержки прерывания и переключения контекста. Проанализировать характеристики программного обеспечения в наихудшем случае, используя такой метод как анализ монотонности оценки, можно получив характеристики, соответственные приоритеты задач и прерываний в вашей системе. Операционная система называется детерминированной, если наихудшее время выполнения каждого из системных вызовов поддаётся измерению. Производитель операционных систем, который серьезно воспринимает поведение своего продукта в реальном времени, обычно публикует информацию, предоставляющую минимальное, среднее и максимальное количество тактовых отсчетов, необходимых для каждого системного вызова. Для разных процессоров, эти числа могут отличаться, но разумно предположить, что если алгоритм детерминистичен на одном процессоре, то, тоже самое будет и на другом. (Фактические времена, тем не менее, могут различаться.) Задержка прерывания это полное время от прибытия сигнала прерывания в процессор до старта соответствующей подпрограммы обработки прерывания (ISR). Когда происходит прерывание, процессор должен выполнить несколько шагов, прежде чем приступить к выполнению ISR. Первым делом, процессор должен закончить выполнение текущей команды. После этого, должно произойти распознавание типа прерывания. Это происходит аппаратно и не замедляет или приостанавливает выполнение текущей задачи. В завершении, и только в том случае, если прерывания разрешены, текущее состояние процессора сохраняется и запускается ISR, связанная с этим прерыванием. Конечно, если прерывания всегда запрещены (скажем в пределах системного вызова), наихудшая задержка прерывания увеличивается на максимальное количество времени, в течение которого они отключены. Каждая операционная система должна внутренне запрещать прерывания в отдельных местах и на разные промежутки времени, поэтому очень важно знать каковы требования системы. В одном проекте реального времени может потребоваться гарантированный ответ на прерывание за 1 мкс, в то время как в другом может потребоваться только 100 мкс. Третьей характеристикой операционной системы реального времени является количество времени необходимого для выполнения переключения контекста. Данный параметр важен потому, что представляет накладные расходы для всей системы в целом. Например, представим, что среднее время выполнения любой задачи, до того как она будет блокирована, составляет 100 мс и время переключения контекста тоже составляет 100 мс. В этом случае, половина процессорного времени полностью тратится на подпрограмму переключения контекста! Повторюсь, нет магических чисел, и фактические времена обычно зависят от процессора, так как они зависят от количества регистров, которые должны быть сохранены и где. Обязательно получите данную информацию от любого производителя операционных систем, программное обеспечение которых, вы подумываете использовать. Таким путем вы избежите неожиданных неприятностей. Процесс выбораПринимая во внимание стоимость времени разработки в наше время, несколько тысяч долларов за коммерческую ОСРВ - это не дорого. Большое разнообразие операционных систем удовлетворяет большинству проектам и наметкам. Смотрите список производителей, следующий за этой статьёй, или посетите www.embedded.com/bg для более детальной информации по их продуктам. Коммерческие операционные системы образуют непрерывный диапазон функциональности, эксплуатационных качеств и цен. Те, что на нижнем конце спектра предлагают только базовый вытесняющий планировщик и немного других ключевых системных вызовов. Подобные операционные системы обычно дешевы, поставляются с исходными кодами, которые вы можете модифицировать, и не требуют оплаты каких-либо отчислений. Операционные системы на другом конце спектра обычно содержат уйму выполняемых функций сверх базового планировщика. Данные операционные системы могут быть очень дорогими, стартовая цена находится в диапазоне от 10000$ до 50000$ и плюс обязательные отчисления за каждую копию, зашитую в ROM. Тем не менее, такая цена часто включает бесплатную техническую поддержку и обучение, а также набор средств разработки. Между двумя этими крайностями находятся системы, которые имеют умеренные цены и/или отчисления, но не содержат исходных кодов; техническая поддержка может стоить дополнительных денег. Большинство коммерческих операционных систем попадают в эту категорию. При таком разнообразии операционных систем и выбираемых свойств, может быть не просто решить какая из них лучше всего подходит вашему проекту. Попробуйте поставить на первое место используемый процессор, характеристики реального времени и бюджетные требования. Это критерии, которые вы не можете изменить, поэтому их можно использовать для уменьшения области поиска до более маленького набора продуктов. Потом запросить у производителей оставшихся операционных систем более детальную техническую информацию. В данное время, многие делают свой выбор, основываясь на совместимости с выбранным кросс-компилятором, отладчиком и другими средствами разработки. Но это действительно ваше дело решать, какие дополнительные фишки вам более важны. Не важно, что вы решите купить, основной стержень будет почти тем же самым. Различия в основном будут измеряться в количестве поддерживаемых процессоров, минимальных и максимальных требованиях к памяти, возможности добавлять расширяющие программные модули (например, стеки сетевых протоколов, драйвера устройств, файловая система для flash) и совместимости с системами разработки сторонних производителей. Наилучшим повод выбрать коммерческую операционную систему является выгода использования чего-то, что хорошо оттестировано, более надежно, чем ядро собственной разработки. Таким образом, одной и изюминок, которые вы должны найти в производителе вашей операционной системы опыт. Список ОС РВ - AMX (KADAK)
- AvSYS Real-Time (Avocet Systems)
- Blackhawk OS (Blackhawk)
- BlueCat Linux (LynuxWorks)
- BSD/OS (Wind River)
- C Executive (JMI Software)
- CMX-RTX, CMX-Tiny+, CMX-RTXS (CMX Systems)
- Diamond (3L)
- DR-DOS 7.03 (The SCO Group)
- eCos (Red Hat)
- Embedix RT (Lineo)
- embOS (SEGGER)
- ERCOSEK (ETAS)
- eRTOS (JK Microsystems)
- EUROS (EUROS Embedded Systems)
- Eyrx (Eyring)
- Fusion RTOS (DSP OS)
- icWORKSHOP (Integrated Chipware)
- INTEGRITY (Green Hills Software)
- iRMX III, iRMX/INtime for Windows (TenAsys)
- Jbed (esmertec)
- Linux for Real-Time (OnCore Systems)
- LynxOS (LynuxWorks)
- mC/OS-II (Micrium)
- Microwave OS-9 (RadiSys)
- MontaVista Linux (MontaVista Software)
- NetBSD Embedded (Wasabi Systems)
- Neutrino (QNX Software Systems)
- Nucleus uiPLUS, Nucleus OSEK, Nucleus PLUS (Accelerated Technology/Mentor Graphics)
- On Time RTOS-32 (On Time Software)
- OnCore OS (OnCore Systems)
- OSE RTOS (OSE Systems)
- OSEKturbo (Metrowerks/Motorola)
- OSEKWorks (Wind River)
- PDOS (Eyring)
- pF/x (FORTH)
- PharLap Real-time ETS Kernel (VenturCom)
- pmDOS (Micro Digital)
- Precise/MQX (ARC International)
- PSMX Portable smx (Micro Digital)
- pSOSystem 2.5/3 (Wind River)
- PSX (JMI Software Systems)
- PXROS (HighTec EDV-Systeme)
- QNX (QNX Software Systems)
- Quadros (RTXC)
- QuickTask (Softools)
- RAVEN (Aonix)
- REAL/IX PX (MODCOMP)
- Realogy Real-Time Architect (LiveDevices)
- REALOS (Fujitsu Microelectronics)
- Real-Time OS: DSP/BIOS (Texas Instruments)
- Red Hat Embedded (Red Hat)
- REDICE-Linux (REDSonic)
- ROM-DOS (Datalight)
- RTexec (Applied Dynamics International)
- RTEMS (OAR)
- RTKernel (On Time Software)
- RTKernel-RISC (EBSnet)
- RTX for Windows (VenturCom)
- RTX51/RTX51 Tiny, RTX166/RTX166 Tiny (Keil)
- Salvo (Pumpkin)
- SKYmpx (SKY Computers)
- smx/smx++ (Micro Digital)
- Spartos (Ardro Engineering)
- Starlight Linux (Auriga)
- SuperTask (Lantronix)
- TargetOS (Blunk Microsystems)
- ThreadX (Express Logic)
- Tics (TICS Realtime)
- TimeSys Linux/RT, Real-Time Mach (TimeSys)
- TronTask3.0 (Lantronix)
- TTPos (TTTech Computertechnik)
- TurboTask (Softools)
- TxOS - Titanic (Incantation Systems)
- VRTX (Mentor Graphics)
- VSPWorks (Wind River)
- VxWorks, VxWorks AE (Wind River)
- Windows CE .NET, Windows XP Embedded (Microsoft)
3L 104 (2F3) Spring Gardens Edinburgh EH8 8EY Scotland United Kingdom 44-131-662-4333 www.shen.myby.co.uk/threel Diamond
| Accelerated Technology (Embedded Division of Mentor Graphics) 720 Oak Circle Dr. E. Mobile, AL 36609 United States (800) 468-6853
http://www.acceleratedtechnology.com/ Nucleus uiPLUS, Nucleus OSEK, Nucleus PLUS
| Aonix 5040 Shoreham Place San Diego, CA 92122
United States (800) 97-AONIX
http://www.aonix.com/
RAVEN
| Applied Dynamics International 3800 Stone School Rd. Ann Arbor, MI 8108 United States (734) 973-1300 http://www.adi.com/ RTexec
| ARC International 2025 Gateway Place, Ste. 140 San Jose, CA 95110 United States (408) 437-3400 http://www.arc.com/ Precise/MQX
| Ardro Engineering 431 Ohio Pike, Ste. 210N Cincinnati, OH 45255 United States (800) 369-1009 http://www.ardro.com/ Spartos
| Auriga 1 Overlook Dr., Unit 2 Amherst, NH 03031 United States (603) 673-300 http://www.auriga.com/ Starlight Linux
| Avocet Systems P.O. Box 490 Rockport, ME 04856 United States (800) 448-8500 http://www.avocetsystems.com/ AvSYS Real-Time
| Blackhawk 3 Eves Dr., Ste. 316 Marlton, NJ 08053 United States (877) 983-4514 http://www.blackhawk-dsp.com/ Blackhawk OS
| Blunk Microsystems 6576 Leyland Park Dr. San Jose, CA 95120 United States (408) 323-1758 http://www.blunkmicro.com/ TargetOS
| CMX Systems, 12276 San Jose Blvd., Ste. 119 Jacksonville, FL 32223 United States (904) 880-1840 http://www.cmx.com/ CMX-RTX, CMX-Tiny+, CMX-RTXS
| Datalight 21520 30th Dr. SE, M/S 110 Bothell, WA 98021 United States (800) 221-6630 http://www.datalight.com/ ROM-DOS
| DSP OS 327 Dahlonega Rd., Ste. 1801A Cumming, GA 30040 United States (678) 208-2250 http://www.dspos.com/ Fusion RTOS
| EBSnet 39 Court St. Groton, MA 01450 United States (800) 428-9340 http://www.ebsnetinc.com/ RTKernel-RISC
| esmertec Lagerstrasse 14 Duebendorf, 8600 Switzerland +41 1 823 89 00 http://www.esmertec.com/ Jbed
| ETAS 3021 Miller Rd. Ann Arbor, MI 48103 United States (888) 382-7462 http://www.etasinc.com/ ERCOSEK
| Express Logic 11423 W. Bernardo Ct. San Diego, CA 92127 United States (888) THREADX http://www.expresslogic.com/ ThreadX
| Eyring 6912 S. 185 W. Midvale, UT 84047 United States (800) 937-7367 http://www.eyring.com/ Eyrx, PDOS
| EUROS Embedded Systems Campestrasse 12 Nuremberg D-90419 Germany +49-911-300328-0 http://www.kaneff.de/ EUROS
| FORTH 5155 W. Rosecrans Ave., Ste.1018 Hawthorne, CA 90250 United States (800) 55-FORTH http://www.forth.com/ pF/x
| Fujitsu Microelectronics 3545 N. First St. San Jose, CA 95134 United States (800) 866-8608 http://www.fujitsumicro.com/ REALOS
| Green Hills Software 30 W. Sola St. Santa Barbara, CA 93101 United States (805) 965-6044 http://www.ghs.com/ INTEGRITY
| HighTec EDV-Systeme Feldmannstr. 98 Saarbruecken, 66119 Germany +49 (0)681 92613-0 http://www.hightec-rt.com/ PXROS
| Incantation Systems Northern Ireland Science Park, Queen's Rd., Queen's Island, Belfast, Ireland United Kingdom +44 (0)28 90534560 http://www.incantationsystems.com/ TxOS -- Titanic
| Integrated Chipware 1861 Wiehle Ave., Ste 300 Reston, VA 20190 United States (888) 430--2447 http://www.chipware.com/ icWORKSHOP
| JK microsystems 1403 Fifth St., Ste. D Davis, CA 95616 United States (530) 297-6073 http://www.jkmicro.com/ eRTOS
| JMI Software Systems Box 237 Dover, NH 03821 United States (408) 287-7090 http://www.jmi.com/ PSX, C Executive
| KADAK 206 - 1847 West Broadway Ave. Vancouver, BC V6J1Y5, Canada (604) 734-2796 http://www.kadak.com/ AMX
| Keil Software 1501 10th St., Ste. 110 Plano, TX 75074 United States (800) 348-8051 http://www.keil.com/ RTX51, RTX51 Tiny, RTX166, RTX166 Tiny
| Lantronix 15353 Barranca Pkwy. Irvine, CA 92618 United States (949) 453-3990 http://www.lantronix.com/ SuperTask, TronTask3.0
| Lineo 390 S. 400 W. Lindon, UT 84042 United States (800) 490-9448 http://www.lineo.com/ Embedix RT
| LiveDevices The Innovation Centre York Science Park York, England Y010 5DG United Kingdom +44 1904 562580 http://www.livedevices.com/ Realogy Real-Time Architect
| LynuxWorks 2239 Samaritan Dr. San Jose, CA 95124 United States (800) 255-5969 http://www.lynuxworks.com/ LynxOS, BlueCat Linux
| Mentor Graphics 8005 SW Boeckman Rd. Wilsonville, OR 97070 United States (800) 547-3000 http://www.mentor.com/ VRTX See also Accelerated Technology
| Metrowerks/Motorola 9801 Metric Blvd. Austin, TX 78758 United States (512) 997-4700 http://www.metrowerks.com/ OSEKturbo
| Micrium 949 Crestview Circle Weston, FL 33327-1848 United States (954) 217-2036 http://www.micrium.com/ mC/OS-II
| Micro Digital 2900 Bristol St. #G-204 Costa Mesa, CA 92626 United States (800) 366-2491 http://www.smxinfo.com/ pmDOS, smx/smx++, PSMX Portable smx
| Microsoft One Microsoft Way Redmond, WA 98052 United States (425) 882-8080 http://www.microsoft.com/ Windows CE .NET, Windows XP Embedded
| MODCOMP 1650 W. McNab Rd. Ft. Lauderdale, FL 33309 U.S.A. (954) 974-1380 http://www.modcomp.com/ REAL/IX PX
| MontaVista Software 1237 East Arques Ave. Sunnyvale, CA 94085 United States (408) 328-9200 http://www.mvista.com/ MontaVista Linux
| On Time Software 88 Christian Ave. Setauket, NY 11733 United States (888) 667-8200 http://www.on-time.com/ On Time RTOS-32, RTKernel
| OnCore Systems 795 Main St. Half Moon Bay, CA 94019 United States (866) 4-ONCORE http://www.oncoresystems.com/ Linux for Real-Time, OnCore OS
| OSE Systems 1731 Technology Dr. San Jose, CA 95110 United States (866) 844-RTOS http://www.ose.com/ OSE RTOS
| Pumpkin 750 Naples St. San Francisco, CA 94112 United States (415) 584-6360 http://www.pumpkininc.com/ Salvo
| QNX Software Systems 175 Terence Matthews Crescent Kanata, ON K2M 1W8 Canada (800) 676-0566 http://www.qnx.com/ QNX, Neutrino
| Quadros 275 Grove St., Ste. 2-400 Newton, MA 02466 United States (866) 879-QUAD http://www.quadros.com/ RTXC
| RadiSys 5445 NE Dawson Creek Dr. Hillsboro, OR 97124 United States (800)950-0044 http://www.radisys.com/ Microwave OS-9
| Red Hat 2600 Meridian Pkwy. Durham, CA 27713 United States (866)-2REDHAT, x3004 http://www.redhat.com/ eCos, Red Hat Embedded
| REDSonic 1740 E. Garry Ave., #212 Santa Ana, CA 92705 United States (866) 899-1688 http://www.redsonic.com/ REDICE-Linux
| SEGGER Microcontroller System Kleinhьlsen 4 Hilden, NRW 40721 Germany +49-2103-8958-99 http://www.segger.com/ embOS
| SKY Computers 27 Industrial Ave. Chelmsford. MA 01824 United States (800) 486-3400 http://www.skycomputers.com/ SKYmpx
| The SCO Group 355 S. 520 W., Ste, 100 Lindon, UT 84042 United States (801) 426-5001 http://www.sco.com/ DR-DOS 7.03
| Softools 81 Norwood Rd. West Hartford, CT 06117 United States (860) 236-4201 http://www.softools.com/ TurboTask, QuickTask
| TenAsys 1600 NW Compton Dr., Ste. 104 Beaverton, OR 97006 United States (877) 277-9189 http://www.tenasys.com/ iRMX III, iRMX for Windows, INtime for Windows
| Texas Instruments 12500 TI Blvd. Dallas, TX 75243 United States (800) 477-8924 http://www.ti.com/ Real-Time OS: DSP/BIOS
| TICS Realtime 3333 Bowers Ave., Ste. 130 Santa Clara, CA 95054 United States (408) 727-3100 www.cris.com/~Tics/ Tics
| TimeSys 4516 Henry St., Ste. 401 Pittsburgh, PA 15213 United States (888) 432-TIME http://www.timesys.com/ TimeSys Linux/RT, Real-Time Mach
| TTTech Computertechnik Schoenbrunnerstrasse 7 Vienna, A-1040 Austria +43 1 585 34 34 0 http://www.tttech.com/ TTPos
| VenturCom 5 Cambridge Center Cambridge, MA 02142 United States (617) 661-1230 http://www.vci.com/ PharLap Real-time ETS Kernel, RTX for Windows
| Wasabi Systems 104 W. 14th St., 4th Flr. New York, NY 10011 United States (646) 638-2424 http://www.wasabisystems.com/ NetBSD Embedded
| Wind River 500 Wind River Wy. Alameda, CA 94501 United States (800) 545-WIND http://www.windriver.com/ BSD/OS, OSEKWorks, pSOSystem 2.5, pSOSystem 3, VSPWorks, VxWorks, VxWorks AE
| OAR 4910-L Corporate Dr. Huntsville, AL 35805 United States (256) 722-9985 http://www.rtems.com/ RTEMS
|
Автор: NeilPride
|
|
|