Адаптивті бөлу кестесі: QNX операциялық жүйесінде процессор ресурстарын басқару
Adaptive partition scheduler
QNX операциялық жүйесіндегі адаптивті бөлу шемалағыштары: жүйедегі жүктеме кезінде процессор ресурстарын тиімді басқару, өнімділікті арттыру және тұрақтылықты қамтамасыз ету.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Адаптивті бөлімдерді жоспарлаушылар – бұл бөлімдерді жоспарлаушының салыстырмалы түрде жаңа түрі, ол өз кезегінде QNX операциялық жүйесінің ең соңғы нұсқасымен енгізілген жоспарлау алгоритмі. Адаптивті бөлу (АБ) жүйе дизайнеріне нақты уақыт жүйесі үшін өңдеу ресурстарының белгілі бір пайызын нақты бір бөлімге (ішкі жүйе құрамына кіретін топтар мен/немесе процестер тобы) резервтеуге мүмкіндік береді. Операциялық жүйенің басымдыққа негізделген, алдын ала жоспарлаушысы жүйеге артық жүктеме түскенге дейін (яғни, жүйеде процессордың ұзақ мерзімде өңдей алатын мүмкіндігінен артық есептеулер болғанда) 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.