<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Блог ни о чём, заметки с тегом: Linux</title>
<link>https://gladilov.org.ru/blog/tags/linux/</link>
<description></description>
<generator>E2 (v3249; Aegea)</generator>

<item>
<title>Ядру Linux исполнилось 32 года</title>
<guid isPermaLink="false">2647</guid>
<link>https://gladilov.org.ru/blog/all/linux-32/</link>
<comments>https://gladilov.org.ru/blog/all/linux-32/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/tux.jpg" class="main_right_img" /&gt;25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 30 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США (расчёт производился, когда в ядре было 13 млн строк кода), по другим оценкам — более 3 миллиардов.&lt;/p&gt;
&lt;p&gt;&lt;b class="spoiler-controller pop-up_camper_25_08_23"&gt;Показать&lt;/b&gt;&lt;section class="spoiler pop-up_camper_25_08_23"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.&lt;/p&gt;
&lt;p&gt;Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;P. S. Несколько замечаний:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Официальным днём рождения считается 17.09.1991, об этом объявил Линус в одной из рассылок на 30-летие.&lt;/li&gt;
&lt;li&gt;Первая версия была 0.01, а не 0.0.1.&lt;/li&gt;
&lt;li&gt;Версия 0.01 не была публичная, хоть и была выложена на funet, а была отправлена только нескольким «миниксерам» (список адресатов утерян).&lt;/li&gt;
&lt;li&gt;Первая публичная версия была 0.02, представлена 05.10.1991.&lt;/li&gt;
&lt;li&gt;Размер архива в сжатом виде был не 69К, а где-то 116К. Эта путаница появилась из-за того, что на kernel.org имеется версия 0.01, но она переупакована в 1993 в tar.gz, оригинальный архив был tar.Z.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://www.opennet.ru/opennews/art.shtml?num=59658"&gt;Источник&lt;/a&gt;&lt;/font&gt;&lt;/section&gt;&lt;/p&gt;
</description>
<pubDate>Fri, 25 Aug 2023 12:51:00 +0300</pubDate>
</item>

<item>
<title>Debian GNU/Linux исполнилось 30 лет</title>
<guid isPermaLink="false">2644</guid>
<link>https://gladilov.org.ru/blog/all/happy-30th-birthday-debian/</link>
<comments>https://gladilov.org.ru/blog/all/happy-30th-birthday-debian/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/debian30.jpg" class="main_left_img" /&gt;Проект Debian празднует своё тридцатилетие. Дистрибутив был впервые &lt;a href="http://groups.google.com/group/comp.os.linux.development/msg/a32d4e2ef3bcdcc6"&gt;анонсирован&lt;/a&gt; Яном Мёрдоком (Ian Murdock) 16 августа 1993 года в списке рассылки comp.os.linux.development. Главной целью проекта была разработка дистрибутива, развиваемого в соответствии с духом полной открытости, свойственной Linux и GNU, а также стремление к техническому совершенству и надёжности.&lt;/p&gt;
&lt;p&gt;За время существования Debian было выпущено 18 релизов, обеспечена поддержка 26 аппаратных архитектур, сформирован репозиторий из более чем 60 тысяч пакетов. Общий суммарных размер всех предложенных в дистрибутиве исходных текстов составляет 1.3 млрд строк кода. Суммарный размер всех пакетов — 365 GB. В проект вовлечено более 1000 разработчиков, на технологиях Debian создано около 400 &lt;a href="https://wiki.debian.org/Derivatives"&gt;производных дистрибутивов&lt;/a&gt;, не считая многочисленных ответвлений от таких основанных на Debian дистрибутивов, как Ubuntu.&lt;/p&gt;
</description>
<pubDate>Wed, 16 Aug 2023 10:15:20 +0300</pubDate>
</item>

<item>
<title>Slackware Linux исполнилось 30 лет</title>
<guid isPermaLink="false">2621</guid>
<link>https://gladilov.org.ru/blog/all/slackware-linux-30/</link>
<comments>https://gladilov.org.ru/blog/all/slackware-linux-30/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/slackware.jpg" class="main_left_img" /&gt;30 лет назад &lt;img style="vertical-align:middle!important;" src="/img/flags/wiki/us.png" /&gt; &lt;a href="http://www.slackware.com/~volkerdi/"&gt;Патрик Фолькердинг (Patrick Volkerding)&lt;/a&gt; представил первый релиз дистрибутива &lt;img style="vertical-align:middle!important;" src="/img/install/os/slackware.png" /&gt; Slackware Linux, оказавшего влияние на многие проекты и являющимся старейшим из ныне существующих дистрибутивов. Наиболее известным ответвлением является &lt;img style="vertical-align:middle!important;" src="/img/install/os/suse.png" /&gt; SUSE Linux. Из продолжающих развитие модификаций Slackware можно отметить &lt;img style="vertical-align:middle!important;" src="/img/install/os/salix.png" /&gt; Salix, &lt;img style="vertical-align:middle!important;" src="/img/install/os/slax.png" /&gt; Slax, &lt;img style="vertical-align:middle!important;" src="/img/install/os/slackel.png" /&gt; Slackel, &lt;img style="vertical-align:middle!important;" src="/img/install/os/porteus.png" /&gt; Porteus, &lt;img style="vertical-align:middle!important;" src="/img/install/os/zenwalk.png" /&gt; Zenwalk и &lt;img style="vertical-align:middle!important;" src="/img/install/os/absolutelinux.png" /&gt; Absolute Linux.&lt;/p&gt;
&lt;p&gt;Первый выпуск Slackware был основан на ядре Linux 0.99pl10 и собран с использованием gcc 2.4.5. Графическое окружение было построено с использованием &lt;img style="vertical-align:middle!important;" src="/blog/pictures/x/xfree86-20.png" /&gt; XFree-86 1.3 и оконного менеджера &lt;img style="vertical-align:middle!important;" src="/blog/pictures/x/olwm-20.png" /&gt; Open Look. Расцвет Slackware пришёлся на 1994-96 годы, в которые дистрибутив занимал лидирующие позиции среди других систем. Например, Slackware стал первым дистрибутивом, выпустившим релизы на основе ядра Linux 1.0 и 2.0 (&lt;img style="vertical-align:middle!important;" src="/img/install/os/debian.png" /&gt; Debian Buzz с ядром 2.0 вышел на несколько недель позже, а &lt;img style="vertical-align:middle!important;" src="/img/install/os/rhel.png" /&gt; Red Hat 4.0 отстал на несколько месяцев). В последующем такие проекты, как Debian, Red Hat и SUSE, вытеснили Slackware, но вопреки многочисленным прогнозам о скором забвении проекта, дистрибутив по-прежнему жив и обновляется.&lt;/p&gt;
&lt;p&gt;Основной причиной долгой жизни дистрибутива является неиссякаемый энтузиазм Патрика Фолькердинга, который спустя 30 лет по-прежнему остаётся лидером и основным разработчиком проекта. Кроме того, несмотря на солидный возраст, дистрибутив смог сохранить самобытность и простоту в организации работы. Отсутствие усложнений и простая система инициализации в стиле классических систем BSD делают дистрибутив интересным решением для изучения работы Unix-подобных систем, проведения экспериментов и знакомства с Linux.&lt;/p&gt;
</description>
<pubDate>Mon, 17 Jul 2023 10:36:18 +0300</pubDate>
</item>

<item>
<title>Вышел набор патчей, ускоряющих сборку ядра Linux на 50-80%</title>
<guid isPermaLink="false">2135</guid>
<link>https://gladilov.org.ru/blog/all/the-fast-kernel-headers-tree/</link>
<comments>https://gladilov.org.ru/blog/all/the-fast-kernel-headers-tree/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/kernel-build.png" class="main_left_img" /&gt;Инго Молнар (Ingo Molnar), известный разработчик ядра Linux и автор планировщика задач CFS (Completely Fair Scheduler), предложил для обсуждения в списке рассылки разработчиков ядра Linux серию патчей, затрагивающих более половины всех файлов в исходных текстах ядра и обеспечивающих увеличение скорости полной пересборки ядра на 50-80% в зависимости от настроек. Реализованная оптимизация примечательна тем, что она сопряжена с добавлением самого крупного в истории разработки ядра набора изменений — для включения разом предложено 2297 патчей, меняющих более 25 тысяч файлов (10 тысяч заголовочных файлов в каталогах &lt;b&gt;include/&lt;/b&gt; и &lt;b&gt;arch/*/include/&lt;/b&gt; и 15 тысяч файлов с исходными текстами).&lt;/p&gt;
&lt;p&gt;&lt;b class="spoiler-controller pop-up_camper_03_01_22"&gt;Показать&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;section class="spoiler pop-up_camper_03_01_22"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Прирост производительности достигается за счёт изменения метода обработки заголовочных файлов. Отмечается, что за тридцать лет разработки ядра состояние заголовочных файлов приняло удручающий вид из-за наличия большого числа перекрёстных зависимостей между файлами. Работа над реструктуризацией заголовочных файлов заняла более года и потребовала проведения значительной переработки иерархии и зависимостей. В ходе реструктуризации была выполнена работа по разделению определений типов и API для разных подсистем ядра.&lt;/p&gt;
&lt;p&gt;Среди внесённых изменений: отделение высокоуровнневых заголовочных файлов друг от друга, исключение связывающих заголовочные файлы inline-функций, выделение заголовочных файлов для типов и API, обеспечение обособленной сборки заголовочных файлов (около 80 файлов имели мешающие сборке непрямые зависимости, выставляемые через другие заголовочные файлы), автоматическое добавление зависимостей к файлам &lt;b&gt;.h&lt;/b&gt; и &lt;b&gt;.c&lt;/b&gt;, пошаговая оптимизация заголовочных файлов, использование режима &lt;b&gt;CONFIG_KALLSYMS_FAST=y&lt;/b&gt;, выборочная консолидация Си-файлов в сборочные блоки для снижения числа объектных файлов.&lt;/p&gt;
&lt;p&gt;В итоге, проделанная работа позволила на 1-2 порядка сократить размер заголовочных файлов, обрабатываемых на стадии постпроцессинга. Например, до оптимизации использование заголовочного файла &lt;b&gt;linux/gfp.h&lt;/b&gt; приводило к добавлению 13543 строк кода и подключения 303 зависимых заголовочных файлов, а после оптимизации размер сократился до 181 строк и 26 зависимых файлов. Или другой пример: при препроцессинге файла &lt;b&gt;kernel/pid.c&lt;/b&gt; без патча подключается 94 тысяч строк кода, большая часть которого не используется в pid.c. Разделение заголовочных файлов позволило снизить объем обрабатываемого кода в три раза, сократив число обрабатываемых строк до 36 тысяч.&lt;/p&gt;
&lt;p&gt;При полной пересборке ядра командой &lt;b&gt;make -j96 vmlinux&lt;/b&gt; на тестовой системе применение патчей показало сокращение времени сборки ветки v5.16-rc7 с 231.34 до 129.97 секунд, а также повысило эффективность использования ядер CPU во время сборки. При инкрементальной сборке эффект от оптимизации ещё более заметен — время повторной пересборки ядра после внесения изменений в заголовочные файлы сократилось в разы (от 112% до 173% в зависимости от изменяемого заголовочного файла). Оптимизации пока доступны только для архитектур ARM64, MIPS, Sparc и x86 (32- и 64-бит).&lt;/section&gt;&lt;/p&gt;
&lt;p&gt;Источники:&lt;br /&gt;
&lt;a href="https://www.opennet.ru/opennews/art.shtml?num=56449"&gt;https://www.opennet.ru/opennews/art.shtml?num=56449&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://lwn.net/Articles/880175/rss"&gt;https://lwn.net/Articles/880175/rss&lt;/a&gt;&lt;/p&gt;
</description>
<pubDate>Mon, 03 Jan 2022 11:43:13 +0300</pubDate>
</item>

<item>
<title>Запланированные проблемы</title>
<guid isPermaLink="false">1962</guid>
<link>https://gladilov.org.ru/blog/all/planned-problems/</link>
<comments>https://gladilov.org.ru/blog/all/planned-problems/</comments>
<description>&lt;p&gt;На &lt;a href="https://sslug.dk/events/"&gt;странице «События»&lt;/a&gt; сайта Группы пользователей Linux в Зеландии и в Сконе (Skåne Sjælland Linux User Group, SSLUG) нашёл забавное запланированное событие. На 19 января 2038 года они собираются участвовать в событии «&lt;b&gt;Паника, хаос и разрушение&lt;/b&gt;».&lt;/p&gt;
&lt;p&gt;&lt;a class="lightbox2" data-lightbox="15.09.2021-2`" href="/blog/pictures/humor/sslug.jpg"&gt;&lt;img src="/blog/pictures/humor/sslug-preview.jpg" style="vertical-align:middle;" /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
<pubDate>Wed, 15 Sep 2021 21:03:00 +0300</pubDate>
</item>

<item>
<title>Для ядра Linux предложена реализация SMB-сервера</title>
<guid isPermaLink="false">1945</guid>
<link>https://gladilov.org.ru/blog/all/new-smb3-kernel-server/</link>
<comments>https://gladilov.org.ru/blog/all/new-smb3-kernel-server/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/ksmbd.jpg" class="main_right_img" /&gt;Для включение в состав следующего выпуска ядра Linux предложена новая реализация файлового сервера, использующего протокол SMB3. Сервер оформлен в виде модуля ядра ksmbd и дополняет ранее доступный код клиента SMB. Отмечается, что в отличие от SMB-сервера, работающего в пространстве пользователя, реализация на уровне ядра более эффективна с точки зрения производительности, потребления памяти и интеграции с расширенными возможностями ядра. Основным разработчиком ksmbd является Стив Френч (Steve French) из компании Microsoft (ранее много лет работал в IBM), мэйнтейнер подсистем CIFS/SMB2/SMB3 в ядре Linux и давний участник команды разработчиков Samba, внёсший значительный вклад в реализацию поддержки протоколов SMB/CIFS в Samba и Linux.&lt;/p&gt;
&lt;p&gt;&lt;b class="spoiler-controller pop-up_camper_30_08_21"&gt;Показать&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;section class="spoiler pop-up_camper_30_08_21"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Из возможностей ksmbd выделяется улучшенная поддержка технологии распределённого кэширования файлов (SMB leases) на локальных системах, которая позволяет существенно сократить трафик. В дальнейшем планируется добавление новых возможностей, таких как поддержка RDMA («smbdirect»), а также расширений протокола, связанных с усилением надёжности шифрования и верификацией по цифровым подписям. Отмечается, что подобные расширения гораздо проще реализовать в компактном и хорошо оптимизированном сервере, работающем на уровне ядра, чем в пакете Samba.&lt;/p&gt;
&lt;p&gt;При этом ksmbd не претендует на роль полной замены пакета Samba, который не ограничивается возможностями файлового сервера и предоставляет инструментарий, охватывающей сервисы для обеспечения безопасности, LDAP и контроллер домена. Реализация файлового сервера в Samba является кросс-платформенной и рассчитанной на более широкие области применения, что затрудняет оптимизацию для некоторых Linux-окружений, таких как прошивки для устройств с ограниченными ресурсами.&lt;/p&gt;
&lt;p&gt;Ksmbd рассматривается не как отдельный продукт, а скорее как высокопроизводительное и готовое для применения на встраиваемых устройствах расширение к Samba, при необходимости интегрируемое с инструментами и библиотеками Samba. Например, с разработчиками Samba уже согласован вопрос использования в ksmbd совместимых с smbd файлов конфигурации и расширенных атрибутов (xattrs), что упростит переход с smbd на ksmbd и наоборот.&lt;/section&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Источники:&lt;br /&gt;
&lt;a href="https://lore.kernel.org/lkml/CAH2r5msoKV7qAgoKipa+QNDJ+xR83YGuz+he+GH9sPTSzBMLHA@mail.gmail.com/"&gt;Список рассылки&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.opennet.ru/opennews/art.shtml?num=55706"&gt;Опёнок&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
</description>
<pubDate>Mon, 30 Aug 2021 20:17:06 +0300</pubDate>
</item>

<item>
<title>День рождения ядра Linux</title>
<guid isPermaLink="false">1940</guid>
<link>https://gladilov.org.ru/blog/all/30th-anniversary-of-linux/</link>
<comments>https://gladilov.org.ru/blog/all/30th-anniversary-of-linux/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/linux.jpg" class="main_left_img" width="300" height="278" /&gt;25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 28 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США (расчёт производился, когда в ядре было 13 млн строк кода), по другим оценкам — более 3 миллиардов.&lt;/p&gt;
&lt;p&gt;&lt;b class="spoiler-controller pop-up_camper_25_08_21"&gt;Показать&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;section class="spoiler pop-up_camper_25_08_21"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.&lt;/p&gt;
&lt;p&gt;Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.&lt;/p&gt;
&lt;p&gt;Динамика роста кодовой базы (количество строк исходного кода) ядра:&lt;/p&gt;
&lt;p&gt;0.0.1 — сентябрь 1991, 10 тыс. строк кода;&lt;br /&gt;
1.0.0 — март 1994, 176 тыс. строк кода;&lt;br /&gt;
1.2.0 — март 1995, 311 тыс. строк кода;&lt;br /&gt;
2.0.0 — июнь 1996, 778 тыс. строк кода;&lt;br /&gt;
2.2.0 — январь 1999, 1.8 млн. строк кода;&lt;br /&gt;
2.4.0 — январь 2001, 3.4 млн. строк кода;&lt;br /&gt;
2.6.0 — декабрь 2003, 5.9 млн. строк кода;&lt;br /&gt;
2.6.28 — декабрь 2008, 10.2 млн. строк кода;&lt;br /&gt;
2.6.35 — август 2010, 13.4 млн. строк кода;&lt;br /&gt;
3.0 — август 2011, 14.6 млн. строк кода.&lt;br /&gt;
3.5 — июль 2012, 15.5 млн. строк кода.&lt;br /&gt;
3.10 — июль 2013, 15.8 млн. строк кода;&lt;br /&gt;
3.16 — август 2014, 17.5 млн. строк кода;&lt;br /&gt;
4.1 — июнь 2015, 19.5 млн. строк кода;&lt;br /&gt;
4.7 — июль 2016, 21.7 млн. строк кода;&lt;br /&gt;
4.12 — июль 2017, 24.1 млн. строк кода;&lt;br /&gt;
4.18 — август 2018, 25.3 млн. строк кода.&lt;br /&gt;
5.2 — июль 2019, 26.55 млн. строк кода.&lt;br /&gt;
5.8 — август 2020, 28.4 млн. строк кода.&lt;br /&gt;
5.13 — июнь 2021, 29.2 млн. строк кода.&lt;/p&gt;
&lt;p&gt;Прогресс развития ядра:&lt;/p&gt;
&lt;p&gt;Linux 0.0.1 — сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;&lt;br /&gt;
Linux 0.12 — январь 1992, код начал распространяться под лицензией GPLv2;&lt;br /&gt;
Linux 0.95 — март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.&lt;br /&gt;
Linux 0.96-0.99 — 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы /proc.&lt;br /&gt;
В 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.&lt;br /&gt;
Linux 1.0 — март 1994, первый официально стабильный релиз;&lt;br /&gt;
Linux 1.2 — март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;&lt;br /&gt;
Linux 2.0 — июнь 1996 года, поддержка многопроцессорных систем;&lt;br /&gt;
Март 1997: основан LKML, список рассылки разработчиков ядра Linux;&lt;br /&gt;
1998 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;&lt;br /&gt;
Linux 2.2 — январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;&lt;br /&gt;
Linux 2.4 — февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;&lt;br /&gt;
Linux 2.6 — декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;&lt;br /&gt;
В 2005 году представлен гипервизор Xen, который открыл эру виртуализации;&lt;br /&gt;
В сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;&lt;br /&gt;
В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x. Число объектов в Git-репозитории достигло 2 млн;&lt;br /&gt;
В 2015 году состоялся выпуск ядра Linux 4.0. Число git-объектов в репозитории достигло 4 млн;&lt;br /&gt;
В апреле 2018 года преодолён рубеж в 6 млн git-объектов в репозитории ядра.&lt;br /&gt;
В январе 2019 года сформирована ветка ядра Linux 5.0. Репозиторий достиг уровня 6.5 млн git-объектов.&lt;br /&gt;
Опубликованное в августе 2020 года ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта.&lt;br /&gt;
В ядре 5.13 был поставлен рекорд по числу разработчиков (2150), изменения от которых вошли в состав ядра.&lt;br /&gt;
В 2021 году в ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust. Ведётся работа по включению компонентов для поддержки Rust в основной состав ядра.&lt;br /&gt;
68% всех изменений в ядро внесены 20 наиболее активными компаниями. Например, при разработке ядра 5.13 10% всех изменений подготовлено компанией Intel, 6.5% — Huawei, 5.9% — Red Hat, 5.7% — Linaro, 4.9% — Google, 4.8% — AMD, 3.1% — NVIDIA, 2.8% — Facebook, 2.3% — SUSE, 2.1% — IBM, 1.9% — Oracle, 1.5% — ARM, 1.4% — Canonical. 13.2% изменений подготовлены независимым участниками или разработчиками, явно не заявившим о своей работе на определённые компании. 1.3% изменений подготовлены студентами, аспирантами и представителями учебных заведений. По числу добавленных в ядро 5.13 строк кода лидирует компания AMD, доля которой составила 20.2% (драйвер amdgpu насчитывает около 3 млн строк кода, что примерно 10% от общего размера ядра — 2.4 млн строк приходится на сгенерированные автоматически заголовочные файлы с данными для регистров GPU).&lt;/section&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;a href="https://www.cs.cmu.edu/~awb/linux.history.html"&gt;История&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://i.redd.it/g26too4bwbj71.jpg"&gt;Подходящая картинка к новости&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
</description>
<pubDate>Wed, 25 Aug 2021 12:31:58 +0300</pubDate>
</item>

<item>
<title>Опубликованы тестовые ядра Linux 4.4.256 и 4.9.256</title>
<guid isPermaLink="false">1668</guid>
<link>https://gladilov.org.ru/blog/all/linux-number-overflow-testing/</link>
<comments>https://gladilov.org.ru/blog/all/linux-number-overflow-testing/</comments>
<description>&lt;p&gt;Грег Кроа-Хартман (Greg Kroah-Hartman) опубликовал выпуски ядра Linux 4.4.256 и 4.9.256, которые сформированы специально для проверки корректности обработки составных частей номера версии, не укладывающихся в однобайтовое значение. Изменения в опубликованных выпусках ограничиваются только увеличением номера версии в Makefile для того, чтобы проверить, не возникнет ли проблем в пространстве пользователя.&lt;/p&gt;
&lt;p&gt;Изначально под счётчик номера версии в ядре было выделено 8-битовое значение, что делает вызов макроса KERNEL_VERSION(4, 4, 256) эквивалентным KERNEL_VERSION(4, 5, 0). Значение макроса KERNEL_VERSION, вычисляется так:&lt;font size="2"&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;pre class="e2-text-code"&gt;&lt;code&gt;((a) &amp;lt;&amp;lt; 16) + ((b) &amp;lt;&amp;lt; 8) + (c))&lt;/code&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;&lt;/font&gt;затем экспортируется в пространство пользователя в форме константы LINUX_VERSION_CODE, которая используется при проверке текущей версии ядра. Для ядра подобное переполнение не вызывает проблем, но значение LINUX_VERSION_CODE проверяется и некоторыми компонентами в пространстве пользователя, такими как GCC и Glibc, что потенциально может привести к непредсказуемым проблемам.&lt;/p&gt;
&lt;p&gt;Изначально разработчики ядра планировали перейти на 16-разрядный счётчик вместо 8-разрядного, но это оказалось невозможным так как константа LINUX_VERSION_CODE, вычисляемая с использованием 8-битного значения, экспортируется в пространство пользователя и замена типа приведёт к нарушению ABI. Поэтому решено оставить переполнение и посмотреть, как это отразится на пространстве пользователя. Разработчикам дистрибутивов предлагается сформировать тестовые сборки для проверки появления возможных проблем в пространстве пользователя при полной пересборке.&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Ссылки:&lt;br /&gt;
&lt;a href="http://kroah.com/log/blog/2021/02/05/8-bits-are-enough-for-a-version-number-dot-dot-dot/"&gt;http://kroah.com/log/blog/2021/02/05/8-bits-are-enough-for-a-version-number-dot-dot-dot/&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.opennet.ru/opennews/art.shtml?num=54544"&gt;https://www.opennet.ru/opennews/art.shtml?num=54544&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
</description>
<pubDate>Sun, 07 Feb 2021 11:50:56 +0300</pubDate>
</item>

<item>
<title>Из консоли ядра Linux удалена поддержка прокрутки текста</title>
<guid isPermaLink="false">1499</guid>
<link>https://gladilov.org.ru/blog/all/linux-text-console-scrollback-support-removed/</link>
<comments>https://gladilov.org.ru/blog/all/linux-text-console-scrollback-support-removed/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/linux-console.jpg" class="main_left_img" /&gt;Из поставляемой в составе ядра Linux реализации текстовой консоли удалён код, обеспечивающий возможность прокрутки текста назад (CONFIG_VGACON_SOFT_SCROLLBACK). Код удалён в связи с наличием ошибок, которых оказалось некому устранить из-за отсутствия мэйнтейнера, курирующего разработку vgacon.&lt;/p&gt;
&lt;p&gt;Летом в vgacon была выявлена и устранена уязвимость (CVE-2020-14331), способная привести к переполнению буфера из-за отсутствия должных проверок наличия доступной памяти в буфере прокрутки. Уязвимость привлекла внимание разработчиков, который организовали fuzzing-тестирование кода vgacon в syzbot.&lt;/p&gt;
&lt;p&gt;&lt;b class="spoiler-controller pop-up_camper_15_09_20-2"&gt;Показать&lt;/b&gt;&lt;section class="spoiler pop-up_camper_15_09_20-2"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Дополнительные проверки выявили ещё несколько похожих проблем в коде vgacon, а также проблемы в программной реализации прокрутки в драйвере fbcon. К сожалению, проблемный код давно остаётся без сопровождения, предположительно из-за того, что разработчики перешли на использование графических консолей и текстовые консоли вышли из обихода (люди продолжают пользоваться консолями vgacon и fbcon, но они уже десятилетия не являются основным интерфейсом ядра и такие расширенные возможности, как встроенная в драйвер прокрутка (Shift+PageUp/PageDown), предположительно, мало востребованы).&lt;/p&gt;
&lt;p&gt;В связи с этим Линус Торвальдс принял решение не пытаться сопровождать невостребованный код, а просто удалить его. Если найдутся пользователи, которым данная функциональность окажется необходима, код для поддержки прокрутки в консоли будет возвращён в ядро как только найдётся мэйнтейнер, готовый взять его сопровождение в свои руки.&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=973c096f6a85e5b5f2a295126ba6928d9a6afd45"&gt;Источник&lt;/a&gt;&lt;/font&gt;&lt;/section&gt;&lt;/p&gt;
</description>
<pubDate>Tue, 15 Sep 2020 17:53:47 +0300</pubDate>
</item>

<item>
<title>Intel выпустила собственную ОСь mOS</title>
<guid isPermaLink="false">1449</guid>
<link>https://gladilov.org.ru/blog/all/new-operating-system-from-intel/</link>
<comments>https://gladilov.org.ru/blog/all/new-operating-system-from-intel/</comments>
<description>&lt;p&gt;&lt;img src="/blog/pictures/events/mos.jpg" class="main_left_img" /&gt;Intel выпустила собственную операционную систему mOS, предназначенную для суперкомпьютеров и масштабируемых систем. Пока что она находится в стадии пре-альфы, но её уже можно использовать на некоторых суперкомпьютерах, таких как ASCI Red, IBM Blue Gene и других. В следующем году Intel рассчитывает выпустить уже полноценную версию для суперкомпьютера Aurora.&lt;/p&gt;
&lt;p&gt;В основе mOS лежит модифицированная версия ядра Linux с облегчёнными ядрами (lightweight kernels; LWK) для высокопроизводительных вычислений. Последняя версия mOS базируется на ядре Linux 5.4 LTS.&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Источник:&lt;br /&gt;
&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Intel-mOS-Multi-OS-Linux"&gt;https://www.phoronix.com/scan.php?page=news_item&amp;px=Intel-mOS-Multi-OS-Linux&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
</description>
<pubDate>Thu, 13 Aug 2020 15:41:49 +0300</pubDate>
</item>


</channel>
</rss>