LINUX.ORG.RU

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

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

 , ,

Oracle Dtrace Linux

Группа Ядро Linux

Компания Oracle озвучила планы по портированию Dtrace и Zones из Solaris в Linux

>>> Подробности

 , , , ,

Karapuz
()

Годовщина первого публичного релиза ядра Linux

Группа Ядро Linux

20 лет назад вышел Linux 0.0.1.

Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тыс. строк кода. Поддерживалась только архитектура i386, а загрузка происходила с дискеты.

>>> Скачать тарболл

 ,

Jewish_cherry
()

Хостинг git-репозитория Linux временно переехал на GitHub

Группа Ядро Linux

Линус Торвальдс (Linus Torvalds), LKML, воскресение, 4 Сентября 2011 16:27:25 UTC-7:

Прошла ещё одна неделя, и пришло время для ещё одного релиз-кандидата. Однако, master.kernel.org всё ещё не работает, и так как разработка не очень ведётся, то я решил пропустить эту неделю.

Но блин, вся суть (ну или почти вся) распределённой разработки заключается в том, что никакое место принципиально не отличается от любого другого, и так как я уже создал аккаунт на github ради divelog, почему бы не проверить, подойдёт ли оно мне, выложив туда весь мой репозиторий ядра?

Так что пока kernel.org отключён на аудит, давайте посмотрим, как будет пахать github:

https://github.com/torvalds/linux

ЗАМЕЧАНИЕ! Первое, что надо сделать, когда видите подобное заявление о любом новом публичном хостинге, это проверить, что да, его делает тот человек, о котором вы и думаете. Ну и как это сделать?

Можете выбрать любые пункты из списка:

  1. Чёрт, это ж открытый код, какая разница, кто это выложил, я просто хочу новое ядро, и хотя нет обновлений с kernel.org, мне действительно нужно исправление из нового ядра. Я скачаю его, потому что мне надо тренировать мой процессор в сборке ядра с randconfig. А ещё мне нравится жить в опасности.
  2. Да, письмо явно выглядит как от Линуса Торвальдса, и все знают, что SMTP не обманешь, так что это должен быть он.
  3. Итак, я могу вытащить дерево исходников, и знаю, что у Линуса всегда тэги подписаны, и могу проверить, что тэг 3.1-rc5 подписан его известным публичным ключом GPG, который я где-то достал. Если всё сойдётся, то для меня неважно, кто анонсировал релиз, я просто верю, что дерево подписал Линус.
  4. Я просто подожду, пока kernel.org прочухается.

Что вам больше подходит.

Ещё одно замечание — если вы просто сделаете

git pull https://github.com/torvalds/linux.git
то тэги вы не получите, так как это не ваша ветка. Сделайте также:
git fetch --tags <...>
что бы получить не только изменения в дереве, но и тэги.

Проект на github

>>> Подробности

 , , ,

anonymfus
()

RHEL6 OpenVZ-ядро объявлено стабильным

Группа Ядро Linux

После примерно года разработки команда OpenVZ объявила о стабилизации ядер OpenVZ, базирующихся на коде Linux Kernel из Red Hat Enterprise Linux 6. Это значит, что функциональность реализована полностью, ликвидированы все известные критические ошибки, ядро рекомендуется для использования в продакшн.

Благодаря переходу с ядер из RHEL5, использовавшихся в предыдущей ветке, на ядра из RHEL6 обеспечена лучшая производительность и масштабируемость, особенно на многопроцессорных платформах с 16-ю и более CPU, более полная поддержка аппаратуры. В OpenVZ реализовано улучшенное управление ресурсами, в частности режим vSwap (вместо задания 20 лимитов для контейнера достаточно двух — размеров RAM и swap).

Одновременно с этим прекращается разработка и поддержка OpenVZ в ядрах 2.6.27 и 2.6.32 (это не касается дистрибутивных ядер в Debian и Ubuntu).

Также в этой заметке обобщены недавние обсуждения OpenVZ на ЛОРе, в доступной форме объясняя взаимодействие OpenVZ, LXC и ванильного ядра.

>>> Подробности

 , , , , ,

ovzkir
()

Новости проекта B.A.T.M.A.N.: первые шаги «Network Coding», релиз batman-adv 2011.3.0

Группа Ядро Linux

В начале 2011 года мы нашли двоих студентов из Дании, которых заинтриговала идея изучения и реализации концепта, названного «Network Coding». Методика, нацеленная на расширение сети Wi-Fi с объединением нескольких фреймов в один, чтобы снизить количество требуемого эфирного времени. С помощью математических алгоритмов и чуть-чуть танцев с бубном, принимающие передатчики могут декорировать и распаковывать тот фрейм, который им нужен.

В этом примере ретранслятор R присылает комбинированную передачу для A и B. A и B вычисляют свои данные и вычитают из них принадлежащие не себе.

Потом, в Марте, студенты присоединились к WirelessBattleMesh в Испании и рассказали про свой проект «C.A.T.W.O.M.A.N.» (Coding Applied To Wireless On Mobile Ad-hoc Networks). Есть запись обсуждения их доклада с обсуждением механизмов и преимуществ Network Coding, что стало отправной точкой в понимании сути концепта.

Затем они продолжали работать над кодом и разработали рабочий прототип, который позволил представить, приносит ли этот концепт пользу, или нет. Следующие графики (первый, второй) иллюстрируют пропускную способность сети с и без Network Coding (синяя и зелёная линии), а также выигрыш в пропускной способности с использованием Network Coding (красная линия) в цепи из трёх роутеров при передаче данных с одного конца на другой.

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

Код batman-adv с включённым Network Coding доступен на GitHub, он может быть полезен для дальнейшего тестирования и изучения (он базируется на снапшоте, сделанном в начале 2011 года). В течение нескольких недель/месяцев мы собираемся полировать код до тех пор, пока он не будет включён в состав ядра Linux. Последнее позволит заинтересованным сторонам тестировать и развивать концепт Network Coding.

Последняя на данный момент версия batman-adv имеет номер 2011.3.0. В этой версии сломана обратная совместимость с предыдущими версиями и прекращена поддержка ядра Linux старше 2.6.29. Это вызвано значительными улучшениями роуминга для клиентов вне сети. Это один из старейших сегментов/концептов кода batman-adv. Также batman-adv наконец-то получил информирование в пространство пользователя с помощью uevent. Алгоритм маршрутизации получил незначительные улучшения, позволяющие уменьшить пинг при передаче мультимедийного потока OGM, чтобы избежать длинных маршрутов при большой нагрузке (исправлена ошибка). Были улучшены и другие компоненты программы.

>>> Подробности

 

ZenitharChampion
()
: Вышел патч pf-kernel для ядра Linux 3.0 (138 комментариев)

Представлен набор RT-патчей для ядра Linux 3.0

Группа Ядро Linux

Томас Глейкснер (Thomas Gleixner), основной разработчик и мейнтейнер RT-ветки ядра Linux, сообщил о выпуске третьей верcии набора патчей с реализацией режима реального времени (Realtime-Preempt", PREEMPT_RT или "-rt") для ядра Linux 3.0. Ядро "-rt" с реализацией жёсткого режима реального времени используется в real-time редакциях промышленных Linux дистрибутивов MontaVista, Red Hat и Novell. Это первое крупное обновление RT-Linux за последние несколько лет, знаменующее уход от ядра версии 2.6.33, которое использовалось в качестве базы для RT-ветки несколько лет подряд.

В письме, отправленном в список рассылки Linux-ядра, Томас Глейкснер отмечает существенное отличие новой версии патчей от предыдущих. Логика работы многих подсистем была кардинально переработана, код стал намного чище и проще для анализа, общий размер патчей сократился более чем в два раза. Теперь код затрагивает гораздо меньше подсистем и структур данных ядра, что, по мнению автора, позволит ускорить процесс его включения в основную ветку. 223 подготовленных в рамках проекта патча, затрагивающих 374 файла разбиты на 4 группы, из которых одна группа устраняет недоработки уже находящихся в ядре подсистем, одна группа уже отправлена для включения в состав основного ядра, одна признана готовой для отправки заявки на включение в состав ядра и одна требует доработки и проверки. Для сравнения, для ветки 2.6.33 было подготовлено 462 патча, затрагивающих 690 файлов.

Ядро с наложенными патчами было протестировано на платформах x86 и x86_64, а также на ARM, MIPS и PowerPC и, по словам Thomas Gleixner оказалось «удивительно стабильным» (amazinlgy stable). Событие знаменательно тем, что это первый случай когда RT-патчи адаптированы для последней актуальной версии Linux-ядра, ранее выпуск патчей существенно отставал, что было связано с большой трудоёмкостью процесса портирования и тестирования.

>>> Подробности

 ,

papochka
()

Linux 3.0

Группа Ядро Linux

После двух месяцев разработки представлена новая версия ядра Linux 3.0.

Из изменений следует отметить такие:

  • организационные:
    • произошла смена мажорного номера и системы нумерации в целом. Это не повлекло за собой кардинальных изменений кода, но правильным образом укрепило модель разработки, принятую для ветки 2.6;
  • в сетевой подсистеме:
    • включен JIT-компилятор для BPF (для платформы x86_64);
    • добавлена возможность посылать и принимать пакеты ICMP_ECHO непривилегированными пользователями через новый сокет IPPROTO_ICMP;
    • произведены улучшения в подсистеме Samba;
    • добавлена новая дисциплина планирования QFQ;
    • добавлена возможность изолирования соединений VPN;
    • добавлены и обновлены драйверы проводных и беспроводных сетевых устройств;
    • добавлена поддержка WoWLAN;
  • в файловых системах:
    • произведены множественные улучшения в btrfs, отдельно следует выделить автоматическую дефрагментацию (применима к небольшим файлам);
    • в ext4 добавлена поддержка информирования программами файловой системы о том, что некоторые области файлов не содержат данных;
    • в tmpfs добавлена базовая поддержка расширенных атрибутов;
    • в xfs добавлена поддержка оповещения носителей об освобождаемом месте непосредственно в момент удаления файлов;
  • в подсистеме виртуализации:
    • в Xen добавлен backend хранения данных, что позволяет использовать ванильное ядро как хост-систему без применения дополнительных патчей;
  • в архитектуре:
    • начата реорганизация дерева ARM с целью унификации;
    • выключена оптимизация по размеру по умолчанию;
    • в KVM добавлена поддержка процессоров VIA;
    • теперь ядро поддерживает 64-разрядную архитектуру Tilera;
    • реализована поддержка режима SMEP (Supervisor Mode Execution Protection) для современных процессоров Intel. При его включении ядру аппаратно запрещается исполнять код из непривилегированных страниц пространства пользователя. SMEP предохраняет ядро от некоторых видов атак и эксплоитов.
    • функция подсистемы управления памятью mmu_gather теперь может вытесняться, что значительно улучшило масштабируемость ядра;
  • в видеоподсистеме:
  • другое:
    • добавлена поддержка драйвера isci для контроллера SAS в сервере Intel C600;
    • в драйвере mvsas добавлена поддержка чипов 88SE9445 и 88SE9485;
    • теперь неиспользованные порты SATA можно полностью отключать;
  • также было сделано множество других полезных и интересных изменений, перечислять которые можно очень долго.

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

Статьи, по мотивам которых подготовлена эта новость: 1, 2, 3, 4

Обзорная статья о нововведениях

Список основных изменений

Список изменений в драйверах

Патч на 2.6.39

>>> Архив исходных кодов

 ,

post-factum
()

Для ядра Linux представлен фреймворк, позволяющий управлять всеми процессорами SoC-систем

Группа Ядро Linux

Охад Бэн-Коэн (Ohad Ben-Cohen), разработчик Linux и создатель самообучаемой HIDS Korset, опубликовал в списке рассылки ядра Linux набор патчей, реализующих универсальный механизм управления работой специализированных микропроцессоров, выполняющих вспомогательные роли на современных системах на кристалле (SoC). Обычно такие процессоры управляются с помощью специализированной ОС реального времени и выполняют такую работу как цифровая обработка сигналов, ускорение обработки мультимедиа-данных или управления разными видами сенсоров, требующих немедленной реакции системы, а для их связи с центральным процессором используются специфические механизмы, разработанные производителем чипа и накладывающие ряд ограничений на программистов.

Патч, реализованный Охадом Бэн-Коэном и двумя другими программистами, фактически устраняет эти ограничения благодаря основанному на технологии VirtIO универсальному механизму обмена сообщениями между центральным процессором и остальными процессорами чипа. Протокол, получивший имя rpmsg, позволил реализовать такие возможности как OMX offloading, менеджер ресурсов и дисплейный драйвер для Netra (dm8168), который работает в ядре Linux, посылая управляющие команды микропроцессору M3 (чип TI OMAP4). Также патч включает в себя реализацию механизма remotproc, позволяющего управлять работой выбранного процессора: останавливать, перезапускать или загружать альтернативные прошивки.

В настоящее время полная поддержка технологии (включая открытый firmware) реализована для чипа TI OMAP4, используемого в популярной платформе PandaBoard (также тестировались Davinci da850-evm и hawkboard).

>>> Новость на opennet

 , , , ,

papochka
()

Релиз Native Linux KVM 2

Группа Ядро Linux

Вышла в свет вторая версия инструментария Native Linux KVM. Новый релиз предлагает пользователям поддержку SMP, стандарта Virtio для сетевых коммуникаций на основе интерфейса виртуального сетевого драйвера TAP с реализаций доступа к хосту с помощью Virtio-9p. Добавлена экспериментальная поддержка графического интерфейса с использованием SDL и VNC.

С появлением всех вышеперечисленных нововведений KVM значительно улучшил свой функционал по сравнению с первой версией. Аналогично Qemu-Kvm, Native Linux KVM предназначен для эмуляции такого оборудования или его компонентов, как графические и сетевые карты, поскольку гипервизор KVM не берет на себя эту задачу.

Разработчики официально заявляют, что намерены добавить свой продукт в директорию tools исходных кодов ядра Linux версии 3.1, планируемого к выпуску осенью следующего года. В последние несколько месяцев разработчики ядра добавили довольно много приложений пользовательского уровня, тесно взаимодействующих с ядром, например, утилиту для измерения производительности Perf, а также ряд инструментов для диагностики и тестирования системы. Таким образом, можно ожидать и появления в таком же статусе Native Lnux KVM, хотя он во многих областях еще далек от функционала Qemu-Kvm, однако может похвастаться лучшими результатами на сравнительных тестах по вводу/выводу.

>>> Подробности

 ,

ins3y3d
()
: Вышел патчсет Linux 2.6.39-pf1 (71 комментарий)

Смена нумерации версий ядра Linux состоялась

Группа Ядро Linux

Линус Торвальдс выпустил ядро версии 3.0-rc1. Отменено использование чётных/нечётных номеров для обозначения стабильности ядра, а третье число отдано команде стабилизации. Таким образом, следующий после этого релиз будет иметь номер 3.1, а стабильный — 3.0.1.

Версия 3.0 ядра Linux ничем особо не примечательна, кроме как обновлением драйверов.

>>> Официальный анонс

 ,

post-factum
()

Вышло ядро Linux 2.6.39

Группа Ядро Linux

После двух месяцев разработки вышло новое ядро Linux версии 2.6.39.

Из нововведений следует отметить:

  • окончательно и безвозвратно удалён BKL. Соответствующего кода в ядре больше нет. Вообще нет. Весь процесс занял около трёх лет;
  • реализована обработка практически всех прерываний в отдельных потоках;
  • исправлены проблемы, возникшие после применения оптимизационных патчей, между VFS и SELinux;
  • переработана подсистема блочных устройств, что позволило снизить количество блокировок и очистить код;
  • добавлена поддержка паравиртуализированных сетевых устройств Xen;
  • внесены изменения в планировщик процессов, исправляющие проблемы с виртуализацией Windows;
  • добавлена поддержка ipset, что позволяет более эффективно работать со списками IP-адресов и портов;
  • произведено множество улучшений в файловых системах ext4, btrfs и xfs, направленных на увеличение быстродействия и повышение стабильности;
  • улучшена поддержка беспроводных карт Realtek, Intel, Broadcom и Ralink;
  • произведены улучшения в драйвере видеокарт Intel;
  • добавлена поддержка видеокарт семейства Cayman (AMD);
  • добавлена поддержка Z-компресии в драйвере Nouveau;
  • добавлена поддержка хабов USB 3.0;
  • добавлен драйвер мыши для Hyper-V;
  • удалены autofs3 и smbfs;
  • обновлена документация, поставляемая вместе с ядром;
  • добавлено и обновлено множество драйверов устройств;
  • внесено большое количество исправлений в другие подсистемы;
  • исправлено большое число ошибок.

Более детально прочитать о нововведениях можно здесь: часть 1, часть 2, часть 3, часть 4.

Подробный список изменений на Kernel Newbies

Загрузить тарболл исходных кодов

Загрузить патч на ядро 2.6.38

>>> Официальный анонс от Линуса Торвальдса

 ,

post-factum
()

Статус готовности CLang к сборке ядра Linux

Группа Ядро Linux

В прошлом октябре был анонсирован проект по адаптации LLVM компилятора CLang к сборке ядра Linux. С тех пор прошло более полугода, и на днях разработчики опубликовали свой отчет о проделанной работе.

В целом:

  • Удалось получить работающую сборку ядер 2.6.37 и 2.6.38 (для некоторых конфигураций)
  • KVM и Xen использовать нельзя, причем последний пока даже не компилируется
  • Компилируются примерно 90% драйверов ядра, многие работают
  • Некоторые поставляемые сторонними вендорами драйвера (Broadcom, NVIDIA) работают отлично
  • Можно использовать многопроцессорные конфигурации (правда, только на x86), однако в некоторых случаях они требуют дополнительных усилий по доработке компилируемого кода

Что не работает:

  • Ассемблер для генерации кода реального режима (директивы code16gcc), поэтому, невозможно откомпилировать код начальной загрузки (для этой цели используется gas)
  • GCC-расширения языка C (некоторые работают, некоторые нет)
  • Опции генерации и оптимизации кода: -mregparm, -fcall-saved-reg, __arch_hweight*(), -pg, атрибут no_instrument_function, -fno-optimize-sibling-calls

Несмотря на возникающие трудности, разработчики полны энтузиазма. Свой проект они назвали LLL project, что расшифровывается как LLVM Linux project.

>>> Подробности

 , , license bsd, lll, , , ,

ttnl
()

Ускорение ядра Linux с помощью графического процессора GPU

Группа Ядро Linux

Исследования Университета штата Юта, спонсированные частично компанией NVIDIA, направлены на изучение ускорения ядра Linux с использованием ускорения графического процессора GPU. Вместо того чтобы просто позволить приложениям пользователя использовать огромную силу предлагаемых современных графических процессоров, исследователи надеются ускорить части ядра Linux запустив его прямо на GPU.

>>> Подробности

 , , , , ,

Satchitananda
()

Линус Торвальдс намерен изменить название ядра Linux

Группа Ядро Linux

Создатель и главный разработчик ядра Linux Линус Торвальдс заявил о том что хочет изменить название ядра, которое именуется Linux уже многие годы и надежно закрепилось за ним. Линус объясняет это тем, что старое название ядро получило чисто случайно, благодаря имени директории на FTP сервере Анри Ленке где лежали исходные коды первых версий Linux. Когда благодаря этому имя Linux стало более широкоизвестно и получило одобрение все более растущего сообщества разработчиков Линус решил закрепить его официально. Но теперь, когда Linux уже не студенческая разработка, а состоявшаяся система, признанная как надежное решение для многих серьезных задач, он решился на то, о чем задумывался давно. В последующих версиях ядро будет именоваться как Linups.

Сам Линус поясняет это так:

Тогда еще появился символ сидящего и довольного пингвина и он пришелся мне по душе, но вот название. Мне всегда казалось, что название «Линупс» гораздо лучше отражает суть и смысл моей разработки, но поскольку «Линукс» уже стал известен и понравился многим, включая людей, которые работали над ядром наравне со мной, я решил не поднимать этот вопрос, теперь, похоже, пришло время сделать это.

Ричард Столлман, глава и основатель движения GNU в ответ на это заявил, что одобряет решения Торвальдса. Операционная система сменит свое название на GNU/Linups, а новая версия ядра Linups выйдет уже скоро и будет содержать многочисленные изменения, среди который и новое имя.

>>> Подробности

 , ,

ertgblasd
()

Поддержка B.A.T.M.A.N. в Linux 2.6.38

Группа Ядро Linux

Аббревиатура B.A.T.M.A.N. расшифровывается как «Better Approach To Mobile Adhoc Networking». Сеть Ad hoc — это децентрализованная сеть, не нуждающаяся в предварительно развернутой инфраструктуре (такой, как маршрутизаторы в проводной сети или точки доступа в традиционной беспроводной сети). Каждый узел сети принимает участие в маршрутизации, пытаясь переслать данные, предназначенные другим узлам. При этом определение того, какому узлу пересылать данные, производится динамически на основании связности сети. B.A.T.M.A.N. — это протокол маршрутизации, реализующий такую сеть. Он может быть полезен в чрезвычайных ситуациях, таких как природные бедствия или военные конфликты, а также в случае чрезмерной цензуры в сети интернет.

Поддержка протокола включена в ядро Linux 2.6.38. Подробнее о проекте можно узнать по адресу http://www.open-mesh.org.

>>> Источник

 

Manhunt
()

Linux 2.6.38

Группа Ядро Linux

Сегодня вышло ядро Linux 2.6.38. Самым заметным изменением в нём является «патч на 200 строк», который значительно повысил отзывчивость ядра.

Остальные изменения:

  • автоматическая группировка процессов (тот самый двухсотстрочник);
  • большое количество изменений, позволяющих увеличить скорость VFS на однопроцессорных и многопроцессорных системах;
  • LZO-компрессия для Btrfs, снапшоты, доступные для чтения;
  • B.A.T.M.A.N.;
  • поддержка AMD Fusion APU;
  • добавлен /proc/consoles, позволяющий просмотреть процессы, использующие /dev/console;
  • добавлено XZ-сжатие в SquashFS;
  • userspace-интерфейс для Crypto API;
  • NX-защита данных ядра, RO/NX для модулей ядра;
  • и многое другое.

Анонс

Исходный код

>>> Подробности

 ,

DoctorSinus
()

17 лет со дня релиза Linux 1.0

Группа Ядро Linux

13 марта 1994 года Линус Торвальдс обнародовал исходные коды ядра Linux версии 1.0. 176 250 строк кода были выложены на публичный FTP-сервер.

>>> Подробности

 ,

Loki29
()

Релиз стабильной версии realtime-ядра Linux 2.6.34-rt

Группа Ядро Linux

Состоялся релиз стабильной версии ядра Linux, модифицированного для использования в системах реального времени. Это ядро используется в промышленных дистрибутивах MontaVista, Red Hat и Novell.

На данный момент ядро -rt содержит около пятисот патчей, накладываемых поверх основного ядра. С момента выхода 2.6.33-rt было внесено более десяти тысяч коммитов. Интересен подход к проблеме тестирования, применённый в процессе подготовки 2.6.34-rt: все десять тысяч коммитов были разбиты на 400 групп, в среднем по 25 патчей в каждом. Далее группы поочерёдно применялись к ядру 2.6.33-rt и тестировались на предмет рассогласований с основными пятьюстами патчами.

Также заслуживает внимания факт постоянного уменьшения количества патчей в ядре -rt в силу перетекания их в основное ядро. Интеграция всех патчей проекта PREEMPT_RT, который и занимается выпуском ядер -rt, может завершиться к концу текущего года или в начале следующего. Вышеописанный метод слияния патчей потребовал всего около двух месяцев на переход от 2.6.33 к 2.6.34. Поэтому, при сохранении таких темпов работы, для интеграции патчей реального времени в ядро 2.6.38 потребуется около восьми месяцев.

>>> Подробности

 , , ,

CTAPK
()