Какой Алгоритм планирования используется в Linux?

Большинство оболочек только поддерживает a-z, A-Z, 0-9 и _ для variablenames. Считайте второй объект на этой странице.

11
06.09.2011, 02:50
5 ответов

Текущего планировщика задач Linux называют Абсолютно Справедливым планировщиком (CFS). Необходимо взглянуть на http://people.redhat.com/mingo/cfs-scheduler/sched-design-CFS.txt для получения дополнительной информации. Дизайн довольно сложен и по моему мнению не подходит для RTOS.

Общая техника в системах реального времени является пропорциональным числу обращений планированием, потому что это имеет сильные гарантии, если определенные предположения содержат (например, статические приоритеты задачи и зафиксированное время выполнения и уровень). Существуют много другие алгоритмы и было большое исследование. Таким образом, это - в основном все о свойствах, Вам нужно и что Вы знаете о своей задаче и что фиксируется.

7
27.01.2020, 19:59

Я не совсем уверен, берете ли Вы о планировании ввода-вывода Ядра. В случае, если Вы не: Проигнорируйте этот ответ.

Состояния Википедии, что CFG (абсолютно Справедливая Организация очередей) является значением по умолчанию начиная с Ядра 2.6.18.

На моем openSUSE (выполняющий Ядро 2.6.37) я могу переключиться между CFG, NOOP и Крайний срок.

2
27.01.2020, 19:59
  • 1
    мне любопытно, как мы можем переключиться на другой алгоритм? Можно ли пролить некоторый свет на это? спасибо, которое –  rsjethani 03.11.2012, 11:22
  • 2
    @rsjethani Переходит к YaST-> Система-> Настройки Ядра-> 2-я Вкладка (Настройки Ядра)-> Глобальный Планировщик IO. (именование опций могло бы отличаться, поскольку я перевел из немецкого GUI), –  Torbjörn 18.12.2012, 11:36

Круговой алгоритм обычно используется в средах разделения по времени.

1
27.01.2020, 19:59

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

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

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

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

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

.
0
27.01.2020, 19:59

Это ответ на ваш другой вопрос. Системы реального времени (RTS )бывают двух типов: аппаратные и программные. Алгоритм планирования ЦП для жесткого RTS основан на вытесняющем алгоритме на основе приоритета, а для мягкого RTS не имеет вытесняющего приоритета -.

0
27.01.2020, 19:59

Теги

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