Если вы пользуетесь операционными системами со времен Intel 8086, 80386, 80486, Pentium I, Pentium II, Pentium III и других, вы, возможно, помните следующее: когда вы покупали новый компьютер с новым процессором, это был огромный скачок в производительности.
Поверьте, в те дни это было похоже на переход от медленной машины к реактивному самолету-истребителю, летящему со скоростью, в два раза превышающей скорость звука. Вы сразу же почувствуете силу, на которую потратили деньги. Разница была просто невероятной.
В настоящее время вы едва можете почувствовать разницу, если перейдете с одного поколения процессоров на другое. Если бы вы сказали мне в 2000 году, что центральный процессор будет самым узким местом в будущих компьютерах, по сути, «компонентом с самой медленной эволюцией», я бы сказал, что это невозможно. И я уверен, что многие люди сказали бы то же самое.
Хранилище теперь работает невероятно быстро и становится все быстрее. Видеокарты невероятно быстрые и становятся быстрее. Но вот уже много лет у процессора есть серьезные препятствия. Конечно, у нас есть миллион процессорных ядер. Но это ускоряет работу, которую можно делать параллельно. И все же есть вещи, которые нельзя распределить по нескольким ядрам ЦП. Поэтому мы просто ждем, пока одно ядро завершит какую-то работу, а оно едва успевает за своей «слабой» частотой 4–5 ГГц
Короче говоря, процессоры на самом деле очень медленны для сегодняшних задач. Так какое же это имеет отношение к Linux и Windows? Что ж, теперь давайте перейдем к другой области: серверам.
Миллионы и миллионы серверов должны обрабатывать миллиарды и миллиарды запросов, чтобы у нас были YouTube, WhatsApp, Netflix и все другие сервисы, которые мы любим (или любим ненавидеть).
Итак, вы можете сказать в этот момент: «Хорошо, я все еще не понимаю. Вы упомянули процессоры, теперь вы упомянули серверы. Куда это идет?»
Ну, большинство серверов работают под управлением Linux. А поскольку процессоры довольно медленные, людям, управляющим этими серверами, приходится выжимать из них всю производительность. Один из способов добиться большей производительности процессоров — оптимизировать программное обеспечение. И одна из областей, где все постоянно оптимизируется, — это само ядро Linux.
Проще говоря: если вы можете каким-то образом изменить ядро Linux, чтобы оно обрабатывало что-то на сервере на 5% быстрее, это здорово! Если в старом ядре какая-то программа, которую вы запускали, могла обрабатывать 100 миллионов запросов за одну секунду, то теперь, с этим улучшением, она может обрабатывать 105 миллионов запросов. Это еще 5 миллионов. Это много.
Поэтому компании заплатили много денег множеству людей, чтобы улучшить использование процессора ядром Linux. И он оптимизируется день и ночь, постоянно. Умные люди всегда придумывают новые идеи о том, как добиться все большей производительности от наших медленных процессоров. И это видно.
А как насчет Windows? Ну, у Windows тоже есть ядро. И это тоже оптимизировано. Я слышал хорошие отзывы о том, что ядро Windows 11 сейчас использует некоторые процессоры гораздо лучше. Но дело в том, что каждый может предложить улучшения ядра Linux . Это открытый исходный код, поэтому, если у вас есть отличная идея, вы можете предложить изменения кода. И если эти изменения кода хороши и принесут большую пользу, они будут приняты в ядре Linux довольно быстро. Вы не можете сделать то же самое с Windows.
Таким образом , буквально любой человек на планете может улучшить ядро Linux . Но это не относится к Windows. Это могут сделать только сотрудники Microsoft. И даже сотрудник Microsoft не может изменить ничего, что пожелает. Оно должно пройти через руководство, должно быть принято, просто это гораздо более медленный процесс с гораздо большим количеством трений.
Такое ощущение, что Linux разрабатывают миллионы людей, и хорошие идеи всегда приветствуются. Linux открыт для изменений , он быстро развивается и достаточно гибок. Конечно, не существует миллионов людей, постоянно улучшающих Linux, но идея в том, что если есть 10 миллионов разработчиков, занимающихся другими делами, любой из них может время от времени предлагать улучшения. Так что это действительно похоже на миллионы разработчиков, даже если 99% из них лишь время от времени что-то предлагают. По-прежнему здорово иметь возможность получить хорошую идею от кого-либо из такой большой группы людей.
По сравнению с этим, Windows разрабатывается очень немногими сотрудниками Microsoft. И изменения происходят гораздо медленнее . Каждая идея, каждое изменение должно пройти через длинный список корпоративных бюрократических шагов.
В целом, такие компании, как Google, Amazon и другие, имеют сотни тысяч работающих серверов по всему миру. И в их интересах, чтобы Linux работал быстро .