LINUX.ORG.RU

Новости «Ядро Linux»

Активные теги:

 ,

Вышел cgroups v2

 , , ,

Группа Ядро Linux

Инженер Facebook Tejun Heo объявил о выходе cgroups v2. Полностью переделанная версия механизма cgroups уже доступна в mainline и будет включена в релиз Linux 4.5.

cgroups v2 сфокусирован на предоставлении единого, универсального и продуманного интерфейса (в то время как v1 очень беспорядочен и непоследователен). В частности, в v2 есть только одна унифицированная иерархия, per-process. Все контроллеры теперь жестко иерархические и ведут себя стандартизированным образом. Работающие, четко определенные soft limits для котроллера памяти, теперь не надо полагаться на тюнинг OOM killer'а. Работающий resource control для writeback IO.

Механизм ядра cgroups широко используется такими важными и популярными инструментами, как Docker, Hadoop, Kubernetes, LXC, Mesos и CoreOS. cgroups v2 уже обкатан в продакшене в Фейсбуке, хотя в ближайшем будущем ожидается несколько больших интересных нововведений, которые стали возможны благодаря редизайну.

>>> Пост в FB (facebook.com)

val-amart
()

Релиз Linux 4.3

 ,

Группа Ядро Linux

После двух месяцев разработки представлена новая версия ядра Linux.
Из всех изменений большая часть (48%) связана с драйверами устройств, 18% связаны со специфичным для аппаратных архитектур кодом, 11% относятся к сетевому стеку, 4% затрагивают внутренние подсистемы ядра и 3% — файловые системы.

( Основные изменения )

>>> Подробности (phoronix.com)

>>> Подробности (lkml.org)

sudopacman
()

Фонд СПО опубликовал Linux-libre 4.3 — полностью свободную версию ядра Linux

 , ,

Группа Ядро Linux

Латиноамериканский Фонд СПО выпустил полностью очищенный от проприетарных компонентов вариант ядра Linux версии 4.3. Из ядра полностью исключены все несвободные компоненты, а также убрана документация к ним.
Выявление и удаление бинарных компонентов происходит при помощи shell-скрипта deblob. А ядро, пропатченное таким образом, по умолчанию используется в полностью свободных дистрибутивах, соответствующих требованиям Фонда СПО, таких как Dragora GNU/Linux, Trisquel, Guix и др (gnu.org). Также пакет linux-libre доступен в репозитории AUR для Arch Linux.

>>> Подробности (gnu.org)

sudopacman
()

Опубликован исходный код фаззера syzkaller, а также найденные им уязвимости

 ,

Группа Ядро Linux

Дмитрий Вьюков из Google с помощью фаззера syzkaller нашел примеры последовательностей системных вызовов, способных вызвать проблемы в ядре (неубиваемый зависший процесс или oops). Фаззер основан на использовании информации о покрытии кода ядра автоматически генерируемыми тестовыми программами. Для работы необходимо наличие в конфигурации ядра детекторов плохого поведения: KASAN, KTSAN (доступны в виде CONFIG-опций при сборке ядра) или KUBSAN (доступен в виде патча).

Примеры найденных уязвимостей опубликованы в LKML (пока в количестве 6 штук, список растет).

>>> Подробности (github.com)

AEP
()
: Состоялся релиз ядра Linux 4.2.2 (108 комментариев)

Вышло ядро Linux 4.2

 ,

Группа Ядро Linux

30-го августа, после чуть более двух месяцев разработки и восьми кандидатов в релизы вышла новая версия ядра Linux 4.2. В ней представлены множественные изменения, основные из которых выделены ниже.

( читать дальше... )

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

>>> Скачать архив с исходным кодом

>>> Скачать патч на ядро 4.1

>>> Официальный анонс (gmane.org)

post-factum
()

Ядру Linux исполнилось 24 года

 , ,

Группа Ядро Linux

Ядро Linux отмечает свой 24 день рождения. 25 августа 1991 года, после 5 месяцев разработки, 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тыс. строк кода. Современное ядро Linux насчитывает более 19 млн строк кода. По данным исследования, проведенного по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта аналогичного современному ядру Linux составила бы более миллиарда долларов.

Разработка первых версий ядра велась очень интересно, и ещё тогда ею занимался один лишь Линус Торвальдс. Вот что он пишет в своей автобиграфии по этому поводу:

В те времена я загружался в Linux, но использовал Minix как основную среду разработки. Под Linux я в основном получал с университетского компьютера почту и новости с помощью своей программы эмуляции терминала. Поскольку университетская машина была постоянно занята, я написал программу автодозвона. Но в декабре я по ошибке позвонил вместо модема на винчестер. Вместо параметра auto dial /dev/ttyl (последовательный интерфейс) я указал /dev/hdal (винчестер). В итоге я нечаянно попортил некоторые важные части раздела, где у меня сидела Minix. Теперь я не мог ее загружать.
Это был решающий момент: можно было переустановить Minix или принять вызов и объявить, что Linux может полностью ее заменить. Я написал программы для компиляции Linux внутри нее самой и каждый раз, когда мне требовалась Minix, просто добавлял в Linux нужную функцию. Это большой шаг вперед, когда отказываешься от исходной базовой среды и переходишь на самообеспечение. Поэтому в конце ноября я выпустил версию 0.10. А еще через несколько недель – 0.11.

Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя Linux ядро получило с легкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на своем FTP-сервере, назвав директорию с архивом не «freax» как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

>>> Подробнее об истории развития (opennet.ru)

kalterfive
()

Linux-libre 4.1

 , , ,

Группа Ядро Linux

Спустя несколько часов после выхода Linux 4.1, латиноамериканское подразделение Фонда Свободного ПО (FSFLA) представило Linux-libre 4.1 — новую версию полностью очищенного от проприетарных компонентов (и документации к ним) ядра Linux, по умолчанию использующегося в различных дистрибутивах GNU/Linux, таких как Trisquel, Guix и LibreWRT. Каждый выпуск Linux-libre подготавливается с помощью скрипта deblob (он разделён на 3 компонента: 1 (linuxlibre.org), 2 (linuxlibre.org), 3 (linuxlibre.org)), благодаря которому можно очистить Linux от блобов самостоятельно.

Загрузить

>>> Подробности (gmane.org)

svobodka_fighter
()

Ядро Linux 4.1

 

Группа Ядро Linux

Состоялся релиз ядра Linux 4.1, в который принято примерно 12 тысяч исправлений от более полутора тысяч разработчиков, при этом 41% всех изменений связаны с драйверами устройств. Большая часть изменений внесена сотрудниками компаний: 11,2% Intel, 9.2% - Red Hat, 3.7% - SUSE, 3.3% - Linaro, 3.3% - IBM, 3.1% - Google, 2.9% - Samsung, 2.4% - Renesas Electronics, 1.9% - Texas Instruments, 1.4% - Broadcom, 1.3% - Oracle, 1.3% - Cisco, 1.1% - ARM. Наиболее интересные улучшения:

( читать дальше... )

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()

Вышло ядро Linux 4.0

 ,

Группа Ядро Linux

Вышло ядро Linux версии 4.0, под кодовым именем «Hurr durr I’m a sheep». Linux 4.0 является релизом с небольшим количеством нововведений, которые, в основном, касаются улучшения поддержки нового оборудования, улучшения драйверов, оптимизации производительности и исправления различных ошибок.

Но самое главное нововведение — это поддержка технологии Live Kernel Patching, которая позволяет устанавливать обновления ядра без перезагрузки.

( читать дальше... )

Новость на opennet

>>> Источник новости (omgubuntu.co.uk)

fallout4all
()

Boston Dynamics делает форк ядра Linux

 ,

Группа Ядро Linux

Boston Dynamics, дочерняя компания Google, специализирующаяся на робототехнике, создает ответвление ядра Linux ориентированное на быстродействующий искусственный интеллект. Ядро будет оптимизировано для создания интегрированных нейросистем для использования в военной робототехнике, авиации, ракетном вооружении. Нумерация релизов ядра изменена на месяц.дата.год (Linux 4.1.15).

>>> Подробности (bostondynamics.com)

steemandlinux
()

Представлен первый кандидат в релизы ядра Linux Kernel 4.0

 ,

Группа Ядро Linux

Линус Торвальдс не стал продолжать нумерацию 3.x, и выпустил первый кандидат в релизы ядра Linux Kernel 4.0, вместо ожидаемого выпуска 3.20. Смене нумерации способствовали результаты голосования, в котором приняло участие почти 30 тысяч представителей сообщества, из которых 56% посчитали, что настало время выпуска версии 4.0. Переход к нумерации 4.x является формальным шагом, обусловленным лишь эстетическими соображениями. В 2013 году рассматривалась идея использования смены первого номера в версии как дополнительного стабилизирующего этапа (предлагалось включить в ядро 4.0 только исправления ошибок, без функциональных изменений и новшеств), но данная идея была отвергнута. С точки зрения функциональности, выпуск 4.0 не содержит кардинальных изменений или нарушений совместимости и не выделяется среди остальных выпусков, плавно продолжая развитие текущей кодовой базы. Прошлая смена нумерации была произведена в 2011 году, когда в ветке 2.6.x накопилось 39 релизов. На подготовку 40 выпусков в ветке 2.6.x было потрачено 10 лет, что по мнению Линуса слишком много, поэтому наращивание нумерации ветки 3.x решено прекратить после 20 выпусков. Весомым аргументом в пользу ядра 4.0 также стало желание как можно скорее увидеть выпуск 4.1.15 - это номер версии ядра Linux, показанный в фильме Терминатор, при демонстрации интерфейса киборга T-800.

( Из новшеств Linux Kernel 4.0 можно отметить: )

>>> Подробности (lkml.org)

Odalist
()

Вышел патчсет pf-kernel для ядра Linux версии 3.19

 , , ,

Группа Ядро Linux

Состоялся первый выпуск десктопного патчсета pf-kernel для ядра Linux ветки 3.19.

pf-kernel — это набор патчей, которые не входят в основное ядро, но обеспечивают повышенную отзывчивость системы, предоставляют альтернативную подсистему гибернации, более быструю, нежели основная, а также уменьшают использование памяти с помощью техники объединения одинаковых страниц.

( читать дальше... )

Официальный сайт

Скачать патч (цифровая подпись, верификация)

>>> Анонс (natalenko.name)

post-factum
()

Вышло ядро Linux 3.19

 ,

Группа Ядро Linux

Линус Торвальдс представил очередной релиз ядра, в ходе разработки в ядро внесено примерно 11500 исправлений принятых от 1200 разработчиков, размер патча 38 МБ. При этом примерно 46% изменений связаны с драйверами устройств, около 19% изменений связаны с кодом для различных аппаратных архитектур, 12% — с сетевым стеком, 4% — с файловыми системами и примерно 4% — c внутренними подсистемами ядра.

( читать дальше... )

>>> Подробности (на английском языке) (iu.edu)

mbivanyuk
()

Ядро Linux проверено статическим анализатором PVS Studio

 , , , ,

Группа Ядро Linux

Исходный код ядра Linux (3.18.1) был проверен проприетарным статическим анализатором PVS Studio, разработанным в Туле. Анализатор нашёл ряд ошибок и крайне подозрительных участков кода. Полный текст статьи можно найти на сайте компании или на habrahabr.ru.

PVS-Studio ориентирован только на Windows, поэтому для проверки исходного кода ядра Linux была написана утилита на С++, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. По результатам проверки были выбраны и подробно описаны некоторые интересные сообщения.

>>> Результаты проверки ядра Linux (3.18.1) анализатором PVS-Studio (viva64.com)

Andrey_Karpov_2009
()
: BLD для ядра 3.18 (30 комментариев)

Первый твикер для Linux

 , tweaker, твикер,

Группа Ядро Linux

Польский разработчик NetBit предлагает набор патчей eXt73, улучшающих производительность множества подсистем ядра Linux,, включая графическую. Приведённые в статье графики Phoronix Test Suite 5.4.0 показывают заметное превосходство патченого ядра над стоковым, местами - в 2 раза.

Патчсет распротраяняется в виде бинарного пакета, получить который можно за 50 злотых (это пятнадцать долларов или тысяча рублей). На гитхабе разработчика можно найти бесплатные патчи из патчсета для ознакомления с его эффективностью, существует репозиторий для deb-дистрибутивов:

sudo add-apt-repository ppa:netext/netext73

sudo apt-get update && sudo apt-get install netext73

К патчсету также прилагается твикер на Qt4.

>>> Подробности (phoronix.com)

anonymous
()

Релиз ядра Linux 3.18

 ,

Группа Ядро Linux

Линус Торвальдс объявил о выходе ядра Linux 3.18, основные новшества:

  • В ядро интегрирована файловая система OverlayFS, разработанная SUSE и позволяющая создать виртуальную многослойную файловую систему, поверх доступной только на чтение основы.
  • Для сервера NFS появилась поддержка операции SEEK.
  • В файловую систему F2FS добавлена поддержка атомарных операций записи, позволяющих рассматривать успешное или сбойное завершение серии операций как единое целое.
  • Для Btrfs улучшен код восстановления повреждённых RAID-массивов и перестроения RAID.
  • Появилась сетевая подсистема FOU (Foo-over-UDP) для организации тунеллирования различных IP-протоколов поверх UDP.
  • Добавлена поддержка алгоритма контроля перегрузки TCP DCTCP (Data Center TCP).
  • Внесён ряд оптимизаций в сетевую подсистему, направленных на увеличение производительности пакетной передачи данных.
  • Появилась поддержка протокола Geneve (Generic Network Virtualization Encapsulation), универсального протокола инкапсуляции для виртуализированных сетей.
  • Добавлен новый системный вызов bpf(), предоставляющий доступ к возможностям универсальной виртуальной BPF-машины внутри ядра.
  • Удалось добиться существенного сокращения времени перехода в спящий режим для систем с большим числом процессоров за счёт избавления от задержки в 100ms для каждого CPU перед его остановкой.
  • В системный вызов prctl() добавлена новая операция PR_SET_MM_MAP, позволяющая выставить основные параметры раскладки адресного пространства процесса, в том числе указать где разместить области с кодом и данными, где находится стек, определить точки останова.
  • Включена подсистема RCU tasks, позволяющая использовать механизм синхронизации RCU (Read-copy-update) для защиты целостности структур данных.
  • Внесён ряд изменений, направленных на обеспечения сборки ядра при помощи компилятора Clang. В частности, осуществлена замена массивов переменной длины в структурах данных (VLAIS, Variable Length Array In Struct) на созданный при помощи макроса SHASH_DESC_ON_STACK() эквивалент, совместимый со спецификацией C99 и поддерживаемый в Clang.
  • Включены в ядро некоторые патчи, подготовленные в рамках инициативы по обеспечению сборки как можно более компактного ядра Linux, занимающего минимальный размер. Добавлена возможность исключения из сборки системных вызовов madvise() и fadvise(), а также кода разбора флагов с описанием возможностей процессора.
  • Добавлена штатная поддержка установки модулей ядра в сжатом виде.
  • Был добавлен драйвер «pvSCSI» (Paravirtualized SCSI), позволяющая организовать работу гостевых систем, работающих под управлением гипервизора Xen, с привязанными к ним SCSI-устройствами.
  • В код для архитектуры ARM64 адаптирован новый JIT-компилятор BPF (eBPF).
  • Архитектура SPARC64 переведена на четырёхуровневые таблицы страниц памяти, что значительно увеличило размер адресуемой памяти.
  • Для DRM-драйвера Nouveau добавлена поддержка вывода звука через порт DisplayPort.
  • В DRM-драйвер Radeon для старых карт R600 добавлена поддержка UVD (Unified Video Decoder) для ускорения декодирования видео.
  • В DRM-драйвере Intel реализована поддержка кэширования значений EDID и внесена порция накопившихся улучшений.
  • Добавлена поддержка:
    • Новых SoC: Hisilicon HiP04 Cortex A15, Amlogic Meson6 (8726MX), Renesas R-Car E2 (R8A77940), Broadcom BCM63xx DSL, Atmel SAMA5D4, Cavium Inc. Thunder;
    • Звуковых карт Freescale, добавлены кодеки для Everest ES8328, Freescale ES8328 и Cirrus Logic CS35L32;
    • Ethernet-контроллеров Qualcomm Atheros QCA7000 и Ethernet-коммутаторов Broadcom Starfighter 2, Intel FM10000 и Marvell 88E6171;

Более полная новость на opennet.ru

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()

Грег Кроа-Хартман ответил на вопросы пользователей Reddit

 , , ,

Группа Ядро Linux

Один из основных разработчиков ядра Linux Грег Кроа-Хартман (Greg Kroah-Hartman), мейнтейнер стабильной ветки, автор многих драйверов и целых подсистем, в числе которых debugfs, USB, kref, kobject и sysfs, провёл сессию ответов на вопросы (Ask Me Anything) на Reddit.com.

Предлагаем самые интересные факты из ответов Грега.

  • Грег хорошо относится к Android и systemd. Он даже сам внёс в ядро ряд патчей для совместимости с systemd.
  • У него нет определённого мнения о Wayland, но он уверен, что X11 — это отнюдь не главная проблема Linux на десктопе.
  • Грег изучал языки Rust и Go. Go ему нравится больше, он активно на нём пишет. На вопрос о том, поддерживает ли язык C принципы DRY и loose coupling, а также о том, как он относится к C11, он ответил, что не знает, что такое DRY и loose coupling и что нового появилось в C11.
  • Самым главным навыком в разработке ядра он считает умение читать огромное количество электронных писем, поступающих в рассылку разработчиков ядра каждый день. Вообще работа мейнтейнера — это как работа редактора в газете, самое главное — общаться с людьми и выбирать хорошие патчи, а писать код самому — это уже второстепенное занятие.
  • На вопрос о том, не планируют ли разработчики ядра перейти с общения по e-mail на активное использование Github, Gerrit и Gitorious, Грег ответил, что это невозможно: эти инструменты просто не справятся с нужным объёмом работы. Наиболее популярные проекты на Github уже сталкиваются с проблемами, а ядро Linux, насколько известно Грегу, — самый большой в мире проект по числу людей, работающих совместно (около 3400 в прошлом году), и по количеству патчей в единицу времени (для ядра 3.16 — в среднем 9,5 патчей в час, 24 часа в день). Даже над ядром Windows работает гораздо меньше программистов.
  • До того, как Грег начал работать над ядром Linux, его работа была связана со встроенными устройствами. Ему приходилось в том числе писать драйверы под разные операционные системы для работы с железом, прошитым им самим или его коллегами, в том числе и под Windows. Он отмечает, что писать драйверы под Linux настолько проще, чем под Windows, что «даже не смешно».
  • На вопрос о том, какие 5 самых главных тем надо рассматривать на курсах об устройстве ОС, он ответил: «драйверы, драйверы, драйверы, драйверы и драйверы».
  • Когда Грега спросили, знает ли он, что если погуглить его имя, на первой же картинке он показывает неприличный жест. Грег сказал, что знает: над ним его дети по этому поводу смеются.
  • А ещё Грег любит механические клавиатуры и пользуется двумя Cherry Blue.

>>> Вопросы и ответы на Reddit (reddit.com)

proud_anon
()

Релиз ядра Linux 3.17

 

Группа Ядро Linux

Состоялся релиз ядра Linux 3.17, среди наиболее важных улучшений и изменений:

  • Включена поддержка техники маппинга памяти memfd, суть которого заключается в идентификации области памяти через файловый дескриптор, который может передаваться между процессами. Это позволяет после выделения памяти обращаться к ней по файловому дескриптору, то есть фактически как с файлом.
  • Добавлена техника запечатывания файла (file sealing), позволяющая ограничить операции, которые могут выполняться над файлом. Например можно запретить на уровне файлового дескриптора изменение содержимого файла.
  • Теперь по умолчанию включена технология Render Nodes, предназначенная для разделения монолитных устройств /dev/dri/card{num} на две категории. Первая категория Rendering Nodes (/dev/dri/renderD{num}) отвечает за аппаратное ускорение рендеринга и обсчет вычислительных заданий GPGPU. Вторая ModeSetting Nodes (/dev/dri/modeset{num}) обеспечивает переключение видеорежимов и управление экраном. Это позволяет более гибко управлять правами доступа и предоставляет возможность выполнения вычислений на GPU или рендеринга без вывода на экран и без привязки к активному дисплею.
  • Представлена реализация API DMA-BUF, позволяющего организовать совместное использования буферов драйверами и различными подсистемами, а также синхронизировать работу устройств (cross-device synchronization). Теперь она доступна для всех модулей ядра.
  • Для утилиты perf добавлена возможность трассировки обращений к невыделенным страницам памяти (page-fault) и генерации связанной с такими обращениями статистики.
  • При использовании файловой системы XFS теперь необходима сборка ядра с 64-разрядным числом секторов.
  • Добавлена начальная поддержка Multiqueue SCSI, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей.
  • Добавлен системный вызов kexec_file_load(), позволяющий выполнить проверку по цифровой подписи для нового ядра, перед его запуском с использованием механизма kexec. Ранее функцию загрузки нового ядра из уже запущенного ядра Linux (kexec) приходилось отключать при использовании UEFI Secure Boot, так как невозможно было гарантировать сохранение цепочки доверия.
  • Для криптографической подсистемы добавлена поддержка детерминированного генератора псевдослучайных чисел, соответствующего спецификации NIST SP800-90A.
  • В подсистему LSM (linux security module) добавлен новый hook kernel_fw_from_file(), который можно использовать для проверки целостности бинарных прошивок перед их загрузкой ядром.
  • Полностью прекращена поддержка архитектур POWER3 и rs64;
  • Также прекращена поддержка систем Samsung S5P6440, S5P6450 и S5PC100.
  • В код для архитектуры ARM64 добавлена поддержка четырёхуровневых таблиц страниц памяти, что позволило значительно расширить размер адресуемой виртуальной памяти.
  • Гипервизор KVM адаптирован для big-endian ARM-систем.
  • Для DRM-драйвера Nouveau устранены проблемы с использованием GPU Kepler, добавлена поддержка режима Zero Bandwidth Clear для GPU Fermi, Kepler и Maxwell.
  • Поддержка чипов «Hawaii» (Radeon R9 290) добавлена в DRM-драйвер Radeon.
  • Проведена подготовка к поддержке DRM-драйвером Intel Atom SoC Cherry Trail, добавлена поддержка Universal plane.

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()