Что такое функционирование в «Реальном масштабе времени»


Download 1.86 Mb.
Pdf ko'rish
bet32/72
Sana19.04.2023
Hajmi1.86 Mb.
#1362511
TuriУчебное пособие
1   ...   28   29   30   31   32   33   34   35   ...   72
Bog'liq
Луканов А.С. Системы реального времени 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 
допускает ручное распределение процессов между процессорами, 
что позволит добиться еще большей эффективности в 
контролируемой среде исполнения. Эта система уже вызвала 
большой интерес со стороны телекоммуникационных компаний, 
нуждающихся в сверхпроизводительных системах для реализации 
мощных коммутационных систем.


75 

Download 1.86 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling