Что такое функционирование в «Реальном масштабе времени»
Download 1.86 Mb. Pdf ko'rish
|
Луканов А.С. Системы реального времени 2020
Neutrino
является доказательством возможности существования компактной POSIX-системы. Для достижения этих целей недостаточно было просто косметической модернизации микроядра QNX. Neutrino представляет собой значительно более совершенную модель, выполняющую гораздо больше функций, чем микроядро QNX, имея при этом лучшую производительность и временные характеристики. Улучшенное микроядро позволило также вчетверо уменьшить размер менеджера процессов (с 80 до 20 Кбайт), уменьшив таким образом их суммарный размер почти вдвое. Микроядро и наноядро. Очевидно, расширение функций привело к увеличению размера микроядра с 10 до 28 Кбайт. Однако его содержимое теперь лучше структурировано. Фактически в нем выделилось "наноядро", обеспечивающее поддержку фундаментальных объектов микроядра, которое в свою очередь поддерживает базовый сервис для пользовательских нитей и дополнительных системных модулей. Функции, включенные в микроядро, были выбраны по принципу минимального количества операций, необходимых для их исполнения. Все относительно сложные функции были вынесены во внешние модули. По этой причине Neutrino остается достаточно маленьким и простым и по-прежнему оправдывает название "микроядра". Например, Neutrino поддерживает понятие нити, работающей в контексте процесса, но не может создавать процессы. В микроядре вообще нет кода, предназначенного для управления виртуальной памятью, необходимой для реализации защиты процессов. Такое решение объясняется тем, что некоторые системы реального 74 времени предъявляют более жесткие требования к размеру и скорости исполнения кода, чем к защите, поскольку имеют контролируемую среду исполнения. Кроме того, некоторые процессоры вообще не поддерживают механизм виртуальной памяти. А на процессорах с архитектурой, отличной от x86, все вообще выглядит иначе. Так что такой подход повышает модульность и эффективность системы, а также упрощает ее перенос на другие платформы. Все системные вызовы Neutrino могут вытесняться при необходимости, чтобы обработать вызов от нити с более высоким приоритетом, причем даже в процессе передачи сообщений. Это качество микроядра, а также его сравнительная простота и малый размер позволяют минимизировать невытесняемые последовательности кода в системе. В свою очередь, за счет этого улучшаются временные характеристики системы. Скромные требования к памяти упрощают разработку встроенных систем низшего уровня. Кроме того, это уменьшает количество блокировок в коде (spin-locks), необходимых для поддержки мультипроцессорных архитектур, что упрощает реализацию SMP и повышает эффективность использования дополнительных процессоров. Улучшаются также характеристики ОС, необходимые для построения систем высокого уровня. По заявлениям QSSL, бета-тестирование SMP Neutrino продемонстрировало близкий к линейному рост производительности при добавлении дополнительных процессоров (до 8), при автоматической балансировке нагрузки. Многое в QNX и Neutrino "недостижимо". Кроме того, реализация SMP Neutrino допускает ручное распределение процессов между процессорами, что позволит добиться еще большей эффективности в контролируемой среде исполнения. Эта система уже вызвала большой интерес со стороны телекоммуникационных компаний, нуждающихся в сверхпроизводительных системах для реализации мощных коммутационных систем. |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling