Scientific journal
Advances in current natural sciences
ISSN 1681-7494
"Перечень" ВАК
ИФ РИНЦ = 0,775

Стремительное развитие вычислительной техники привело к тому, что разрабатываемые устройства стали сложнее и включают в себя большое количество функций. Разрабатывать устройства, отвечающие современным требованиям, стало возможно благодаря прогрессу в области технологий проектирования и значительном удешевлении элементной базы.

Чем обширнее задача и сложнее устройство, тем больше нужно времени и средств на его разработку. Применение высокопроизводительных микроконтроллеров и систем автоматизированного проектирования позволяет на много ускорить процесс проектирования и снизить стоимость устройства. Большинство «сложных» современных устройств не обходится без применения микроконтроллерных систем или «Встраиваемых систем» (на базе микроконтроллера). Подобные системы не могут функционировать без программного обеспечения.

Ускорить разработку программного обеспечения можно используя «операционные системы реального времени», которые набирают все большую популярность. Программу, написанную на языке Ассемблера, сложно перенести на другой микроконтроллер (микропроцессор), что связано не только с различной системой команд (решается использованием нужного компилятора), но и с наличием у микроконтроллеров различный функциональных блоков. Операционные системы реального времени имеют модульную структуру и основное ядро, которое не зависит от особенностей микроконтроллера, что позволяет переносить их на различные микроконтроллеры (микропроцессоры), при этом функциональные особенности микроконтроллера можно использовать путем добавления нужного модуля.

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

Операционная система реального времени должна обеспечивать следующие функции: функция управления памятью (доступ к памяти по средствам команд ОС); функция управления процессами (поскольку ОС реального времени многозадачные); функция управления периферийными устройствами (УВВ, ус-ва хранения и т.д.); функция поддержки коммуникационных протоколов (USB, Bluetooth и т.д.); функция поддержки протокола интернета.

В настоящее время спектр имеющихся операционных систем чрезвычайно широк. Условно все операционные системы можно разделить на три категории по заложенным в них возможностям:

  • системы, обеспечивающие только управление памятью и задачами; подобные операционные системы присутствуют в том или ином виде практически в каждом устройстве и имеют очень малый объем (порядка двух-трех сотен строк кода); часто такая операционная система пишется индивидуально для каждого проекта (при этом она может и не выделяться из программного обеспечения в операционную систему как таковую); как правило, подобные операционные системы используются при создании относительно простых устройств;
  • системы, имеющие жестко заложенные в них средства взаимодействия с внешним миром; подобные системы, как и предыдущие, разрабатываются для обеспечения надобностей конкретного проекта; такой подход позволяет минимизировать объем кода и добиться максимальной производительности в ущерб универсальности использования;
  • системы, имеющие четко выраженную модульность; подобные операционные системы чаще всего имеют ядро, которое обеспечивает управление памятью и процессами, а также взаимодействие процессов между собой; кроме того, имеется набор драйверов для поддержки различных периферийных устройств, коммуникационных протоколов и т. п.; этот тип операционных систем является наиболее универсальным, причем, как правило, имеется несколько реализаций для различных аппаратных платформ.

Существует большое количество ОС реального времени, и все они выполняют одну задачу - управление функционированием системы. При выборе ОС необходимо учитывать все перечисленные выше особенности. Естественно, первостепенно нужно выбирать ОС реального времени, которая сможет обеспечить требуемые для устройства характеристики (время отклика, наличие необходимых протоколов связи и т.д.), но поскольку ОС реального времени призвана упрощать и ускорять процесс проектирования, особое внимание следует уделить наличию средств (среды) разработки и службе поддержке. Ниже приведена таблица с характеристиками некоторых ОС реального времени.

Название ОС реального времени

Разработчик

Поддерживаемые процессоры

Требования к памяти

Поддерживаемые компиляторы и отладчики

Объем ПЗУ, кбайт

Объем ОЗУ, кбайт

Windows CE

Microsoft

ARM, MIPS, PowerPC, SH, x86, StrongARM

32

8

 

QNX

QNX Software Systems

MIPS, PowerPC, x86 Protected Mode, x86 Real Mode

32

8

GNU GCC C/C++, Watcom C/C++

OnTime RTOS

On Time Software

x86 Protected Mode

8

8

Microsoft, Watcom, Borland

Nucleus PLUS

Accelerated Technology Inc.

6800, 68HC11, 68HC16, 68K, ARM, C16x, ColdFire, H8, MIPS, MPC8xx, PowerPC, SH, SPARC, TI DSPs, V800, x86, M-Core, C16A/B, CR32,...

3

2

GNU, ARM, Metaware, Microsoft, Borland, Watcom, IAR, Hitachi, Tasking, TI,...

e/BSD

Berkley Software Design

SPARC, Intel 386, 486, Pentium

2000

2000

 

CMX-RTX

CMX Co.

68HC0/08/11/12/16, 68K, 78K, 80196, x51, ARM, C16x, ColdFire, H8, MELPS 7700, MPC8xx, PIC, PowerPC, SH, TI DSPs, x86, AVR, ST,..

1000

0,2

CMX-RTX

CMX Co.

CMX CMXBug, CMXTracker

RTX

Keil Software

80251, 8051, and derivatives, C166

8

11

dScope

OS-9

Microware Systems Corp.

68K, StrongARM, PowerPC, SH, x86 Protected Mode

128

128

UCC+GCC

 

Список литературы

1. Сулейманова А.М. Системы реального времени: учебное пособие. - Уфа: Уфимск. гос. авиац. техн. ун-т, 2004. - 292 с.

2. Переводчик: Ю. Асотов. Операционная система реального времени QNX Neutrino 6.3. Системная архитектура. - БХВ-Петербург, 2006.

3. В. Г. Олифер, Н. А. Олифер Сетевые операционные систе- мы. - СПб.: Питер, 2001.

4. http://www.swd.ru.

5. http://citforum.ru.