logo
HCS12 с применением языка С - royallib

8.5.3. Карусельные системы

В карусельных ОСРВ системах, ядро последовательно переходит от обработки одной активной задачи к другой. Когда оно достигает последней задачи в системе, то начинает снова с первой задачи. В циклической системе, задачам часто позволяют работать до завершения прежде перейти к следующей задаче. Если это недопустимо для каждого прохода через все задачи, может использоваться метод квантования времени. При квантовании времени она каждую задачу цикла выделяется фиксированным временем доступа к процессору. Если за этот период задача не заканчивается, ее контекст сохраняется в связанном с ней TCB, она переводится в состояние готовности, а активной становится следующая задача в циклической последовательности. Карусельная операционная система может быть легко выполнена при использовании структуры данных с круговой очередью. В этом случае, каждый TCB мог бы быть связан с позицией в очереди. Операционная система последовательно переходила бы от одной задачи к другой внутри очереди. А если желательно было бы использовать квантование времени, то это легко было бы реализовать с помощью прерываний в режиме реального времени (RTI) имеющихся в 68HC12.

Пример:  В предыдущей профессиональной жизни я (Стивен Ф. Барретт) был наводчиком в военно-воздушных силах. Я вместе с моим партнером отвечал за текущий контроль состояния своих ракет. Мы находились на расстоянии нескольких километров от ракет. Состояние ракеты проверялось по компьютеру в нашем центре управления. Компьютер проводил последовательный циклический опрос состояния каждой из наших ракет. Я не участвовал в проектировании компьютерной операционной системы центра управления; однако, я думаю, что использовалась карусельная система опроса, поскольку состояние каждой ракеты имело равную важность.