Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Адаптивные планировщики разделов – относительно новый тип планировщика разделов, который, в свою очередь, является разновидностью алгоритма планирования, впервые реализованного в самой последней версии операционной системы QNX. Адаптивное разделение, или AP, позволяет разработчику системы реального времени запросить резервирование определенного процента вычислительных ресурсов для конкретного раздела (группы потоков и/или процессов, составляющих подсистему). Приоритетный вытесняющий планировщик операционной системы будет работать аналогично системе без AP до тех пор, пока система не будет перегружена (то есть, когда общий объем вычислений превысит возможности процессора по устойчивой производительности в долгосрочной перспективе). В условиях перегрузки планировщик AP устанавливает жесткие ограничения на общее время выполнения подсистем внутри раздела, в соответствии с выделенной долей пропускной способности процессора для данного раздела. Если система не перегружена, раздел, которому выделено (например) 10% пропускной способности процессора, фактически может использовать и больше 10%, заимствуя ресурсы из резервного бюджета других разделов (но с обязательным последующим возвратом). Это особенно полезно для некритичных подсистем с переменной нагрузкой, поскольку они могут использовать резервные ресурсы от критических разделов реального времени для достижения большего прогресса, чем в фиксированном планировщике разделов, таком как ARINC 653, не нарушая при этом сроки выполнения критических подсистем. QNX Neutrino 6.3.2 и более поздние версии поддерживают эту функцию.
Adaptive partition schedulers are a relatively new type of partition scheduler, which in turn is a kind of scheduling algorithm, pioneered with the most recent version of the QNX operating system. Adaptive partitioning, or AP, allows the real time system designer to request that a percentage of processing resources be reserved for a particular partition (group of threads and/or processes making up a subsystem). The operating system's priority driven pre emptive scheduler will behave in the same way that a non AP system would until the system is overloaded (i. e. system wide there is more computation to perform than the processor is capable of sustaining over the long term). During overload, the AP scheduler enforces hard limits on total run time for the subsystems within a partition, as dictated by the allocated percentage of processor bandwidth for the particular partition. If the system is not overloaded, a partition that is allocated (for example) 10% of the processor bandwidth, can, in fact, use more than 10%, as it will borrow from the spare budget of other partitions (but will be required to pay it back later). This is very useful for the non real time subsystems that experience variable load, since these subsystems can make use of spare budget from hard real time partitions in order to make more forward progress than they would in a fixed partition scheduler such as ARINC 653 , but without impacting the hard real time subsystems' deadlines. QNX Neutrino 6.3.2 and newer versions have this feature.