@sir.Geronis
1 день назад
@Ilnarildarovuch последний во многом хуже!
Ответить
@Ilnarildarovuch
1 день назад
@sir.Geronis докажи
Ответить
@sir.Geronis
15 часов назад
@Ilnarildarovuch ну ок
Для начала уточним: в контексте производительности ОС мы говорим не про аналог утилиты Cron (которая запускает скрипты по расписанию), а про планировщик потоков центрального процессора в ядре ОС (CPU Task/Thread Scheduler).
Проклятие «справедливости» (CFS)
В ядре Linux долгие годы трудился планировщик CFS (Completely Fair Scheduler). Ключевое слово — Fair (справедливый). Он маниакально пытается раздать всем потокам равное количество времени процессора. Это идеально для веб-сервера, где 1000 запросов должны обработаться равномерно.
Но для десктопа это ад. Если ты запустишь архивацию или компиляцию на все ядра, у тебя начнет дергаться курсор мыши и лагать интерфейс. Почему? Потому что «справедливому» линуксу плевать, что это твоя мышка, он дает ей столько же времени, сколько и фоновому процессу.
В Windows планировщик асимметричный (Preemptive). Он работает по принципу Foreground Boost: система динамически накидывает огромный приоритет и увеличивает квант времени тому окну, с которым ты сейчас взаимодействуешь. Поэтому Windows даже при 100% загрузке процессора сохраняет плавность интерфейса.
Гетерогенные процессоры (P-ядра и E-ядра)
Начиная с 12-го поколения Intel (и свежих AMD) процессоры делятся на мощные и слабые энергоэффективные ядра. Планировщик Windows 11 работает в прямой связке с аппаратным Intel Thread Director. Винда на лету понимает, какие именно инструкции сейчас выполняет поток. Фоновый апдейт или антивирус она мгновенно пинком отправляет на E-ядра, оставляя всю мощь P-ядер для твоей игры.
Линукс же поддержку big.LITTLE рожал мучительно и долго. Из коробки ванильное ядро долгое время раскидывало задачи наугад, опираясь на программную эвристику (из-за чего игры часто улетали на слабые ядра и лагали). До уровня интеграции планировщика Win 11 с железом на десктопе Линукс добирается только сейчас.
Служба MMCSS (Мультимедиа и звук)
В Windows из коробки работает Multimedia Class Scheduler Service. Если ты играешь в тяжелую игру, и процессор забит на 100%, эта служба аппаратно резервирует ресурсы планировщика под аудио-поток и рендеринг. Твоя игра может лагать по кадрам, но звук никогда не будет заикаться или хрипеть.
А теперь вспомни, как с этим дела у Linux. Чтобы получить нормальный realtime-приоритет для звука без заиканий под нагрузкой, линуксоиды годами ковыряли cgroups, ставили кастомные ядра (PREEMPT_RT) и молились на костыли.
Зоопарк костылей доказывает проблему
Если планировщик Linux такой «лучший во многом», ответь на простой вопрос: почему геймеры и десктоп-пользователи Linux постоянно ставят кастомные модифицированные ядра (Zen, CachyOS, XanMod)? Зачем линукс-сообщество наплодило десяток альтернативных планировщиков (MuQSS, CacULE, PDS, BORE, новый EEVDF)?
Ответ прост: потому что стандартный ванильный планировщик Линуса Торвальдса под десктоп не заточен. Его постоянно приходится допиливать сторонними патчами, чтобы банально мышка не лагала во время игры.
Для серверов, суперкомпьютеров и числодробилок планировщик Linux — шедевр архитектуры. Для десктопа, отзывчивости интерфейса и игр — планировщик Windows NT технически сложнее, умнее работает с приоритетами и гораздо лучше оптимизирован «из коробки». #Linux #цитата #Windows #vs