Получить номер терминала

Алгоритм, используемый планировщиком Linux, представляет собой сложную схему с комбинацией упреждающего приоритета и смещенного квантования времени. Он назначает более длительный квант времени задачам с более высоким приоритетом и более короткий квант времени — задачам с более низким приоритетом.

Он идентифицирует каждый процесс либо как процесс реального времени, либо как обычный (другой )процесс. Задачам реального -времени назначаются статические приоритеты в диапазоне [0,99], где меньшее число указывает на более высокий приоритет.

Все остальные задачи имеют динамические приоритеты в диапазоне [100,139] в зависимости от интерактивности задачи, которые основаны на их значениях nice плюс или минус значение 5. Задачи, которые являются более интерактивными, обычно имеют более длительное время ожидания и, следовательно, скорее всего, будут корректировки ближе к -5, поскольку планировщик предпочитает интерактивные задачи. (Интерактивность задачи определяется тем, как долго она бездействовала в ожидании ввода-вывода. )Интерактивность задачи определяет, будет ли значение 5 прибавляться к хорошему значению или вычитаться из него. Результатом таких корректировок станут более высокие приоритеты для этих задач. И наоборот, задачи с более коротким временем ожидания часто более привязаны к ЦП -, и поэтому их приоритеты будут снижены.

Ядро поддерживает список всех выполняемых задач в структуре данных очереди выполнения. Очередь выполнения содержит два массива приоритетов :активных и просроченных. Активный массив содержит все задачи с оставшимся временем в их временных срезах, а массив expired содержит все просроченные задачи. Каждый из этих массивов приоритетов содержит список задач, проиндексированных в соответствии с приоритетом. Планировщик выбирает задачу с наивысшим приоритетом из активного массива для выполнения на ЦП. Когда все задачи исчерпали свои кванты времени (, то есть активный массив пуст ), два массива приоритетов меняются местами :, массив с истекшим сроком действия становится активным массивом, и наоборот.

Динамический приоритет задачи пересчитывается, когда задача исчерпала свой квант времени и должна быть перемещена в массив с истекшим сроком действия. Таким образом, при обмене двумя массивами всем задачам в новом активном массиве назначаются новые приоритеты и соответствующие кванты времени. (Примечание. :Это отрывок из книги «Концепции операционных систем» (, 9-е издание ), написанной Абрахамом Зильбершацем и др. др. Подробности см. в разделе 5.6.3 этой книги )

.
1
08.10.2020, 13:59
0 ответов

Теги

Похожие вопросы