The OpenNET Project / Index page

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

В ядро Linux может быть включен планировщик реального времени

20.10.2009 21:23

На проходившей в сентябре конференции Real-Time Linux Workshop достаточно активно обсуждался вопрос добавления в ядро Linux планировщика режима реального времени. Такая возможность могла бы быть реализована с использованием уже отработанного в других RT-системах алгоритма приоритезации задач с более ранним временем завершения (EDF, Earliest Deadline First). В настоящее время для ядра Linux разработана экспериментальная версия планировщика EDF — SCHED_DEADLINE, которая ранее была известна как SCHED_EDF.

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

  • Существующие решения не способны гарантировать необходимое время выполнения запущенной задачи. Например, если условиями задано, что приложение должно выполняться ровно 20 мсек в интервале 100 мсек, то имеющимися в ядре средствами этого добиться нельзя.
  • Переключение между задачами осуществляется на не детерминистической основе и зависит от общего количества обслуживаемых процессов. Т.к. в ядре нет механизмов жесткой привязки времени начала выполнения задачи, она может выполняться с произвольной задержкой, или в случае возникшей ошибки задержать выполнение следующей задачи.

Данные ограничения не позволяют использовать Linux в системах, где необходим дискретный контроль параметров или другие функции, жестко привязанные ко времени. Более того, без RT-планировщика невозможно заранее предсказать поведение проектируемой системы. Все это негативно сказывается на проникновении Linux в сферу индустриальной электроники и промышленных систем автоматики.

Проект SCHED_DEADLINE, хотя все еще находится в экспериментальной фазе, уже может выполнять типичные задачи полнофункциональной системы реального времени. Он является частью более глобального проекта ACTORS, финансируемого Европейской Комиссией. Более подробно о новом планировщике и примерах использования можно узнать на его домашней странице.

  1. Главная ссылка к новости (http://linux.slashdot.org/stor...)
  2. OpenNews: Кон Коливас представил BFS, новый планировщик задач для Linux ядра
  3. OpenNews: Новая стабильная версия real-time ветки Linux ядра
  4. OpenNews: Для Debian GNU/Linux представлены пакеты Linux ядра, ориентированные на RealTime
Автор новости: blkdog
Тип: К сведению
Ключевые слова: Linux, Kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (68) Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.3, hatelinux (?), 21:51, 20/10/2009 [ответить] [показать ветку] [···]    [к модератору]
  • –36 +/
    тоесть приложения в линуксе уже не умеют сами использовать таймеры и прочее что бы завершаться в нужное время?
    круто

    приложения в линуксе уже неуправляемые ...

     
     
  • 2.4, EL (??), 21:55, 20/10/2009 [^] [ответить]    [к модератору]
  • +6 +/
    Хорошо подумал прежде чем высказаться?
     
     
  • 3.5, hatelinux (?), 21:59, 20/10/2009 [^] [ответить]    [к модератору]
  • –21 +/
    >Хорошо подумал прежде чем высказаться?

    есть чем дополнить? или кроме похоливарить ничего не умеем?

     
     
  • 4.24, Zenitur (?), 00:27, 21/10/2009 [^] [ответить]    [к модератору]
  • +1 +/
    Сам блин холиваришь. И не похоливарить, а подкормить.
     
  • 2.6, аноним (?), 22:00, 20/10/2009 [^] [ответить]    [к модератору]
  • +9 +/
    Поведение приложения (наверное вы имели ввиду процесса) зависит от ядра. Если ядро решит что процессу стоит отдохнуть и не будет давать ему кванты времени, то никакие таймеры на уровне самого процесса не помогут.

    Этот диспетчер предназначен не для настольных PC, а для ...(написано в тексте новости)

     
     
  • 3.16, vadiml (?), 22:57, 20/10/2009 [^] [ответить]    [к модератору]  
  • –1 +/
    > Этот диспетчер предназначен не для настольных PC

    А для настольных лучше всего -- планировщик  BFS Кона Коливаса, который, к сожалению, наверное в ядро так и не войдёт.

     
     
  • 4.36, аноним (?), 03:04, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    >А для настольных лучше всего -- планировщик  BFS Кона Коливаса, который,
    >к сожалению, наверное в ядро так и не войдёт.

    потому что линукс - это свобода.

     
     
  • 5.39, vitek (??), 07:54, 21/10/2009 [^] [ответить]    [к модератору]  
  • –1 +/
    правильно.
    и это не значит, что в ядро надо пихать любое дерьмо.
     
     
  • 6.40, Michael (??), 08:43, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    Проблема в том, что BFS довольно хорош для своих задач При том, откуда взялся C... весь текст скрыт [показать]
     
     
  • 7.42, vitek (??), 08:52, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    это никакая не проблема пробовал я этот bfs мало того, что ничуть не лучше c... весь текст скрыт [показать]
     
  • 2.11, pavlinux (ok), 22:20, 20/10/2009 [^] [ответить]    [к модератору]  
  • +6 +/
    Напиши программку которая считает сумму всех простых чисел от 1 до 2^64
    Чтоб она работала ровно 150 мс, а с учётом допускаемых отклонений в
    пределах 120 - 180 мс, прекращала суммировать и выводила полученный
    результат и время работы.

    А самое главное: ПОСТОЯННО И ПРИ ЛЮБЫХ УСЛОВИЯХ РАБОТЫ И НАГРУЗКИ, ЛЮБЫХ ЧАСТЕЙ КОМПЬЮТЕРА.

     
     
  • 3.12, аноним (?), 22:24, 20/10/2009 [^] [ответить]    [к модератору]  
  • +/
    Дада, именно для этого и нужны RTOS.
     
  • 3.20, hatelinux (?), 23:37, 20/10/2009 [^] [ответить]     [к модератору]  
  • –17 +/
    сам то CPU без планировщика в состоянии с этим временем справиться или линукс х... весь текст скрыт [показать]
     
     
  • 4.28, vitek (??), 01:19, 21/10/2009 [^] [ответить]    [к модератору]  
  • +3 +/
    "прекращала суммировать" - это не значит, что просчитала всё до конца.

    т.е. "кончил, не кончил, а регламент 10 минут"....
    толи Горбачёв, толи Черномырдин - не помню.

     
     
  • 5.29, pavlinux (ok), 01:26, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    Угу Да любой пример, где не важна работа, сколь время А, вот - любая измери... весь текст скрыт [показать]
     
     
  • 6.38, vitek (??), 07:53, 21/10/2009 [^] [ответить]    [к модератору]  
  • +3 +/
    радует одно - глубокое понимание предметной области у людей с ником hatelinux.
     
  • 6.45, ronin (??), 11:03, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Или системы контроля автоматизированных производственных... весь текст скрыт [показать]
     
  • 3.31, Heckfy (ok), 01:42, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    octaword summa long two_power_63 9223372036854775808 return 1 2 two_po... весь текст скрыт [показать]
     
     
  • 4.33, pavlinux (ok), 02:02, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    40000000000000008000000000000000 Дык, а где ж простые ... весь текст скрыт [показать]
     
     
  • 5.60, dot_kkursor (ok), 22:24, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    Ну зачем такие вещи пейсать, а Пришёл вечером, набросал ругайте и пользу... весь текст скрыт [показать]
     
     
  • 6.61, Карбофос (ok), 22:59, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    ой! а не проще битовыми полями? решение влоб не всегда самое быстрое :)
    к тому же деление в цикле....
     
     
  • 7.62, dot_kkursor (ok), 23:01, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    Не стреляйте больно, я только начинаю си изучать Щас пытаюсь приделать к ней... весь текст скрыт [показать]
     
     
  • 8.64, Карбофос (ok), 23:41, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    да это не критика операция деления выполняется примерно в 4 раза медленнее о... весь текст скрыт [показать]
     
     
  • 9.66, dot_kkursor (ok), 00:18, 22/10/2009 [^] [ответить]     [к модератору]  
  • +/
    Каких же размеров должен быть этот массив предлагаете на каждое число по элем... весь текст скрыт [показать]
     
     
  • 10.67, Карбофос (ok), 01:04, 22/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    для каждого числа нужен всго лишь один бит потом, массив можно немного сократит... весь текст скрыт [показать]
     
     
  • 11.68, Карбофос (ok), 08:39, 22/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    при битовой кодировке - 1024х1024х8х2 чисел. все четные можно выкинуть
     
     
  • 12.69, dot_kkursor (ok), 09:09, 22/10/2009 [^] [ответить]     [к модератору]  
  • +/
    Всё равно же делить на 2 Или типа если младший бит 0, то выкинуть нафиг Поби... весь текст скрыт [показать]
     
     
  • 13.70, Карбофос (ok), 09:38, 22/10/2009 [^] [ответить]    [к модератору]  
  • +/
    конечно гораздо быстрее, особенно в конвейере, если развернутый цикл, к примеру. или если компилятор его смог развернуть.
     
  • 13.72, Карбофос (ok), 10:20, 22/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    ускоряем твой алгоритм в 2 раза:

    for (i=3; i<current_num; i+=2){
      remain = current_num%i;
      if (remain == 0) // the number is not prime
        break;
    }

    можешь еще одну проверку встроить

     
  • 7.63, dot_kkursor (ok), 23:05, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    А как без деления в цикле можно определить простоту числа Обнаружил, что несм... весь текст скрыт [показать]
     
     
  • 8.65, Карбофос (ok), 23:46, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    нарисуй алгоритм на бумаге скажем, определение простых чисел до 40 начиная с дв... весь текст скрыт [показать]
     
     
  • 9.71, Карбофос (ok), 09:39, 22/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    даже узнал, как алгоритм называется: сечение Эратосфена
     
  • 8.73, Карбофос (ok), 10:40, 22/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    си вообще-то разрешает использовать числа ling long int или __int64
     
     
  • 9.74, Карбофос (ok), 10:41, 22/10/2009 [^] [ответить]    [к модератору]  
  • +/
    long long int
     
  • 8.75, pavlinux (ok), 03:44, 23/10/2009 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Всё украдено уже до нас с Ы include limits h inc... весь текст скрыт [показать]
     
     
  • 9.76, Карбофос (ok), 10:02, 23/10/2009 [^] [ответить]     [к модератору]  
  • +/
    ну это же процесс творческий сколько он там памяти аллокирует O_o для 64 бит... весь текст скрыт [показать]
     
     
  • 10.77, pavlinux (ok), 10:36, 23/10/2009 [^] [ответить]     [к модератору]  
  • +/
    Для прогрева всех ядрывшек, теперь c OpenMP gcc-4 4 2 primesum c ... весь текст скрыт [показать]
     
     
  • 11.78, Карбофос (ok), 11:06, 23/10/2009 [^] [ответить]    [к модератору]  
  • +/
    в принципе, просто использовать битовые массивы (сечение) - тоже решение "в лоб". проблема с нерациональным использованием памяти - налицо.
     
     
  • 12.79, pavlinux (ok), 18:08, 23/10/2009 [^] [ответить]     [к модератору]  
  • +/
    Уж поверь, в GMP над этим поработали Если глянешь исходники, там все увидишь, ... весь текст скрыт [показать]
     
     
  • 13.83, Карбофос (ok), 12:25, 24/10/2009 [^] [ответить]    [к модератору]  
  • +/
    доверяй,но проверяй. ;)
    качнул исходники с докой из репозитория. мерси за инфу.
     
  • 2.49, Guest (??), 11:55, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    Учим матчасть, что такое шедулер и что такое таймеры, а потом не задаём глупых вопросов.
     
  • 2.55, digiwhite (?), 13:27, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    Друг, лучше иди почитай, что такое ОС реального времени и какими характеристиками она должна обладать. А то ну такую муйню написал.
     
     ....нить скрыта, показать (41)

  • 1.8, Ariel (ok), 22:13, 20/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • –8 +/
    чего только люди не придумают, чтобы не использовать QNX
     
     
  • 2.10, СуперАноним (?), 22:18, 20/10/2009 [^] [ответить]    [к модератору]  
  • +3 +/
    Ваш QNX уже свободен?
    открыт != свободен
     
     
  • 3.21, Ariel (ok), 00:05, 21/10/2009 [^] [ответить]     [к модератору]  
  • –5 +/
    Если вы его используете в научных целях - меняйте что хотите, даже если вы разар... весь текст скрыт [показать]
     
     
  • 4.52, Alexander (??), 12:21, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    Ну так пользователи будут должны платить за неё.
     
  • 2.41, Аноним (-), 08:51, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    Что только люди не придумают, чтобы не пользоваться узелками на веревках для сче... весь текст скрыт [показать]
     
  • 1.13, pavlinux (ok), 22:30, 20/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Собственно, не вижу сравнения с RT патчами от Ingo Molnar_а :)
     
     
  • 2.19, Евгений (??), 23:09, 20/10/2009 [^] [ответить]    [к модератору]  
  • +/
    В lkml писали что существующий rt планировщик не совсем их устраивает. Как я понял этот планировщик совмещает в себе плюсы от fair и от rt каким-то образом.
     
     
  • 3.23, pavlinux (ok), 00:27, 21/10/2009 [^] [ответить]     [к модератору]  
  • +1 +/
    А ещё дрова от nvidia в дамп падают Так что, кто хочет порубиться QuakeWars под... весь текст скрыт [показать]
     
     
  • 4.54, A (?), 13:12, 21/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    У меня не падают. Или проблема только с twinview (не пробовал)?
     
     
  • 5.80, pavlinux (ok), 18:08, 23/10/2009 [^] [ответить]    [к модератору]  
  • +/
    >У меня не падают. Или проблема только с twinview (не пробовал)?

    драйвер правил?

     
  • 2.32, _Vitaly_ (ok), 01:49, 21/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    Гы-гы, еще на форониксе потом запустят под rt-планировшиком мускул из шифрованной домашней папки, и скажут, что хуже чем cfq :)
     
  • 1.15, develop7 (ok), 22:53, 20/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ну наконец-то!
     
  • 1.17, J.L. (?), 23:00, 20/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    ещё бы внесли в ядро диспетчер для десктопов (а не для "метафизического компутера") и было бы счастье
     
     
  • 2.18, pavlinux (ok), 23:08, 20/10/2009 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну и зачем?
    Чтоб firefox всегда грузился за 15 сек., пофигу на Pentium III или на Core i7 ? :)

     
     
  • 3.26, jl (?), 01:00, 21/10/2009 [^] [ответить]    [к модератору]  
  • –2 +/
    >Ну и зачем?
    >Чтоб firefox всегда грузился за 15 сек., пофигу на Pentium III или
    >на Core i7 ? :)

    на десктопе линукс всё таки тормозит(может быстрее висты, но не быстрее хр), поэтому +1.

     
     
  • 4.27, Новичок (??), 01:06, 21/10/2009 [^] [ответить]     [к модератору]  
  • –1 +/
    У меня Mandriva 2009 1 тормозит, а вот Opensuse работала как будто быстрее, но O... весь текст скрыт [показать]
     
  • 4.43, Просто прохожий (?), 10:27, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    1 Смотря как приготовить можно LFS-ом, например 2 Смотря что использов... весь текст скрыт [показать]
     
     
  • 5.46, аноним (?), 11:20, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    в моем понимании допиливание - это нечто иное, чем попытка слепить ещё один ми... весь текст скрыт [показать]
     
     
  • 6.47, Аноним (-), 11:33, 21/10/2009 [^] [ответить]     [к модератору]  
  • +/
    А что в этом плохого И может предложите путь получше Или одни риторические воп... весь текст скрыт [показать]
     
     
  • 7.51, name (??), 12:14, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    >А что в этом плохого?

    Да ничего, кроме тормозов

    >И может предложите путь получше?

    Bitmap, не?

    >Какие то 10 лет

    Всего-то?! Вендекапец близок как никогда! :-D

     
  • 6.56, Андрей (??), 18:52, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    >>анонимный оналитег, как же

    :D :D :D
    на себя посмотри

     
     
  • 7.57, аноним (?), 19:06, 21/10/2009 [^] [ответить]    [к модератору]  
  • +/
    >на себя посмотри

    от этого ксандрос не научится нормальной гибернации и гибридному режиму.

     
  • 4.58, Карбофос (ok), 20:27, 21/10/2009 [^] [ответить]    [к модератору]  
  • +1 +/
    > на десктопе линукс всё таки тормозит(может быстрее висты, но не быстрее хр)

    хм... достаточно точный сравнительный анализ, основанный на деталлированном описании операционных систем.

     
  • 1.30, pavlinux (ok), 01:38, 21/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Ну вот обрадую Вас, любители RT на десктопах, - пока сырое дож...ы.

    Больше одной задачи, с этим планировщиком, на одном ядре/проце запускать нельзя,
    иначе.

    Pid: 11, comm: sirq-hrtimer/0 Not tainted 2.6.31-sched-rt #3
    Call Trace:
    [<ffffffff8136ade1>] ? thread_return+0x170/0x65f
    [<ffffffff8100bdde>] ? apic_timer_interrupt+0xe/0x20
    [<ffffffff8136b50a>] ? schedule+0xa/0x30
    [<ffffffff810578cd>] ? hrtimer_wait_for_timer+0x5d/0xa0
    [<ffffffff81053460>] ? autoremove_wake_function+0x0/0x30
    [<ffffffff81057920>] ? hrtimer_cancel+0x10/0x30
    [<ffffffff810368ce>] ? finish_task_switch+0x13e/0x140
    [<ffffffff8136acb2>] ? thread_return+0x41/0x65f
    [<ffffffff81031eb4>] ? update_curr_rt+0x144/0x1a0
    [<ffffffff8136b4dd>] ? preempt_schedule+0x6d/0x90
    [<ffffffff810316f8>] ? deadline_timer+0x58/0xa0
    [<ffffffff81056a42>] ? run_hrtimer_softirq+0xc2/0x1b0
    [<ffffffff810316a0>] ? deadline_timer+0x0/0xa0
    [<ffffffff810426b2>] ? ksoftirqd+0x172/0x2d0
    [<ffffffff81042540>] ? ksoftirqd+0x0/0x2d0
    [<ffffffff810530b6>] ? kthread+0xa6/0xb0
    [<ffffffff8100c30a>] ? child_rip+0xa/0x20
    [<ffffffff81053010>] ? kthread+0x0/0xb0
    [<ffffffff8100c300>] ? child_rip+0x0/0x20

     
  • 1.44, A (?), 10:51, 21/10/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Для тех, кому это нужно, давно уже есть набор rt-патчей и некоторые дистрибутивы предоставляют альтернативный вариант сборки ядра с этими патчами. Одно из применений — обработка звука с низкими задержками (обычно требуется, чтобы весь цикл обработки одного буфера, в котором могут участвовать несколько приложений, занимал порядка 5-10 мс). В любом "студийном" дистрибутиве (Ubuntu Studio, PlanetCCRMA и т.п.) такое ядро по умолчанию. Естественно, при использовании rt-ядра общая производительность системы несколько снижается, а отзывчивость увеличивается.
     
     
  • 2.84, Аноним (84), 17:00, 09/11/2009 [^] [ответить]     [к модератору]  
  • +/
    Ставил, кернел паник хапанул сразу же И много народу пишут что у них то же само... весь текст скрыт [показать]
     

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


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