{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог ни о чём, заметки с тегом: Linux",
    "home_page_url": "https:\/\/gladilov.org.ru\/blog\/tags\/linux\/",
    "feed_url": "https:\/\/gladilov.org.ru\/blog\/tags\/linux\/json\/",
    "icon": false,
    "author": {
        "name": "Павел Гладилов",
        "url": "https:\/\/gladilov.org.ru\/blog\/",
        "avatar": false
    },
    "items": [
        {
            "id": "2647",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/linux-32\/",
            "title": "Ядру Linux исполнилось 32 года",
            "content_html": "<p><img src=\"\/blog\/pictures\/tux.jpg\" class=\"main_right_img\" \/>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 миллиардов.<\/p>\n<p><b class=\"spoiler-controller pop-up_camper_25_08_23\">Показать<\/b><section class=\"spoiler pop-up_camper_25_08_23\"><\/p>\n<p><\/p>\n<p>Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.<\/p>\n<p>Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.<\/p>\n<p><font size=\"2\">P. S. Несколько замечаний:<\/p>\n<ul>\n<li>Официальным днём рождения считается 17.09.1991, об этом объявил Линус в одной из рассылок на 30-летие.<\/li>\n<li>Первая версия была 0.01, а не 0.0.1.<\/li>\n<li>Версия 0.01 не была публичная, хоть и была выложена на funet, а была отправлена только нескольким «миниксерам» (список адресатов утерян).<\/li>\n<li>Первая публичная версия была 0.02, представлена 05.10.1991.<\/li>\n<li>Размер архива в сжатом виде был не 69К, а где-то 116К. Эта путаница появилась из-за того, что на kernel.org имеется версия 0.01, но она переупакована в 1993 в tar.gz, оригинальный архив был tar.Z.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59658\">Источник<\/a><\/font><\/section><\/p>\n",
            "date_published": "2023-08-25T12:51:00+03:00",
            "date_modified": "2023-08-25T15:09:35+03:00",
            "_date_published_rfc2822": "Fri, 25 Aug 2023 12:51:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "2647",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "2644",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/happy-30th-birthday-debian\/",
            "title": "Debian GNU\/Linux исполнилось 30 лет",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/debian30.jpg\" class=\"main_left_img\" \/>Проект Debian празднует своё тридцатилетие. Дистрибутив был впервые <a href=\"http:\/\/groups.google.com\/group\/comp.os.linux.development\/msg\/a32d4e2ef3bcdcc6\">анонсирован<\/a> Яном Мёрдоком (Ian Murdock) 16 августа 1993 года в списке рассылки comp.os.linux.development. Главной целью проекта была разработка дистрибутива, развиваемого в соответствии с духом полной открытости, свойственной Linux и GNU, а также стремление к техническому совершенству и надёжности.<\/p>\n<p>За время существования Debian было выпущено 18 релизов, обеспечена поддержка 26 аппаратных архитектур, сформирован репозиторий из более чем 60 тысяч пакетов. Общий суммарных размер всех предложенных в дистрибутиве исходных текстов составляет 1.3 млрд строк кода. Суммарный размер всех пакетов — 365 GB. В проект вовлечено более 1000 разработчиков, на технологиях Debian создано около 400 <a href=\"https:\/\/wiki.debian.org\/Derivatives\">производных дистрибутивов<\/a>, не считая многочисленных ответвлений от таких основанных на Debian дистрибутивов, как Ubuntu.<\/p>\n",
            "date_published": "2023-08-16T10:15:20+03:00",
            "date_modified": "2023-08-16T10:15:17+03:00",
            "_date_published_rfc2822": "Wed, 16 Aug 2023 10:15:20 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "2644",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "2621",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/slackware-linux-30\/",
            "title": "Slackware Linux исполнилось 30 лет",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/slackware.jpg\" class=\"main_left_img\" \/>30 лет назад <img style=\"vertical-align:middle!important;\" src=\"\/img\/flags\/wiki\/us.png\" \/> <a href=\"http:\/\/www.slackware.com\/~volkerdi\/\">Патрик Фолькердинг (Patrick Volkerding)<\/a> представил первый релиз дистрибутива <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/slackware.png\" \/> Slackware Linux, оказавшего влияние на многие проекты и являющимся старейшим из ныне существующих дистрибутивов. Наиболее известным ответвлением является <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/suse.png\" \/> SUSE Linux. Из продолжающих развитие модификаций Slackware можно отметить <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/salix.png\" \/> Salix, <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/slax.png\" \/> Slax, <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/slackel.png\" \/> Slackel, <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/porteus.png\" \/> Porteus, <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/zenwalk.png\" \/> Zenwalk и <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/absolutelinux.png\" \/> Absolute Linux.<\/p>\n<p>Первый выпуск Slackware был основан на ядре Linux 0.99pl10 и собран с использованием gcc 2.4.5. Графическое окружение было построено с использованием <img style=\"vertical-align:middle!important;\" src=\"\/blog\/pictures\/x\/xfree86-20.png\" \/> XFree-86 1.3 и оконного менеджера <img style=\"vertical-align:middle!important;\" src=\"\/blog\/pictures\/x\/olwm-20.png\" \/> Open Look. Расцвет Slackware пришёлся на 1994-96 годы, в которые дистрибутив занимал лидирующие позиции среди других систем. Например, Slackware стал первым дистрибутивом, выпустившим релизы на основе ядра Linux 1.0 и 2.0 (<img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/debian.png\" \/> Debian Buzz с ядром 2.0 вышел на несколько недель позже, а <img style=\"vertical-align:middle!important;\" src=\"\/img\/install\/os\/rhel.png\" \/> Red Hat 4.0 отстал на несколько месяцев). В последующем такие проекты, как Debian, Red Hat и SUSE, вытеснили Slackware, но вопреки многочисленным прогнозам о скором забвении проекта, дистрибутив по-прежнему жив и обновляется.<\/p>\n<p>Основной причиной долгой жизни дистрибутива является неиссякаемый энтузиазм Патрика Фолькердинга, который спустя 30 лет по-прежнему остаётся лидером и основным разработчиком проекта. Кроме того, несмотря на солидный возраст, дистрибутив смог сохранить самобытность и простоту в организации работы. Отсутствие усложнений и простая система инициализации в стиле классических систем BSD делают дистрибутив интересным решением для изучения работы Unix-подобных систем, проведения экспериментов и знакомства с Linux.<\/p>\n",
            "date_published": "2023-07-17T10:36:18+03:00",
            "date_modified": "2023-07-17T11:28:06+03:00",
            "_date_published_rfc2822": "Mon, 17 Jul 2023 10:36:18 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "2621",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "2135",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/the-fast-kernel-headers-tree\/",
            "title": "Вышел набор патчей, ускоряющих сборку ядра Linux на 50-80%",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/kernel-build.png\" class=\"main_left_img\" \/>Инго Молнар (Ingo Molnar), известный разработчик ядра Linux и автор планировщика задач CFS (Completely Fair Scheduler), предложил для обсуждения в списке рассылки разработчиков ядра Linux серию патчей, затрагивающих более половины всех файлов в исходных текстах ядра и обеспечивающих увеличение скорости полной пересборки ядра на 50-80% в зависимости от настроек. Реализованная оптимизация примечательна тем, что она сопряжена с добавлением самого крупного в истории разработки ядра набора изменений — для включения разом предложено 2297 патчей, меняющих более 25 тысяч файлов (10 тысяч заголовочных файлов в каталогах <b>include\/<\/b> и <b>arch\/*\/include\/<\/b> и 15 тысяч файлов с исходными текстами).<\/p>\n<p><b class=\"spoiler-controller pop-up_camper_03_01_22\">Показать<\/b><\/p>\n<p><section class=\"spoiler pop-up_camper_03_01_22\"><\/p>\n<p><\/p>\n<p>Прирост производительности достигается за счёт изменения метода обработки заголовочных файлов. Отмечается, что за тридцать лет разработки ядра состояние заголовочных файлов приняло удручающий вид из-за наличия большого числа перекрёстных зависимостей между файлами. Работа над реструктуризацией заголовочных файлов заняла более года и потребовала проведения значительной переработки иерархии и зависимостей. В ходе реструктуризации была выполнена работа по разделению определений типов и API для разных подсистем ядра.<\/p>\n<p>Среди внесённых изменений: отделение высокоуровнневых заголовочных файлов друг от друга, исключение связывающих заголовочные файлы inline-функций, выделение заголовочных файлов для типов и API, обеспечение обособленной сборки заголовочных файлов (около 80 файлов имели мешающие сборке непрямые зависимости, выставляемые через другие заголовочные файлы), автоматическое добавление зависимостей к файлам <b>.h<\/b> и <b>.c<\/b>, пошаговая оптимизация заголовочных файлов, использование режима <b>CONFIG_KALLSYMS_FAST=y<\/b>, выборочная консолидация Си-файлов в сборочные блоки для снижения числа объектных файлов.<\/p>\n<p>В итоге, проделанная работа позволила на 1-2 порядка сократить размер заголовочных файлов, обрабатываемых на стадии постпроцессинга. Например, до оптимизации использование заголовочного файла <b>linux\/gfp.h<\/b> приводило к добавлению 13543 строк кода и подключения 303 зависимых заголовочных файлов, а после оптимизации размер сократился до 181 строк и 26 зависимых файлов. Или другой пример: при препроцессинге файла <b>kernel\/pid.c<\/b> без патча подключается 94 тысяч строк кода, большая часть которого не используется в pid.c. Разделение заголовочных файлов позволило снизить объем обрабатываемого кода в три раза, сократив число обрабатываемых строк до 36 тысяч.<\/p>\n<p>При полной пересборке ядра командой <b>make -j96 vmlinux<\/b> на тестовой системе применение патчей показало сокращение времени сборки ветки v5.16-rc7 с 231.34 до 129.97 секунд, а также повысило эффективность использования ядер CPU во время сборки. При инкрементальной сборке эффект от оптимизации ещё более заметен — время повторной пересборки ядра после внесения изменений в заголовочные файлы сократилось в разы (от 112% до 173% в зависимости от изменяемого заголовочного файла). Оптимизации пока доступны только для архитектур ARM64, MIPS, Sparc и x86 (32- и 64-бит).<\/section><\/p>\n<p>Источники:<br \/>\n<a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56449\">https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56449<\/a><br \/>\n<a href=\"https:\/\/lwn.net\/Articles\/880175\/rss\">https:\/\/lwn.net\/Articles\/880175\/rss<\/a><\/p>\n",
            "date_published": "2022-01-03T11:43:13+03:00",
            "date_modified": "2022-01-03T11:49:39+03:00",
            "_date_published_rfc2822": "Mon, 03 Jan 2022 11:43:13 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "2135",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1962",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/planned-problems\/",
            "title": "Запланированные проблемы",
            "content_html": "<p>На <a href=\"https:\/\/sslug.dk\/events\/\">странице «События»<\/a> сайта Группы пользователей Linux в Зеландии и в Сконе (Skåne Sjælland Linux User Group, SSLUG) нашёл забавное запланированное событие. На 19 января 2038 года они собираются участвовать в событии «<b>Паника, хаос и разрушение<\/b>».<\/p>\n<p><a class=\"lightbox2\" data-lightbox=\"15.09.2021-2`\" href=\"\/blog\/pictures\/humor\/sslug.jpg\"><img src=\"\/blog\/pictures\/humor\/sslug-preview.jpg\" style=\"vertical-align:middle;\" \/><\/a><\/p>\n",
            "date_published": "2021-09-15T21:03:00+03:00",
            "date_modified": "2021-09-15T21:02:53+03:00",
            "_date_published_rfc2822": "Wed, 15 Sep 2021 21:03:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1962",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1945",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/new-smb3-kernel-server\/",
            "title": "Для ядра Linux предложена реализация SMB-сервера",
            "content_html": "<p><img src=\"\/blog\/pictures\/ksmbd.jpg\" class=\"main_right_img\" \/>Для включение в состав следующего выпуска ядра Linux предложена новая реализация файлового сервера, использующего протокол SMB3. Сервер оформлен в виде модуля ядра ksmbd и дополняет ранее доступный код клиента SMB. Отмечается, что в отличие от SMB-сервера, работающего в пространстве пользователя, реализация на уровне ядра более эффективна с точки зрения производительности, потребления памяти и интеграции с расширенными возможностями ядра. Основным разработчиком ksmbd является Стив Френч (Steve French) из компании Microsoft (ранее много лет работал в IBM), мэйнтейнер подсистем CIFS\/SMB2\/SMB3 в ядре Linux и давний участник команды разработчиков Samba, внёсший значительный вклад в реализацию поддержки протоколов SMB\/CIFS в Samba и Linux.<\/p>\n<p><b class=\"spoiler-controller pop-up_camper_30_08_21\">Показать<\/b><\/p>\n<p><section class=\"spoiler pop-up_camper_30_08_21\"><\/p>\n<p><\/p>\n<p>Из возможностей ksmbd выделяется улучшенная поддержка технологии распределённого кэширования файлов (SMB leases) на локальных системах, которая позволяет существенно сократить трафик. В дальнейшем планируется добавление новых возможностей, таких как поддержка RDMA («smbdirect»), а также расширений протокола, связанных с усилением надёжности шифрования и верификацией по цифровым подписям. Отмечается, что подобные расширения гораздо проще реализовать в компактном и хорошо оптимизированном сервере, работающем на уровне ядра, чем в пакете Samba.<\/p>\n<p>При этом ksmbd не претендует на роль полной замены пакета Samba, который не ограничивается возможностями файлового сервера и предоставляет инструментарий, охватывающей сервисы для обеспечения безопасности, LDAP и контроллер домена. Реализация файлового сервера в Samba является кросс-платформенной и рассчитанной на более широкие области применения, что затрудняет оптимизацию для некоторых Linux-окружений, таких как прошивки для устройств с ограниченными ресурсами.<\/p>\n<p>Ksmbd рассматривается не как отдельный продукт, а скорее как высокопроизводительное и готовое для применения на встраиваемых устройствах расширение к Samba, при необходимости интегрируемое с инструментами и библиотеками Samba. Например, с разработчиками Samba уже согласован вопрос использования в ksmbd совместимых с smbd файлов конфигурации и расширенных атрибутов (xattrs), что упростит переход с smbd на ksmbd и наоборот.<\/section><\/p>\n<p><font size=\"2\">Источники:<br \/>\n<a href=\"https:\/\/lore.kernel.org\/lkml\/CAH2r5msoKV7qAgoKipa+QNDJ+xR83YGuz+he+GH9sPTSzBMLHA@mail.gmail.com\/\">Список рассылки<\/a><br \/>\n<a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55706\">Опёнок<\/a><\/font><\/p>\n",
            "date_published": "2021-08-30T20:17:06+03:00",
            "date_modified": "2021-08-30T20:23:29+03:00",
            "_date_published_rfc2822": "Mon, 30 Aug 2021 20:17:06 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1945",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1940",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/30th-anniversary-of-linux\/",
            "title": "День рождения ядра Linux",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/linux.jpg\" class=\"main_left_img\" width=\"300\" height=\"278\" \/>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 миллиардов.<\/p>\n<p><b class=\"spoiler-controller pop-up_camper_25_08_21\">Показать<\/b><\/p>\n<p><section class=\"spoiler pop-up_camper_25_08_21\"><\/p>\n<p><\/p>\n<p>Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.<\/p>\n<p>Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.<\/p>\n<p>Динамика роста кодовой базы (количество строк исходного кода) ядра:<\/p>\n<p>0.0.1 — сентябрь 1991, 10 тыс. строк кода;<br \/>\n1.0.0 — март 1994, 176 тыс. строк кода;<br \/>\n1.2.0 — март 1995, 311 тыс. строк кода;<br \/>\n2.0.0 — июнь 1996, 778 тыс. строк кода;<br \/>\n2.2.0 — январь 1999, 1.8 млн. строк кода;<br \/>\n2.4.0 — январь 2001, 3.4 млн. строк кода;<br \/>\n2.6.0 — декабрь 2003, 5.9 млн. строк кода;<br \/>\n2.6.28 — декабрь 2008, 10.2 млн. строк кода;<br \/>\n2.6.35 — август 2010, 13.4 млн. строк кода;<br \/>\n3.0 — август 2011, 14.6 млн. строк кода.<br \/>\n3.5 — июль 2012, 15.5 млн. строк кода.<br \/>\n3.10 — июль 2013, 15.8 млн. строк кода;<br \/>\n3.16 — август 2014, 17.5 млн. строк кода;<br \/>\n4.1 — июнь 2015, 19.5 млн. строк кода;<br \/>\n4.7 — июль 2016, 21.7 млн. строк кода;<br \/>\n4.12 — июль 2017, 24.1 млн. строк кода;<br \/>\n4.18 — август 2018, 25.3 млн. строк кода.<br \/>\n5.2 — июль 2019, 26.55 млн. строк кода.<br \/>\n5.8 — август 2020, 28.4 млн. строк кода.<br \/>\n5.13 — июнь 2021, 29.2 млн. строк кода.<\/p>\n<p>Прогресс развития ядра:<\/p>\n<p>Linux 0.0.1 — сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;<br \/>\nLinux 0.12 — январь 1992, код начал распространяться под лицензией GPLv2;<br \/>\nLinux 0.95 — март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.<br \/>\nLinux 0.96-0.99 — 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы \/proc.<br \/>\nВ 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.<br \/>\nLinux 1.0 — март 1994, первый официально стабильный релиз;<br \/>\nLinux 1.2 — март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;<br \/>\nLinux 2.0 — июнь 1996 года, поддержка многопроцессорных систем;<br \/>\nМарт 1997: основан LKML, список рассылки разработчиков ядра Linux;<br \/>\n1998 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;<br \/>\nLinux 2.2 — январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;<br \/>\nLinux 2.4 — февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;<br \/>\nLinux 2.6 — декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;<br \/>\nВ 2005 году представлен гипервизор Xen, который открыл эру виртуализации;<br \/>\nВ сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;<br \/>\nВ июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x. Число объектов в Git-репозитории достигло 2 млн;<br \/>\nВ 2015 году состоялся выпуск ядра Linux 4.0. Число git-объектов в репозитории достигло 4 млн;<br \/>\nВ апреле 2018 года преодолён рубеж в 6 млн git-объектов в репозитории ядра.<br \/>\nВ январе 2019 года сформирована ветка ядра Linux 5.0. Репозиторий достиг уровня 6.5 млн git-объектов.<br \/>\nОпубликованное в августе 2020 года ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта.<br \/>\nВ ядре 5.13 был поставлен рекорд по числу разработчиков (2150), изменения от которых вошли в состав ядра.<br \/>\nВ 2021 году в ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust. Ведётся работа по включению компонентов для поддержки Rust в основной состав ядра.<br \/>\n68% всех изменений в ядро внесены 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).<\/section><\/p>\n<p><font size=\"2\"><a href=\"https:\/\/www.cs.cmu.edu\/~awb\/linux.history.html\">История<\/a><br \/>\n<a href=\"https:\/\/i.redd.it\/g26too4bwbj71.jpg\">Подходящая картинка к новости<\/a><\/font><\/p>\n",
            "date_published": "2021-08-25T12:31:58+03:00",
            "date_modified": "2021-08-25T12:57:37+03:00",
            "_date_published_rfc2822": "Wed, 25 Aug 2021 12:31:58 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1940",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1668",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/linux-number-overflow-testing\/",
            "title": "Опубликованы тестовые ядра Linux 4.4.256 и 4.9.256",
            "content_html": "<p>Грег Кроа-Хартман (Greg Kroah-Hartman) опубликовал выпуски ядра Linux 4.4.256 и 4.9.256, которые сформированы специально для проверки корректности обработки составных частей номера версии, не укладывающихся в однобайтовое значение. Изменения в опубликованных выпусках ограничиваются только увеличением номера версии в Makefile для того, чтобы проверить, не возникнет ли проблем в пространстве пользователя.<\/p>\n<p>Изначально под счётчик номера версии в ядре было выделено 8-битовое значение, что делает вызов макроса KERNEL_VERSION(4, 4, 256) эквивалентным KERNEL_VERSION(4, 5, 0). Значение макроса KERNEL_VERSION, вычисляется так:<font size=\"2\"><\/p>\n<pre class=\"e2-text-code\"><pre class=\"e2-text-code\"><code>((a) &lt;&lt; 16) + ((b) &lt;&lt; 8) + (c))<\/code><\/pre><\/pre>\n<p><\/font>затем экспортируется в пространство пользователя в форме константы LINUX_VERSION_CODE, которая используется при проверке текущей версии ядра. Для ядра подобное переполнение не вызывает проблем, но значение LINUX_VERSION_CODE проверяется и некоторыми компонентами в пространстве пользователя, такими как GCC и Glibc, что потенциально может привести к непредсказуемым проблемам.<\/p>\n<p>Изначально разработчики ядра планировали перейти на 16-разрядный счётчик вместо 8-разрядного, но это оказалось невозможным так как константа LINUX_VERSION_CODE, вычисляемая с использованием 8-битного значения, экспортируется в пространство пользователя и замена типа приведёт к нарушению ABI. Поэтому решено оставить переполнение и посмотреть, как это отразится на пространстве пользователя. Разработчикам дистрибутивов предлагается сформировать тестовые сборки для проверки появления возможных проблем в пространстве пользователя при полной пересборке.<\/p>\n<p><font size=\"2\">Ссылки:<br \/>\n<a href=\"http:\/\/kroah.com\/log\/blog\/2021\/02\/05\/8-bits-are-enough-for-a-version-number-dot-dot-dot\/\">http:\/\/kroah.com\/log\/blog\/2021\/02\/05\/8-bits-are-enough-for-a-version-number-dot-dot-dot\/<\/a><br \/>\n<a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54544\">https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54544<\/a><\/font><\/p>\n",
            "date_published": "2021-02-07T11:50:56+03:00",
            "date_modified": "2021-02-07T11:50:25+03:00",
            "_date_published_rfc2822": "Sun, 07 Feb 2021 11:50:56 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1668",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "1499",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/linux-text-console-scrollback-support-removed\/",
            "title": "Из консоли ядра Linux удалена поддержка прокрутки текста",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/linux-console.jpg\" class=\"main_left_img\" \/>Из поставляемой в составе ядра Linux реализации текстовой консоли удалён код, обеспечивающий возможность прокрутки текста назад (CONFIG_VGACON_SOFT_SCROLLBACK). Код удалён в связи с наличием ошибок, которых оказалось некому устранить из-за отсутствия мэйнтейнера, курирующего разработку vgacon.<\/p>\n<p>Летом в vgacon была выявлена и устранена уязвимость (CVE-2020-14331), способная привести к переполнению буфера из-за отсутствия должных проверок наличия доступной памяти в буфере прокрутки. Уязвимость привлекла внимание разработчиков, который организовали fuzzing-тестирование кода vgacon в syzbot.<\/p>\n<p><b class=\"spoiler-controller pop-up_camper_15_09_20-2\">Показать<\/b><section class=\"spoiler pop-up_camper_15_09_20-2\"><\/p>\n<p><\/p>\n<p>Дополнительные проверки выявили ещё несколько похожих проблем в коде vgacon, а также проблемы в программной реализации прокрутки в драйвере fbcon. К сожалению, проблемный код давно остаётся без сопровождения, предположительно из-за того, что разработчики перешли на использование графических консолей и текстовые консоли вышли из обихода (люди продолжают пользоваться консолями vgacon и fbcon, но они уже десятилетия не являются основным интерфейсом ядра и такие расширенные возможности, как встроенная в драйвер прокрутка (Shift+PageUp\/PageDown), предположительно, мало востребованы).<\/p>\n<p>В связи с этим Линус Торвальдс принял решение не пытаться сопровождать невостребованный код, а просто удалить его. Если найдутся пользователи, которым данная функциональность окажется необходима, код для поддержки прокрутки в консоли будет возвращён в ядро как только найдётся мэйнтейнер, готовый взять его сопровождение в свои руки.<\/p>\n<p><font size=\"2\"><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=973c096f6a85e5b5f2a295126ba6928d9a6afd45\">Источник<\/a><\/font><\/section><\/p>\n",
            "date_published": "2020-09-15T17:53:47+03:00",
            "date_modified": "2020-09-15T14:44:47+03:00",
            "_date_published_rfc2822": "Tue, 15 Sep 2020 17:53:47 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1499",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "1449",
            "url": "https:\/\/gladilov.org.ru\/blog\/all\/new-operating-system-from-intel\/",
            "title": "Intel выпустила собственную ОСь mOS",
            "content_html": "<p><img src=\"\/blog\/pictures\/events\/mos.jpg\" class=\"main_left_img\" \/>Intel выпустила собственную операционную систему mOS, предназначенную для суперкомпьютеров и масштабируемых систем. Пока что она находится в стадии пре-альфы, но её уже можно использовать на некоторых суперкомпьютерах, таких как ASCI Red, IBM Blue Gene и других. В следующем году Intel рассчитывает выпустить уже полноценную версию для суперкомпьютера Aurora.<\/p>\n<p>В основе mOS лежит модифицированная версия ядра Linux с облегчёнными ядрами (lightweight kernels; LWK) для высокопроизводительных вычислений. Последняя версия mOS базируется на ядре Linux 5.4 LTS.<\/p>\n<p><font size=\"2\">Источник:<br \/>\n<a href=\"https:\/\/www.phoronix.com\/scan.php?page=news_item&px=Intel-mOS-Multi-OS-Linux\">https:\/\/www.phoronix.com\/scan.php?page=news_item&px=Intel-mOS-Multi-OS-Linux<\/a><\/font><\/p>\n",
            "date_published": "2020-08-13T15:41:49+03:00",
            "date_modified": "2020-08-13T16:12:41+03:00",
            "_date_published_rfc2822": "Thu, 13 Aug 2020 15:41:49 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1449",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3249,
    "_e2_ua_string": "E2 (v3249; Aegea)"
}