Комментарии 18
А вот я буду занудствовать.
О чем статья? О планировщике, который в ОС используется? Нет.
Об алгоритме планировки? Тоже нет. Статья на 80% состоит из копипаста исходного кода. Причем не выборочно, а как есть.
Пример реального планировщика задач? Тоже нет.
Кстати, я искреннею удивлен, что вы ничего не нашли по данной тематике — статей от сегодня и до завтра. Причем, касательно не только Windows разных версий, но также Linux и еще кучи абстрактных алгоритмов.
В общем я расстроен. Такую хорошую и интересную тему испортить такой статьей.
О чем статья? О планировщике, который в ОС используется? Нет.
Об алгоритме планировки? Тоже нет. Статья на 80% состоит из копипаста исходного кода. Причем не выборочно, а как есть.
Пример реального планировщика задач? Тоже нет.
Кстати, я искреннею удивлен, что вы ничего не нашли по данной тематике — статей от сегодня и до завтра. Причем, касательно не только Windows разных версий, но также Linux и еще кучи абстрактных алгоритмов.
В общем я расстроен. Такую хорошую и интересную тему испортить такой статьей.
Действительно, в таком виде не очень интересно. Почему бы не дополнить, скажем, распознаванием и обработкой дедлоков, раз уж они упомянуты, или, например, переделать EnterCritical для многопроцессорной машины?
о, привет, мой диплом))) давно не виделись :D
Это лучшая картинка под deadlock в моей жизни!
Если бы в прошлый четверг у меня бы не было лекции на тему планировщиков, то мне бы было позновательно. А так тут не раскрыто и десятой доли рассказанного лектором, за исключением кода, конечно, который ничем не полезен. :( Тема титек не раскрыта, требуем продолжение (а точнее углубление). И никаких турбопаскалей.
PS
Это лучшая картинка под deadlock в моей жизни! [2]
PS
Это лучшая картинка под deadlock в моей жизни! [2]
Да, тема титек действительно не раскрыта, Хотя тема интересная!
Теперь по порядку.
Котята зачетные:) Но к не о них же хотелось прочитать в статье о планировщике. Вот как вы предлагаете понять ваши исходники, читать их со страницы и компилировать в уме? Ну оформите их в виде файлов, выложите проект и дайте ссылку. Конечно с указанием как это все запустить, и что вообще должно произойти в итоге. Чтобы заинтересовавшиеся могли поиграться и понять данную как это все работает. В статье расскажите про алгоритм планирования, можно и поменьше кода, либо закомментируйте его достаточно подробно. Если будет хорошо расписан алгоритм и принципы работы планировщика, наверное и код можно совсем убрать.
В общем ждем углубления!
Теперь по порядку.
Котята зачетные:) Но к не о них же хотелось прочитать в статье о планировщике. Вот как вы предлагаете понять ваши исходники, читать их со страницы и компилировать в уме? Ну оформите их в виде файлов, выложите проект и дайте ссылку. Конечно с указанием как это все запустить, и что вообще должно произойти в итоге. Чтобы заинтересовавшиеся могли поиграться и понять данную как это все работает. В статье расскажите про алгоритм планирования, можно и поменьше кода, либо закомментируйте его достаточно подробно. Если будет хорошо расписан алгоритм и принципы работы планировщика, наверное и код можно совсем убрать.
В общем ждем углубления!
Кстати что касается кода, у меня есть такое предложение/идея — отделить реализацию переключения контекста (ассемблер, сишечка) и собственно реализацию планировщика (писать на чем-нибудь типа Scheme и базировать реализацию на механизме continuation). Ну или lua.
Надеюсь так стало поинтереснее :)
рекомендую посмотреть linsched — Userspace Linux Schedule Simulator
Ох, прямо удивительно читать такой наивности рассуждения сразу после статьи на lwn, описывающей последние проблемы скедулинга в линуксе.
описываемая задача относится примерно ко временам Windows NT 4, когда двухпроцессорные сервера были Круто и Редкость.
Сейчас же, когда в самом замудоханном фонарике с SMS минимум два, а то и четыре ядра, все эти рассуждения выглядят немного жалко.
Стоимость миграции задачи с ядра на ядро как учитывается? А разница в цене между миграцией с ядра на его HT-партнёра и миграцией на соседнее ядро? А разница между миграцией задачи в пределах кристалла и на соседний?
А цена поиска оптимального варианта в условиях, когда ядер много?
А как быть с RT-задачами, которым все эти миграции между кешами нафиг не сдались?
описываемая задача относится примерно ко временам Windows NT 4, когда двухпроцессорные сервера были Круто и Редкость.
Сейчас же, когда в самом замудоханном фонарике с SMS минимум два, а то и четыре ядра, все эти рассуждения выглядят немного жалко.
Стоимость миграции задачи с ядра на ядро как учитывается? А разница в цене между миграцией с ядра на его HT-партнёра и миграцией на соседнее ядро? А разница между миграцией задачи в пределах кристалла и на соседний?
А цена поиска оптимального варианта в условиях, когда ядер много?
А как быть с RT-задачами, которым все эти миграции между кешами нафиг не сдались?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Простая модель планировщика ОС