Ядро Linux продолжает расти, как по числу строк кода, так и по числу разработчиков, вносящих в него свой вклад, но еще требуется решить ряд проблем. Это был один из главных тезисов выступления разработчика ядра Linux Джонатана Корбета на проводимой им в рамках конференции LinuxCon ежегодной сессии Kernel Report.
Ядро Linux 4.2 пока находится в разработке, и его выход в свет ожидается 23 августа. Корбет отметил, что в код ядра Linux 4.2 внесли вклад 1569 разработчиков. Из них 277 разработчиков включились в это впервые в ходе цикла разработки Linux 4.2.
По словам Корбета, даже при том, что в Linux приходит все больше разработчиков, темп разработок и релизов очень высок. Он оценил, что сегодня на создание новой версии ядра Linux у сообщества в среднем уходит примерно 63 дня.
Linux 4.2 будет отличаться рядом усовершенствований, которые развивались в Linux на протяжении нескольких последних релизов. Одним из них станет появление OverlayFS, нового типа файловой системы только для чтения, полезной тем, что она позволит наслаивать поверх друг друга много контейнеров, сказал Корбет.
В сфере Linux-сетей будет улучшена производительность передачи малых пакетов, что важно в таких областях, как высокочастотные финансовые операции. Цель этих усовершенствований — сократить время и ресурсозатраты, необходимые для обработки каждого пакета данных.
Linux все время дополняется новыми драйверами. По словам Корбета, в каждом цикле разработки ядра Linux создается от 60 до 80 новых или обновленных драйверов.
Другой важной областью продолжающихся усовершенствований является технология Live Kernel Patching для «горячего» обновления ядра, впервые включенная в ядро Linux 4.0. Ее ценность заключается в том, что системный администратор может обновлять работающее ядро, не перезагружая действующую продуктивную систему. Хотя базовые элементы Live Kernel Patching уже присутствуют в ядре, продолжается работа над тем, чтобы эта технология функционировала на должном уровне слаженности и стабильности, пояснил Корбет.
Безопасность Linux, IoT и другие вопросы
В последний год безопасность была горячей темой сообщества Open Source по причине обнаружения серьезных проблем, в том числе Heartbleed и Shellshock.
«Не сомневаюсь, что из-за упущений в безопасности кода Linux может открыться целый ряд неприятных сюрпризов», — сказал Корбет.
Он отметил, что сегодня в ядре Linux присутствует более трех миллионов строк кода, которые в последнее десятилетие разработчики оставляли нетронутыми, и что уязвимость Shellshock была дефектом в коде двадцатилетней давности, которому долго не уделялось внимание.
Другим предметом озабоченности Корбета является проблема Unix 2038 — Linux-эквивалент ошибки Y2K, которая без своевременного исправления могла бы вызвать в 2000 г. глобальный хаос. Проблема 2038 связана с ошибкой, которая может в 2038 г. отключить Linux- и Unix-системы. Хотя, говорит Корбет, до этого срока остается 23 года, в настоящее время развертываются системы, которые будут продолжать использоваться в 2038 г.
Хотя в Linux уже началась предварительная работа по исправлению ошибки 2038, гораздо больше еще предстоит сделать. «Ошибку пора исправлять сейчас, а не в панике через 20 лет, когда мы все начнем уходить на пенсию», — сказал Корбет.
Еще одной сферой интереса Корбета в Linux является Интернет вещей (IoT). Сегодня Linux служит основной встраиваемой ОС для IoT, но нет гарантий, что так будет всегда. Корбет озабочен тем, что рост ядра Linux делает его слишком громоздким в плане потребления оперативной памяти будущих IoT-устройств.
По словам Корбета, Linux-проект сегодня работает над минимизацией размера ядра Linux, и важно, что инициатива получает должную поддержку.
«Или Linux будет подходить для IoT, или на смену ему придет нечто другое, которое, возможно, не будет столь же свободным и открытым как Linux, — сказал Корбет. — Мы не можем рассчитывать на неизменное доминирование Linux в IoT. Мы должны это заслужить. Нам необходимо обращать внимание на факторы, приводящие к разрастанию ядра».