418ImATeapot писал(а):
Я сейчас написал планировщик. Написал и задумался.
По-первых - а программам что-нибудь останется? Там не самые быстрые команды. Скажите пожалуйста, сколько у вас планировщик весит?
Время переключения должно быть несравнимо меньше минимального кванта времени непрерывной работы потока. Размер кванта также может быть увязан с производительностью процессора. При малейшей возможности нужно обходить выполнение тяжеловесных операций, например, при поток-ориентированном планировании перегружать каталог страниц только, в том случае, если активируется поток другого процесса, пытаться группировать потоки одного процесса и т.п. Основными элементами планирования являются операции переключения на следующий готовый к выполнению поток, вывод из ожидания, а также динамическое изменение приоритета выполнения (также способное привести к автоматическому переключению контекста). Даже при сложном строении очереди выполнения (например, у меня 4-уровневая очередь выполнения в соответствии с 4 приоритетными классами) и других сопутствующих очередей (прежде всего очередей ожидания), на мой взгляд, это не слишком объемные операции.
Цитата:
Во-вторых - можно его сейчас отладить? Можно ли в QEMU запихать по нужному адресу "сырой" бинарник и вручную перевести в PM? Или надо написать также загрузчик?
GRUB?