The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Детали реализации планировщика задач в Linux ядре 2.6

26.12.2003 14:09

Статья "Inside the Linux 2.6 Scheduler" общедоступно рассказывает о реализации планировщика задач в новом Linux ядре (O(1) - затраты на планирование распределения квантов времени, не зависят от текущего числа задач в системе).

  1. Главная ссылка к новости (http://www.arstechnica.com/etc...)
  2. OpenNews: Сравнение улучшений планировщика задач Linux ядра 2.6 по сравнению с 2.4
  3. OpenNews: Подробно о планировщике задач в Linux
  4. OpenNews: Тюнинг параметров планировщика в Linux kernel 2.5.x
  5. Андрей Киселев: Планировщик задач в Linux.
Лицензия: CC BY 3.0
Источник: osnews.com
Короткая ссылка: https://opennet.ru/3229-scheduler
Ключевые слова: scheduler, access, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (3) RSS
  • 1, Дмитрий Ю. Карпов (?), 13:48, 28/12/2003 [ответить]  
  • +/
    Сложность O(N) - в примитивных алгоритмах (вряд ли можно написать алгоритм с O(N^2)).
    Я понимаю, когда сложность сводится до O(log(N)), но не верю в O(1), т.к. всегда будут случаи, когда несколько задач одновременно приобретают наивысший на данный момент приоритет, а ещё надо регулярно корректировать приоритет у каждой задачи.
     
     
  • 2, koka (?), 15:09, 28/12/2003 [^] [^^] [^^^] [ответить]  
  • +/
    почему же не могут?
    вспомним из школы алгоритм планирования процессов Round-Robin. Имеется очередь процессов. Берётся первый из них, запускается и после кванта времени ставится в конец.
    Имееем явный O(1). Теперь всякими извращениями добавляем сюда приоритет и возможнось возникновения процессов в других состояниях (stopped, etc) - и получаем чистый O(1)
     
     
  • 3, Дмитрий Ю. Карпов (?), 17:22, 29/12/2003 [^] [^^] [^^^] [ответить]  
  • +/
    > почему же не могут?
    > вспомним из школы алгоритм планирования процессов Round-Robin.
    > Имеется очередь процессов. Берётся первый из них, запускается
    > и после кванта времени ставится в конец. Имееем явный O(1).
    > Теперь всякими извращениями добавляем сюда приоритет и возможнось
    > возникновения процессов в других состояниях (stopped, etc) -
    > и получаем чистый O(1)

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

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру