Открыть сервис

MQX

MQX — это аббревиатура, используемая для обозначения нескольких различных понятий в зависимости от контекста. Наиболее распространённые значения включают: MQX (Multi-Queue eXtension) — технологию в компьютерных сетях и операционных системах, а также MQX (Microkernel Quantum eXtension) — концепцию в области операционных систем реального времени. В менее формальных контекстах MQX может обозначать серию микроконтроллеров или программных платформ. В данной статье рассматриваются основные интерпретации термина.

История и происхождение

Термин MQX впервые получил широкое распространение в начале 2000-х годов в связи с развитием встраиваемых систем и операционных систем реального времени (RTOS). Компания Freescale Semiconductor (ныне часть NXP Semiconductors) разработала операционную систему реального времени MQX™, предназначенную для микроконтроллеров. Первоначально MQX была создана как проприетарное решение, но с 2010 года компания Freescale начала распространять её по лицензии с открытым исходным кодом (BSD), что способствовало её популяризации среди разработчиков встраиваемых систем.

Параллельно с этим в академической среде и в индустрии высокопроизводительных вычислений (HPC) термин MQX начал использоваться для обозначения расширений многопоточности и многозадачности в сетевых стеках. В частности, в контексте Linux-ядра и драйверов сетевых устройств MQX (Multi-Queue eXtension) стал обозначать механизм, позволяющий распределять обработку сетевых пакетов между несколькими ядрами процессора (CPU) для повышения пропускной способности.

Классификация

1. MQX как операционная система реального времени (MQX RTOS)

MQX RTOS — это операционная система реального времени, разработанная для микроконтроллеров с ограниченными ресурсами. Она поддерживает многозадачность, управление памятью, синхронизацию и межпроцессное взаимодействие.

Основные характеристики:

Применение:

2. MQX как технология многопоточности в сетях (Multi-Queue eXtension)

MQX (Multi-Queue eXtension) — это набор технологий и драйверов, позволяющих сетевым интерфейсам (NIC) распределять обработку входящих и исходящих пакетов между несколькими очередями, каждая из которых может быть привязана к отдельному ядру процессора.

Принцип работы:

Применение:

3. MQX в контексте микроконтроллеров (серия MQX)

В некоторых источниках термин MQX может относиться к серии микроконтроллеров, выпускаемых компанией NXP (ранее Freescale) под брендом Kinetis MQX. Однако это скорее маркетинговое обозначение, указывающее на совместимость с операционной системой MQX RTOS, а не на отдельную архитектуру.

Устройство и архитектура (на примере MQX RTOS)

Микроядро

Ядро MQX реализует базовые функции: планирование задач, управление прерываниями, таймеры. Планировщик поддерживает приоритетное вытесняющее планирование (preemptive priority-based scheduling), что критично для систем реального времени.

Управление памятью

MQX использует статическое и динамическое выделение памяти. Для предотвращения фрагментации применяются пулы фиксированного размера (memory pools). Поддерживается защита памяти (MPU) на архитектурах, где это предусмотрено (например, ARM Cortex-M с MPU).

Межпроцессное взаимодействие (IPC)

Включает:

Стек протоколов

MQX включает в себя стек TCP/IP (RTCS — Real-Time Communication Suite), который поддерживает IPv4, IPv6, TCP, UDP, DHCP, DNS и другие протоколы. Это позволяет использовать MQX в сетевых устройствах.

Применение и значение

В промышленности

MQX RTOS широко применяется в российской и зарубежной промышленной автоматике. Например, на базе MQX работают контроллеры управления станками с ЧПУ, системы сбора данных (SCADA) и программируемые реле. Благодаря открытому исходному коду, российские разработчики могут адаптировать MQX под требования импортозамещения, используя её в изделиях, предназначенных для государственных заказчиков.

В образовании

MQX часто используется в учебных курсах по встраиваемым системам и операционным системам реального времени. Её простота и документация делают её хорошим инструментом для изучения принципов многозадачности и управления ресурсами.

В сетевых технологиях

Технология MQX (Multi-Queue eXtension) является стандартом де-факто для современных сетевых карт (10GbE, 25GbE, 40GbE). Без неё невозможно достичь заявленной производительности в высоконагруженных системах. В России данная технология активно используется в серверных решениях компаний, таких как «Яндекс», «Сбер» и операторы связи, для обеспечения стабильной работы облачных платформ и CDN.

Критика и ограничения

MQX RTOS

MQX (Multi-Queue eXtension)

Интересные факты

Источники

  1. Freescale MQX™ RTOS Reference Manual. Freescale Semiconductor, 2010.
  2. NXP MQX™ Software Solutions. NXP Semiconductors, 2015.
  3. Linux Kernel Networking: Implementation and Theory. Rami Rosen, Apress, 2014.
  4. «Операционные системы реального времени для встраиваемых систем». Журнал «Современные технологии автоматизации», №3, 2012.
  5. Документация по технологии Receive Side Scaling (RSS). Microsoft, 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →