Pull to refresh

Comments 18

А вот я буду занудствовать.

О чем статья? О планировщике, который в ОС используется? Нет.
Об алгоритме планировки? Тоже нет. Статья на 80% состоит из копипаста исходного кода. Причем не выборочно, а как есть.
Пример реального планировщика задач? Тоже нет.

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

В общем я расстроен. Такую хорошую и интересную тему испортить такой статьей.
Думаю статья всё же окажется интересна тем, кто ничего об этом не знает, но хочет иметь начальное представление. Да наверное для тех, кто собаку съел в операционных системах она покажется скучной, но, как говорят в моём любимом паблике, это моя первая — не судите строго :)
Действительно, в таком виде не очень интересно. Почему бы не дополнить, скажем, распознаванием и обработкой дедлоков, раз уж они упомянуты, или, например, переделать EnterCritical для многопроцессорной машины?
о, привет, мой диплом))) давно не виделись :D
Могу ошибаться, но по моему код — всё же диплом моего лектора а не ваш :)
я просто не совсем корректно выразился, конечно же имел ввиду тему:)
Если бы в прошлый четверг у меня бы не было лекции на тему планировщиков, то мне бы было позновательно. А так тут не раскрыто и десятой доли рассказанного лектором, за исключением кода, конечно, который ничем не полезен. :( Тема титек не раскрыта, требуем продолжение (а точнее углубление). И никаких турбопаскалей.

PS
Это лучшая картинка под deadlock в моей жизни! [2]
Да, тема титек действительно не раскрыта, Хотя тема интересная!
Теперь по порядку.
Котята зачетные:) Но к не о них же хотелось прочитать в статье о планировщике. Вот как вы предлагаете понять ваши исходники, читать их со страницы и компилировать в уме? Ну оформите их в виде файлов, выложите проект и дайте ссылку. Конечно с указанием как это все запустить, и что вообще должно произойти в итоге. Чтобы заинтересовавшиеся могли поиграться и понять данную как это все работает. В статье расскажите про алгоритм планирования, можно и поменьше кода, либо закомментируйте его достаточно подробно. Если будет хорошо расписан алгоритм и принципы работы планировщика, наверное и код можно совсем убрать.
В общем ждем углубления!
Кстати что касается кода, у меня есть такое предложение/идея — отделить реализацию переключения контекста (ассемблер, сишечка) и собственно реализацию планировщика (писать на чем-нибудь типа Scheme и базировать реализацию на механизме continuation). Ну или lua.
Хм… Не особо вижу смысл выделять переключение контекста как отдельную задачу, но написать кусок операционки на Lisp'e это наверное круто :)
Надеюсь так стало поинтереснее :)
Неа. Ссылка на исходники сдохла.
Гитхаб и т.п. надо для такого использовать.
рекомендую посмотреть linsched — Userspace Linux Schedule Simulator
Ох, прямо удивительно читать такой наивности рассуждения сразу после статьи на lwn, описывающей последние проблемы скедулинга в линуксе.

описываемая задача относится примерно ко временам Windows NT 4, когда двухпроцессорные сервера были Круто и Редкость.

Сейчас же, когда в самом замудоханном фонарике с SMS минимум два, а то и четыре ядра, все эти рассуждения выглядят немного жалко.

Стоимость миграции задачи с ядра на ядро как учитывается? А разница в цене между миграцией с ядра на его HT-партнёра и миграцией на соседнее ядро? А разница между миграцией задачи в пределах кристалла и на соседний?

А цена поиска оптимального варианта в условиях, когда ядер много?

А как быть с RT-задачами, которым все эти миграции между кешами нафиг не сдались?

Only those users with full accounts are able to leave comments. Log in, please.