Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Професиональное программирование


Информационный Канал Subscribe.Ru

Доброго времени суток.

Внеочередной выпуск рассылки в предверии нового года!
Поздравляем всех подписчиков с праздником, желаем всем в Новом Году здоровья, удачи и творческих успехов.

Небольшая реклама.
Наш сайт в сотрудничестве с Shelek.Group предоставляет бесплатный хостинг - подробности на сайте.

Специальное сообщение: Выбор ОСРВ
Michael Barr
Майкл Барр

(перевод)
Embedded.com

Собираетесь приобрести ОСРВ? Эта статья дает общее представление о системах реального времени, и как выбрать одну из них для вашего проекта. Вы так же найдете список производителей и их продукцию, и намек сравнить их на embedded.com Byer’s 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

    http://club.shelek.com
    club@shelek.com

    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться
    Убрать рекламу

    В избранное