Интересная заметка, но можно добавить несколько замечаний (:
- "таск" = "задача"
- "тред" = "нить"
- "сервер/work station" = "сервер/рабочая станция"
Просто такой жуткий разнобой, где на русcком, где на английском (кроме аббревиатур), где транслитом. Еще можно новое предложение (обычно после точки) начинать с прописной буквы, но это уже придирки ;)
Интересно, переводите ещё, только, может быть, не стоит плодить журналы? Есть же 'операционные системы' уже.
Кстати, вопрос: а почему именно низкоуровневый планировщик в ядре должен решать, как балансировать нагрузку? Не проще ли просто предоставить интерфейс для перетаскивания задач процессу пользователя, который может быть специализирован уже под конкретную миссию системы?
Это идея кооперативной (невытесняющей) многозадачности, или я вас неправильно понял? Например, в Windows 3.11 программы должны были вызывать yield() для передачи управления другой задаче.
Или вы говорите о планировщике, находящемся не в ядре например, как в микро(нано?)ядерных системах?
Читать интересно. Только вот цитаты белым на черном фоне мне не нравятся. Присоединяюсь к этому блогу. Только вот тематика блога какая? Исключительно "системное" программирования под никс?
если wait_runtime < 0, то, я полагаю, процесс будет сидеть на нижних уровнях, если больше 0, то ближе к вершине.
Красно-чёрное дерево всё-таки является деревом поиска. Таким образом ключ "горизонтальный", то есть вершины с меньшими значениями слева, с большими - справа (или наоборот - кому как нравится). Это относится к изображению дерева с вершиной сверху. Если слева, всё наоборот. Главное, что от глубины вершины ничего не зависит.
CFS vs O(1) scheduler