Представлена стабильная версия Linux 4.16

linux pinguin

Линус Торвальдс анонсировал выход очередной версии ядра Linux. Она вобрала в себя около 13 000 фиксов от 1500 разработчиков. Основные изменения коснулись драйверов, общего взаимодействия с аппаратной частью, файловой системы и работы с сетью.

Ключевые обновления

В области безопасности и виртуализации были реализованы:

  • поддержка Siemens Jailhouse — относительно легковесного гипервизора, обеспечивающего работу нескольких независимых виртуальных машин на одном физическом сервере посредством закрепления каждой ОС за собственным ядром процессора;
  • механизм защиты от прямого копирования данных между отдельными областями ядра и пространством пользователя, предупреждающий администратора о несанкционированных операциях с вызовом usercopy;
  • усовершенствованные техники защиты от Meltdown и Spectre — в частности, добавлены коды для блокировки первого варианта атаки типа Spectre, а также организована защита процессоров с архитектурой ARM64 и S390;
  • драйверы для ускорения работы гостевых систем под управлением VirtualBox (Vboxvideo для доступа к графическому процессору и Vboxguest с поддержкой обмена данными между гостевой системой и хостом).

В работе с файлами и вводом/выводом представлены:

  • перевод MultiMediaCard (обработка SD-карт) на многоуровневую систему очередей, что позволяет организовывать многопоточный доступ к данным на многоядерных процессорах;
  • поддержка заблокированных зон в планировщиках ввода/вывода для блочных устройств, позволяющая обеспечить последовательное выполнение операций записи;
  • полноценный ввод в действие механизма обратного маппинга, который помогает файловой системе XFS определять владельца любого блока на устройстве хранения;
  • поддержка экспорта Overlayfs через NFS;
  • поддержка динамического создания точек монтирования в файловой системе AFS;
  • поддержка режима SMB Direct для увеличения скорости передачи SMB-пакетов в файловой системе CIFS.

Работа с памятью и системными сервисами была улучшена благодаря:

  • добавлению учёта изменения частотных показателей процессора и параметров электрического напряжения в планировщик задач Deadline, что позволяет обеспечить оптимальную работу устройства без необходимости отключать функцию энергосбережения;
  • ограничению автоматической миграции задач между ядрами процессора в планировщике задач файловой системы CFS (теперь во время прерывания задача может быть перенесена на другое ядро только в том случае, если оно использует общий кэш с предыдущим);
  • новой функции командной строки console_msg_format, с помощью которой можно форматировать вывод функции printk();
  • новой опции, позволяющей управлять размещением кода и данных в кэше второго уровня для процессоров Intel с поддержкой технологии RDT L2 CDP.

Прочие нововведения

  • новое виртуальное устройство netdevsim для симуляции операций типа hardware-offload без необходимости в фактической поддержке со стороны оборудования;
  • второй стек для слушающих сокетов TCP;
  • поддержка 52-разрядной физической адресации в системах на базе архитектуры ARM64;
  • поддержка механизма Memory Protection Keys for Userspace для защиты доступа к страницам памяти из пользовательского пространства с изменением домена защиты, который не сопровождается изменением таблиц страниц памяти;
  • многочисленные обновления драйверов устройств, снижающие энергопотребление и увеличивающие производительность системы (также удалены устаревшие драйверы для ИК-портов LIRC).

Больше свободы

Вместе с Linux 4.16 от Линуса Торвальдса была представлена полностью свободная версия этого же ядра Linux-libre 4.16-gnu. Она отличается отсутствием закрытых прошивок и драйверов с заблокированными к изменениям участками кода.

Количество коммитов в Linux близится к миллиону. Примерно год назад мы рассказывали о самом странном из них за всю историю разработки ядра.

Источник: OpenNET

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?