Релиз ядра Linux 3.14. Обзор новшеств | Ofisp.org

Релиз ядра Linux 3.14. Обзор новшеств

01 апреля 201416:1

После двух месяцев разработки Линус Торвальдс выпустил ядро Linux 3.14. Среди наиболее заметных улучшений: новый класс планирования задач Deadline, блочное устройство zRAM для хранения раздела подкачки в ОЗУ в сжатом виде, поддержка режима PVH в Xen, поддержка триггеров в системе трассировки, средства для отладки блокировок в пространстве пользователя, планировщик пакетов PIE, механизм защиты KASLR (рандомизация памяти ядра), выделение из sysfs подсистемы kernfs, из Android перенесена система распределения памяти ION.

В новую версию принято более 12 тысяч исправлений от почти 1400 разработчиков, размер патча - 39 Мб (изменения затронули 10.6 тысяч файлов, добавлено 606195 строк кода, удалено 265086 строк). Около 46% всех представленных в 3.14 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 16% связано с сетевым стеком, 5% - файловыми системами и 3% c внутренними подсистемами ядра. 10.2% изменений внесено сотрудниками компании Intel, 7.3% - Red Hat, 4.4% - Linaro, 5% - Samsung, 3.3% - SUSE, 2.9% - IBM, 2.7% - Google, 2.4% - TI, 2.1% - NVIDIA, 2.0% - FOSS Outreach Program for Women, 1.8% - Huawei, 1.3% - Oracle.

Из наиболее интересных новшеств можно отметить:

  • Память и системные сервисы
    • В планировщике задач обеспечена поддержка класса SCHED_DEADLINE, реализующего алгоритм EDF (Earliest Deadline First), основанный на идее выбора задачи из очереди ожидающих процессов, наиболее близкой к истечению крайнего расчётного времени (deadline). SCHED_DEADLINE поддерживает обеспечение работы процессов, требующих выполнения операций в режиме реального времени, предоставляя для подобных задач гарантированное время выполнения, независимо от общего количества обслуживаемых процессов, и реализуя возможность резервирования пропускной способности CPU для процессов.

      Ранее доступный планировщик задач не мог обеспечить такое поведение, так как не способен гарантировать необходимое время выполнения задачи в заданном интервале времени (например, гарантировать выполнение задачи 10 мкс в интервале 100 мкс) из-за того, что переключение между задачами зависит от общего количества обслуживаемых процессов, каждый из которых может выполняться с произвольной задержкой и, таким образом, может задержать выполнение следующей задачи.

    • Снятие ярлыка экспериментальной разработки и перенос из ветки staging в основное дерево ядра подсистемы zRAM, предназначенной для хранения раздела подкачки в памяти в сжатом виде. Суть zRAM сводится к тому, что в памяти создается блочное устройство на которое производится своппинг со сжатием. В настоящее время zRAM уже активно используется в различных потребительских устройствах, в том числе в телеприставках и портативных устройствах на базе платформы Android, ChromeOS и Cyanogenmod.
    • Поддержка триггеров в подсистеме обработки событий трассировки, позволяющей отследить обращение к тем или иным функциям ядра. Триггеры дополняют ранее присутствующую возможность установки контрольных проверок (probe) средствами привязки условных команд, вызываемых при срабатывании контрольной проверки. Через данные команды можно выполнять действия, позволяющие получить дополнительные сведения, такие как включение или выключение событий трассировки или выполнение трассировки стека. Каждая команда может задаваться с использованием фильтра событий, позволяющего триггеру срабатывать только при нужных условиях. Например, выполнение "echo "stacktrace:5 if bytes_req >= 65536" > /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger" приведёт к установке триггера, выдающего трассировку стека для первых пяти запросов к kmalloc с размером больше 64 Кб.
    • В системе контрольных проверок uprobes (userspace probes), используемой для анализа поведения выполняемых в пространстве пользователя приложений, добавлена поддержка извлечения данных из стека и памяти пользовательского процесса, а также обработка таких типов аргументов, как разыменования, битовые поля, возвращаемые функцией значения и смещения в файлах. Uprobes можно использовать для определения узких мест в производительности, накапливать отладочные данные и информацию о времени выполнения разных частей приложения в полностью прозрачном режиме, никаким образом не влияя на работу отслеживаемого процесса. Запустить и остановить сбор данных можно в любой момент, без перезапуска или модификации программы.
    • Обеспечена возможность использования реализованной на уровне ядра системы lockdep для отладки функционирования блокировок в пространстве пользователя (в частности, для выявления взаимных блокировок в многопоточных программах).
    • В состав ядра принят набор патчей biovec, вносящий некоторые изменения в API блочного уровня ядра, в том числе добавляющие поддержку создания произвольных крупных запросов ввода/вывода и увеличивающих эффективность работы.
    • Добавлена возможность использования системного вызова kexec() на системах с EFI BIOS. Kexec предоставляет возможность загрузки нового экземпляра ядра из уже запущенного ядра Linux, обеспечивая вариант мягкой перезагрузки, без возвращения управления в BIOS.
    • Значительно переработано внутреннее устройство виртуальной файловой системы sysfs. В итоге, представлена новая подсистема "kernfs", на которой теперь базируется sysfs и которая
      может выступать в качестве основы для других виртуальных ФС. Например, планируется создать виртуальную ФС для управления cgroup.
    • Реализована инфраструктура компонентных подсистем ("componentized subsystems"), предназначенная для управления сложными устройствами, состоящих из нескольких взаимодействующих друг с другом более простых устройств.
    • В подсистему perf events добавлена поддержка механизма учёта энергопотребления "RAPL", используемого в процессорах Intel. Добавлена серия новых опций в утилиту perf.
    • В экспериментальную staging-ветку добавлен используемый в платформе Android механизм распределения памяти ION, нацеленный на эффективное решение проблем с фрагментацией памяти и поддерживающий предоставление совместного доступа к буферам при помощи DMABUF.
  • Сетевая подсистема
    • Добавлен новый планировщик пакетов PIE (Proportional Integral controller Enhanced), созданный в рамках инициативы по борьбе с негативным влиянием промежуточной буферизации пакетов (Bufferbloat) сетевым оборудованием. PIE позволяет поддерживать на заданном уровне среднюю величину задержек для пакетов в очереди. В процессе оценки эффективности работы PIE было выявлено, что алгоритм способен в обеспечить минимальную отзывчивость и высокий уровень утилизации пропускной способности линка при возникновении различных видов перегрузки.
    • Добавлена новая дисциплина организации работы очередей пакетов "heavy-hitter filter" (HHF qdisc), пытающаяся отделять мелкие потоки от больших и помещать большие потоки в отдельную очередь с пониженным приоритетом. Использование HHF позволяет снизить влияние интенсивных передач на критичные к задержкам виды трафика.
    • Добавлена новая возможность "TCP autocorking", позволяющая задержать передачу небольших порций данных для объединения их в более большие пакеты, что позволяет снизить нагрузку на CPU и обеспечить более эффективную пропускную способность. Для управления новой возможностью представлен sysctl tcp_autocorking. По умолчанию поддержка tcp_autocorking включена.
    • Для подсистемы BPF (Berkeley Packet Filter) представлены две новые утилиты, работающие в пространстве пользователя: отладчик и простая реализация ассемблера.
    • Добавлен новый ioctl вызов SIOCGHWTSTAMP, позволяющий приложениям получить текущую конфигурацию меток времени (timestamping), без внесения в неё изменений.
    • Улучшена реализация стека Bluetooth Low Energy: расширено число протоколов, который могут использоваться в режиме низкого энергопотребления Bluetooth, добавлена поддержка эмуляции 6LoWPAN, обеспечена обработка привязанных к соединениям каналов.
  • Дисковая подсистема, ввод/вывод и файловые системы
    • Для файловой системы Btrfs расширен объём информации, предоставляемой через sysfs, в том числе теперь можно получить данные о доступных возможностях и использовании дискового пространства. Ранее указанные данные можно было получить через ioctl(), но sysfs гораздо удобнее для использования в скриптах или из командной строки.
    • В распределённую файловую систему Ceph добавлена поддержка списков контроля доступа (ACL).
  • Виртуализация и безопасность
    • Интегрированы наработки проекта KASLR (аналог ASLR для ядра) с реализацией средств рандомизации раскладки адресного пространства ядра, которые позволили увеличить стойкость ядра к некоторым видам атак, эксплуатирующих уязвимости в ядре. KASLR уже успешно используется для повышения безопасности Chrome OS.
    • Обеспечена возможность сборки ядра с включением улучшенного режима защиты от переполнения стека "-fstack-protector-strong", который появится в GCC 4.9. Сборка в режиме "-fstack-protector-strong" позволяет обеспечить защиту от переполнения стека в большем числе функций ядра, удержав при этом связанные с дополнительной проверкой накладные расходы на приемлемом уровне.
    • В гипервизор Xen добавлена поддержка режима PVH для гостевых систем, который комбинирует элементы режимов паравиртуализации (PV) и полной виртуализации (HVM). В режиме PVH с одной стороны применяется полная виртуализация на уровне ограничения привилегированных инструкций, изоляции системных вызовов и виртуализации таблиц страниц памяти, но с другой стороны используются методы паравиртуализации для ввода/вывода, обработки прерываний, организации загрузки и взаимодействия с оборудованием. Таким образом, PVH, как и режим PV, обеспечивает высокую производительность, благодаря исключению накладных расходов на симуляцию аппаратных устройств, но использует вместо PV MMU свойственные HVM механизмы аппаратной виртуализации для обеспечения более строгой изоляции виртуальных окружений.
    • При работе на системах с архитектурой ARM добавлена поддержка обеспечения защиты от модификации и выполнения блоков text и других данных в модулях ядра, помеченных только на чтение.
  • Аппаратные архитектуры
    • Добавлена поддержка семейства многопоточных многоядерных 32-разрядных процессоров interAptiv, построенных на базе архитектуры MIPS.
    • Для архитектуры m68k обеспечена поддержка системного вызова kexec().
    • В гипервизоре Xen прекращена поддержка архитектуры ia64.
    • Для архитектуры AMD64 добавлена поддержка меток перехода (jump labels) и системы распределения памяти CMA (Contiguous Memory Allocator), которая оптимизирована на выделение больших непрерывных областей памяти с использованием техники перемещения страниц памяти.
    • Поддержка платформ Intel Clovertrail (Atom Z2760), получившей распространение на планшетных ПК под управлением Windows, и Intel Merrifield MID (Atom Z3480), ориентированной на смартфоны.
    • В коде поддержки архитектуры xtensa добавлена поддержка многопроцессорных систем.
  • Оборудование
    • Поддержка переключения видеорежимов в пространстве пользователя (UMS) в DRM-драйвере Intel i915 объявлена устаревшей и будет удалена из работающих на уровне ядра компонентов драйвера через год. Доведена до стабильного состояния поддержка графической подсистемы процессоров на базе микроархитектуры Broadwell, которая придёт на смену Haswell.
    • В DRM-модуле драйвера Nouveau добавлена поддержка GPU NVIDIA серии GK110 ( GeForce GTX 780, GTX Titan) и GK208 (GeForce 630/640).
    • В DRM-модуле драйвера Radeon добавлена поддержка динамического управления питанием (DPM) для новых чипов AMD, в драйвере RadeonSI добавлена поддержка UVD-декодеров GPU.
    • В драйвере vmwgfx, позволяющем использовать 2D/3D-акселерацию в гостевых Linux-системах, работающих под управлением продуктов виртуализации VMware, обеспечена поддержка нового виртуального GPU (SVGA2 Hardware Revision 11).
    • Добавлена поддержка беспроводных адаптеров на базе чипов RealTek RTL8821AE и Marvell 8897, Ethernet-адаптеров на базе чипов Realtek RTL8153 и Intel XL710 X710 (Virtual Function Ethernet), виртуальных InfiniBand-интерфейсов Cisco (Virtual Interface InfiniBand).
    • В Video4Linux добавлена поддержка контроллеров web-камер SoC TI OMAP4, FM-приёмников из Broadcom BCM2048, Silicon Labs Si4713 FM и Thanko Raremono, DVB-S/S2 демодуляторов Montage M88DS3103, тюнеров Montage M88TS2022 и сенсоров камеры Samsung S5K5BAF.
    • Поддержка одночиповых платформ Marvell Berlin, Energy Micro EFM32, MOXA ART, Freescale i.MX50, Hisilicon Hi36xx/Hi37xx, Snapdragon 800 MSM8974, Freescale TWR-P102x PowerPC и Motorola/Emerson MVME5100.
    • Поддержка SDHCI-контроллеров Arasan.
    • Поддержка криптографических сопроцессоров AMD (CCP) и Freescale MXS DCP.

Похожие материалы

10.06.2014
 Сегодня достаточно сложно представить человека, у которого нет ноутбука или компьютера. Последующее развитие общества увеличит роль ПК во всех областях деятельности человека.
23.07.2013
Сотрудник организации Elecontric Frontier Foundation Мика Ли (Micah Lee) заявил, что функция в ОС Android «Архивация данных» отправляет пароли от Wi-Fi и другую информацию пользователей в незашифрованном виде в компанию Google. «Так как резервное копирование и восстановление – очень полезная функция, и, как правило, включена по умолчанию, то вполне вероятно, что большинство пользователей Android синхронизируют свои данные с учетными записями от сервисов Google, - отметил Ли.
23.05.2016
Видеонаблюдение – это целая система оборудования, которая обладает довольно интересными фукнциями. Да, это наблюдение, но современные технологии позволяют сделать процесс наблюдения максимально комфортным, вплоть до мониторинга и управления по интернет.
13.05.2014
Компания Samsung Electronics готова начать поставки смартфона на базе операционной системы с открытым кодом Tizen. В качестве стартовой площадки для его запуска рассматриваются Индия и Россия. Прошлый год выдался для команды Samsung Tizen нелегким. Предполагалось, что продукты начнут поставляться до конца года, но планы пришлось менять, после того как операторы мобильной связи Orange и NTT DoCoMo отказались продавать телефоны.
07.11.2013
Компания Apple опубликовала отчет о запросах пользовательских данных властями разных стран. Отчет был обнародован 5 ноября на официальном сайте компании. Подобная информация раскрывается Apple впервые. Предоставленные компанией данные содержат статистику по запросам, поступившим в Apple со стороны спецслужб более чем 30 стран. Как говорится в отчете, запросы касались как пользовательских аккаунтов iTunes, iCloud и Game Center, так и информации об устройствах Apple. Все сведения в отчете относятся к периоду с 1 января по 30 июня 2013 года.

Оборудование:

Общие характеристики Тип: Wi-Fi точка доступа Стандарт беспроводной связи: 802.11n, частота 2.4 ГГц...
→ Оставить отзыв
Для начала давайте определим что такое IPTV и мини-роутер. Мини-роутер (маршрутизатор) – сетевое...
→ Оставить отзыв
Подключение При подключении нового роутера к сети интернет необходимо подключить кабель провайдера...
→ Оставить отзыв
Сначала – посмотрим, что такое Wi-Fi 3G роутер вообще, и чем такие решения лучше «модемов». В...
→ Оставить отзыв