Юбилейная версия ядра Linux 5.0 вышла в начале марта. Но работа над kernel 5.1 уже ведется. В этом материале мы рассмотрим ряд нововведений, которые стоит ждать в этой версии.


/ Flickr / ayu oshimi / CC BY-SA

Прекращают поддержку a.out


Linux поддерживает бинарные файлы ELF еще с первой версии ядра. Спустя 25 лет, a.out планируют перевести в разряд устаревших технологий (deprecated). Разработчики говорят, что это необходимая процедура, так как за долгое время код начал «гнить».

Линус Торвальдс отдельно подчеркнул, что ни один из существующих компиляторов не создает бинарники формата a.out, поэтому в нем уже нет смысла.

Отказ от a.out пройдет в два этапа. В Linux 5.1 будет удален код дампа памяти (core dumping code) — это примерно 500 строк. По словам Линуса, крайне маловероятно, что кому-то понадобится разобраться с легаси кодом, а у пользователей, которые до сих пор генерируют исполняемые файлы a.out, появится время перестроить бизнес-процессы.

В последующих релизах поддержка будет полностью прекращена, но только в том случае, если в сообществе не найдется человек, который возьмет на себя сопровождение формата.

Вносят изменения в патчи против Spectre


Несколько изменений внесут в патч Retpoline для защиты от атаки Spectre v2. Он использует специальную последовательность инструкций, которая блокирует механизм спекулятивного выполнения в процессоре. Разработчики планируют увеличить порог для генерации непрямых вызовов от операторов ветвления с пяти до двадцати. В некоторых случаях это позволит увеличить производительность на 20%.

Также ядро 5.1 получит новый флаг PR_SPEC_DISABLE_NOEXEC, который отключает защиту от уязвимости Spectre v4 во всех дочерних процессах, запущенных на сервере. Он связан с функцией memory disambiguation, которая разрешала внеочередное выполнение команд. По словам экспертов, флаг автоматизирует проверку на отключение патча и позволит ускорить серверы с большим числом одновременно запущенных процессов. Подробнее об этом мы писали в одном из предыдущих материалов.

Новые функции, оптимизирующие работу серверов Linux, могут сказаться на популярности этой ОС в облачной среде. Мы в 1cloud собрали статистику — наиболее популярной операционной системой в облаке среди наших клиентов остается Windows (79%). Доля Linux составляет 20%. В будущем мы ожидаем, что вторая ОС несколько отыграет позиции на рынке. Также приводим график распределения долей среди Linux-дистрибутивов (Самым популярным дистрибутивом среди наших клиентов остается Ubuntu — 45%, за ней идет CentOS с 28% и Debian с 26%.



Приведенное выше соотношение — процентовка по всем когда-либо созданным в сервисе ВМ. Если брать активные на текущий момент серверы, то соотношение радикально другое:



Добавляют аудиодрайверы (много)


В одном из тредов на Hacker News резиденты отмечали, что у Linux всегда были сложности с поддержкой железа. Но в 5.1 будет добавлено множество драйверов для аудиооборудования.

Например, появится драйвер для звуковой карты Fireface UCX, ориентированной на работу в студиях звукозаписи и концертных залах. Также добавят драйвер MediaTek BTCVSD для Bluetooth-чипа, который был предложен разработчиками из MediaTek.

Следует ожидать поддержку для Asahi Kasei Microdevices AK4497, Cirrus Logic CS4341/CS35L26 и встроенных контроллеров Google ChromeOS. Еще в списке отмечены Ingenic JZ4725B, MT8183 и MT6358, NXP MICFIL, Rockchip RK3328, контроллеры Spreadtrum DMA и многие другие.


/ Flickr / Christopher Michel / CC BY

Чего еще ждать в Linux kernel 5.1


Как пишет Phoronix, разработчики могут вернуть в Linux 5.1 возможность использовать постоянную память в качестве RAM. В частности, Optane NVDIMM (сделана по технологии 3D Xpoint) на шине DDR4 можно будет «превратить» в оперативное запоминающее устройство.

Подробнее о работе, которая ведется в этом направлении читайте в треде на LKML. Сейчас Линус ждёт разъяснений о поведении Optane от разработчиков из Intel. Только после их получения он примет решение, стоит ли включать новую функцию в ядро 5.1.

Еще можно ожидать патчей, решающих проблему 2038 года. 19 января 2038 года значение времени перестанет «влезать» в 32-битное целое со знаком. Это вызовет массовые сбои в программах. Поэтому разработчики постепенно вносят изменения в соответствующие системные вызовы — новая версия ядра не станет исключением.

Больше информации о потенциальных изменениях в коде Linux kernel можно ожидать уже в ближайшем будущем. Мы продолжим писать о них в последующих материалах.

В нашем корпоративном блоге:

Комментарии (30)


  1. VolCh
    18.03.2019 00:00
    +1

    Что-то мне кажется, что доминирование Windows в облаке связано с высокой ценой её самостоятельного владения.


    1. eri
      18.03.2019 00:59
      +1

      Мне кажется это связанно с нормальным серевером терминалов и большим количеством одинесок не совместимых с Линукс (ком объекты в 10 торговле, вторая бухгалтерия)


      1. morohon
        18.03.2019 15:02

        К примеру, у нас есть клиенты со старыми конфигурациями (БП 2.0) под centos. Вместо COM для обмена используют через обмен через папку (но это небольшие организации). Не уверен, что в типовых механизмах старых конфигураций много механизмов, работающих через COM. Или это какие-то специфические наработки?


    1. arcman
      18.03.2019 08:31
      +3

      Это скорее всего локальная особенность этого провайдера.
      В других облаках винду почти не используют.
      Вот первая попавшаяся ссылка:
      www.google.com/amp/s/fossbytes.com/ubuntu-linux-is-the-most-popular-operating-system-in-cloud/amp


      1. mapron
        18.03.2019 12:54

        ну собственно, с учетом того, что у них из названия понятно, что они занимаются 1С, другого ожидать не стоило)


        1. 1cloud Автор
          19.03.2019 16:16

          Вы заблуждаетесь.
          Мы никакого отношения к 1С не имеем))
          Мы собственно даже лицензии 1Ски не предоставляем.
          Хотя доволно много наших клиентов используют виртуальные серверы именно для хостинга 1С.


    1. 1cloud Автор
      20.03.2019 15:10

      Посмотрев на комментарие в этой ветке мы решили пересчитать статистику. Приведенное в посте соотношение — это процентовка по всем когда-либо созданным в сервисе виртуальным машинам.

      Если брать активные на текущий момент серверы, то соотношение радикально другое.
      Linux — 44%, Windows — 45%, Другое -11%.
      Пожалуй, эти цифры честнее, т.к. на них меньше сказывается спицфика сервиса на этапах его потсроения, в том числе в маркетинге.


  1. shaukote
    18.03.2019 00:48

    Подскажите, пожалуйста, несведущему: а чем заменяется ELF?


    1. eri
      18.03.2019 00:55
      +2

      elf остается, a.out убирается


      1. shaukote
        18.03.2019 01:05
        +1

        А, вот оно что. Я понял, спасибо за пояснение.
        (Был подвержен заблуждению, что a.out это просто «название по умолчанию».)


  1. Magn
    18.03.2019 08:22

    Поразительная доля windows, как обратно в нулевые заглянул.
    Ради интереса посмотрел, в Амазоне доля windows 8%. http://thecloudmarket.com/stats#/totals
    Даже в самом azure доля linux теперь больше 50%
    https://www.zdnet.com/article/linux-now-dominates-azure/
    А тут, специфика рынка или как вообще это объяснить?


    1. Vilgelm
      18.03.2019 09:35
      +1

      Судя по их сайту они бесплатно предоставляют Windows (ну или устанавливают его без лицензии). Такое есть не много у кого, поэтому люди, которым нужны Windows сервера могут останавливаться на этом хостере.


      1. 1cloud Автор
        20.03.2019 15:07

        Вы правы.
        Мы действительно не берем дополнительную плату за лицензию Windows Server. И да, сервис пользуется большим спросом у малого и среднего бизнеса в том числе по этой причине.

        Посмотрев на комментарие в этой ветке мы решили пересчитать статистику. Приведенное в посте соотношение — это процентовка по всем когда-либо созданным в сервисе виртуальным машинам.

        Если брать активные на текущий момент серверы, то соотношение радикально другое.
        Linux — 44%, Windows — 45%, Другое -11%.


  1. puyol_dev2
    18.03.2019 09:51

    Еще можно ожидать патчей, решающих проблему 2038 года. 19 января 2038 года значение времени перестанет «влезать» в 32-битное целое со знаком.

    Интересно, почему этим озаботились за 20 лет до даты Х. Возможно через 20 лет уже и такой операционки, как Linux, не будет


    1. severgun
      18.03.2019 11:32

      Правильно. До deadline еще далеко. В январе 2038 займемся.


      1. puyol_dev2
        18.03.2019 11:44

        Мне просто интересна причина вносить измнения за 20 лет. 20 лет — это целое поколение людей


        1. DCNick3
          18.03.2019 11:58

          Как минимум, не во всех сферах обновление происходит достаточно быстро. Так, в low-end роутерах используется как правило очень древний линукс. Если сделать хорошо сейчас, то за 20 лет, может, и обновятся.


        1. AndreyHenneberg
          18.03.2019 12:30
          +1

          Видимо, Вы не помните, во что вылилась проблема 2000 года, которую лечить начали только в конце 1999-го. Было очень «весело», когда все судорожно чинили всё, что могли, и всё равно не успевали, потому что чинить потребовалось слишком многое. Как вставали поезда в метро и прочие радости. Ну уж нет, не хочу больше такого. Пусть они сейчас починят эту проблему (чтобы все, блин, уже перешли на беззнаковое целое), а через 20 лет начнут вводить время в 64-битном формате и уже точно в беззнаковом. Ибо нефиг, ибо нафиг. Потому что в 2106 году 32 бита закончатся окончательно даже в беззнаковом варианте и лучше решить эту проблему совсем заранее.


          1. YellowTriangleMKV
            18.03.2019 15:02

            Позвольте поинтресоваться, что за проблема была в 2000 году?



          1. Bratak
            20.03.2019 15:43

            Не знаю, какие метро у вас останавливались, и какие «прочие радости» коснулись вас, но сдается, что весь ваш комментарий исключительно ради привлечения внимания.Проблема была искусственно раздута, распил прошел успешно.И сейчас нет никакой проблемы 2038 года, ребята из linux foundation тоже не вату катают, если есть слабое место, то почему бы его не убрать?


            1. AndreyHenneberg
              20.03.2019 15:55

              С метро проблемы были не в Томске, разумеется. В Томске с метро только одна проблема: его здесь нет. А вот в Париже, если не ошибаюсь, всё-таки почти 20 лет прошло, проблемы были. И это только один пример, который я почему-то запомнил.


        1. severgun
          18.03.2019 16:40

          Чтобы это поколение людей уже имело возможность писать код с 64битным временем.


          1. puyol_dev2
            18.03.2019 20:37

            Вот это больше похоже на реальную причину такого фикса очень сильно заранее


    1. AndreyHenneberg
      18.03.2019 12:49
      -1

      А при чём здесь Linux? Речь о системе отсчёта времени с 0:00:00 1 января 1970 года, которая используется ВО ВСЕХ существующих и даже только разрабатываемых ОС. Потому что это стандарт не одной ОС, а всех. Да, даже MS Windows использует именно эту систему учёта времени. Про Mac OS X вообще молчу, потому что эта ОС — официально UNIX.


      1. AndreyHenneberg
        18.03.2019 13:18

        Если кто не понял, речь о том, что проблему надо чинить ВООБЩЕ, а не только в Linux. И начинать надо сейчас, а не через 18-19 лет, когда припечёт, но будет уже поздно.


      1. Nova_Logic
        18.03.2019 14:05

        Да, даже MS Windows использует именно эту систему учёта времени.

        насколько помню MS использует в качестве точки отсчёта 1 января 1601 года и отсчитывает от этого момента 100 наносекундные промежутки. может сейчас не везде.


        1. AndreyHenneberg
          18.03.2019 14:25
          -1

          1 января этого года (1601-01-01) является началом отсчёта для некоторых форматов хранения даты и времени в Microsoft Windows — для свойств файлов (структура FILETIME)[1], входов в Active Directory[2] и т. д.

          https://ru.wikipedia.org/wiki/1601_год

          Обратите внимание: «для некоторых форматов». То есть это не системное время, а только для для некоторых форматов. Системное, подозреваю, всё-таки в UNIX-time. И в любом случае — это сетевой стандарт, в котором время передаётся между узлами сети.


        1. puyol_dev2
          18.03.2019 20:42

          1/1/1753 год использует MS в качестве нулевой даты, в частности MS SQL сервер. В 1752 году «потеряли» 11 дней в сентябре, когда Великобритания перешла с юлианского календаря на григорианский


          1. AndreyHenneberg
            20.03.2019 15:57

            Это вообще или очередное конкретное приложение? То есть какое время использует сама ОС?