home.social

#ядро_linux — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ядро_linux, aggregated by home.social.

  1. Из ядра Linux выпилили strncpy: шесть лет, 362 коммита, одна функция

    19 июня Линус Торвальдс влил merge, который убрал из ядра Linux функцию strncpy — шесть лет работы, 362 коммита, семьдесят человек ради одной функции стандартной библиотеки C. Разбираю, почему «просто заменить небезопасную функцию» в C совсем не просто: strncpy только выглядит как «безопасный strcpy» из-за параметра n, а на деле это даже не строковая функция, а реликт fixed-width полей из AT&T Unix 1979 года. Главное в истории не сам выпил, а его цена: заменить нельзя автозаменой, потому что каждый из 362 вызовов требует понять намерение — нужна C-строка, padding или бинарное поле. Урок выходит за пределы ядра: в любой C/C++ базе на проде strncpy — это не баг, а код, который надо перечитать. Читать дальше →

    habr.com/ru/articles/1050746/

    #strncpy #ядро_Linux #C #безопасность #strscpy #легаси #Kees_Cook

  2. Июньский «В тренде VM»: уязвимости ядра Linux, Microsoft Defender и устройств Palo Alto Networks

    Хабр, привет! На связи Александр Леонов, ведущий эксперт PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно смотрим на поток информации об уязвимостях из самых разных источников: бюллетени безопасности вендоров, соцсети, блоги, телеграм-каналы, репозитории кода, базы уязвимостей и эксплойтов. Из этого многообразия мы стараемся выделять самое важное - трендовые уязвимости, которые уже используются в реальных атаках или с высокой вероятностью будут эксплуатироваться в ближайшее время. С прошлого дайджеста мы добавили в общий список еще четыре трендовые уязвимости.

    habr.com/ru/companies/pt/artic

    #трендовые_уязвимости #vm #vulnerability_management #debugs #уязвимости_и_их_эксплуатация #palo_alto_networks #ядро_linux #microsoft_defender

  3. [Перевод] Создаём брандмауэр при помощи eBPF и контрольных групп

    Технология eBPF — интересная штука. С её помощью можно без труда внедрять в ядро Linux фрагменты кода, которые затем компилируются в коды операций (опкоды), которые гарантированно не обрушат работу ядра. Набор допустимых инструкций ограничен, переходы назад не допускаются (поэтому не будет никаких неопределённых циклов). При этом вы не можете разыменовывать указатели, но вместо этого можете выполнять проверяемые операции считывания через указатели, которые потенциально могут оказаться неудачными, но при этом не спровоцируют паник на всю систему. eBPF в ядре Linux можно закреплять в тысячах хуков (точек перехвата), в качестве которых могут выступать u-пробы, k-пробы, точки трассировки и даже такие штуки как отказы страниц. У eBPF есть целый спектр захватывающих возможностей, которые при этом очень активно разрабатываются. Фичи, поддерживаемые в каждой конкретной версии ядра, перечислены в виде списка по этому адресу .

    habr.com/ru/companies/timeweb/

    #timeweb_статьи_перевод #ebpf #linux #брандмауэр #mkdir #ядро_linux #tls #интернет #http #программирование

  4. [Перевод] Почему eBPF-программа работает на одном ядре, а на другом — нет

    eBPF давно стал стандартным инструментом для работы с ядром, но на практике быстро выясняется: одна и та же программа может вести себя по-разному на соседних версиях Linux. Причина — в деталях, которые обычно остаются «под капотом»: структурах ядра, их смещениях и способе доступа к данным. В статье разбираемся, откуда берётся эта нестабильность, как работают механизмы вроде CO-RE и BTF и что на самом деле нужно учитывать, чтобы eBPF-код был переносимым и предсказуемым в разных окружениях. Разобраться в eBPF

    habr.com/ru/companies/otus/art

    #eBPF #ядро_Linux #BPF_CORE #переносимость_программ #версии_ядра_Linux #низкоуровневое_программирование #совместимость_систем

  5. [Перевод] Торвальдс рассказал, как превратил Linux из проекта одного человека в коллективную работу с помощью друзей и коллег

    Линус Торвальдс и его друзья рассказали журналисту The Register Стивену Дж. Вогану-Николсу, как сольный проект на Linux превратился в «глобальный джем-сейшен».

    habr.com/ru/articles/1001460/

    #линус_торвальдс #linux #linux_kernel #linux_kernel_development #ядро_linux #разработка_linux #история_linux #воспоминания

  6. [Перевод] Торвальдс рассказал, как превратил Linux из проекта одного человека в коллективную работу с помощью друзей и коллег

    Линус Торвальдс и его друзья рассказали журналисту The Register Стивену Дж. Вогану-Николсу, как сольный проект на Linux превратился в «глобальный джем-сейшен».

    habr.com/ru/articles/1001460/

    #линус_торвальдс #linux #linux_kernel #linux_kernel_development #ядро_linux #разработка_linux #история_linux #воспоминания

  7. [Перевод] Торвальдс рассказал, как превратил Linux из проекта одного человека в коллективную работу с помощью друзей и коллег

    Линус Торвальдс и его друзья рассказали журналисту The Register Стивену Дж. Вогану-Николсу, как сольный проект на Linux превратился в «глобальный джем-сейшен».

    habr.com/ru/articles/1001460/

    #линус_торвальдс #linux #linux_kernel #linux_kernel_development #ядро_linux #разработка_linux #история_linux #воспоминания

  8. Как работают руткиты и можно ли им противодействовать на примере Singularity

    Всем привет. Экспрементируя со способами закрепления на Linux системах в рамках разработки своей системы мониторига безопасности, я наткнулся на руткит с открытым исходным кодом Singularity . Он показался мне очень интересным, так как использует большое количество методов для сокрытия себя от обнаружения, а открытый исходный исходный код позволяет досконально изучить эти методы. В данной статье я подробно расскажу вам, с помощью каких подходов руткиты закрепляются на Linux системах на примере Singularity.

    habr.com/ru/articles/996568/

    #rootkit #rootkits #руткиты #руткит #ядро_linux #мониторинг #ebpf #обнаружение_атак #информационная_безопасность #защита_сервера

  9. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  10. 40 млн строк кода: как меняется ядро Linux в 2026 году

    Начало 2026 года для сообщества ядра Linux получилось насыщенным. В конце января в документацию добавили раздел Linux kernel project continuity. В нем описывается, что произойдет, если ключевые участники проекта внезапно не смогут выполнять свою работу. Обсуждения шли еще на Maintainers Summit в декабре 2025-го, и теперь этот вопрос зафиксирован в документации в явном виде. Все вполне логично. Ядро Linux давно превратилось в часть огромной мировой инфраструктуры — с десятками миллионов строк кода, тысячами разработчиков из компаний по всему миру и постоянным давлением со стороны требований к производительности, безопасности и энергоэффективности. Поэтому сообщество вынуждено не только поддерживать текущий уровень стабильности, но и экспериментировать, стараться сделать систему гибче и надежнее. В 2026 году проявились несколько направлений такой работы — от Rust и планировщиков до поддержки новых архитектур. Давайте посмотрим, что тут и как.

    habr.com/ru/companies/ru_mts/a

    #Linux #ядро_Linux #Rust #планировщик_задач #sched_ext #RISCV #LoongArch #Линус_Торвальдс #управление_проектом #open_source

  11. 40 млн строк кода: как меняется ядро Linux в 2026 году

    Начало 2026 года для сообщества ядра Linux получилось насыщенным. В конце января в документацию добавили раздел Linux kernel project continuity. В нем описывается, что произойдет, если ключевые участники проекта внезапно не смогут выполнять свою работу. Обсуждения шли еще на Maintainers Summit в декабре 2025-го, и теперь этот вопрос зафиксирован в документации в явном виде. Все вполне логично. Ядро Linux давно превратилось в часть огромной мировой инфраструктуры — с десятками миллионов строк кода, тысячами разработчиков из компаний по всему миру и постоянным давлением со стороны требований к производительности, безопасности и энергоэффективности. Поэтому сообщество вынуждено не только поддерживать текущий уровень стабильности, но и экспериментировать, стараться сделать систему гибче и надежнее. В 2026 году проявились несколько направлений такой работы — от Rust и планировщиков до поддержки новых архитектур. Давайте посмотрим, что тут и как.

    habr.com/ru/companies/ru_mts/a

    #Linux #ядро_Linux #Rust #планировщик_задач #sched_ext #RISCV #LoongArch #Линус_Торвальдс #управление_проектом #open_source

  12. 40 млн строк кода: как меняется ядро Linux в 2026 году

    Начало 2026 года для сообщества ядра Linux получилось насыщенным. В конце января в документацию добавили раздел Linux kernel project continuity. В нем описывается, что произойдет, если ключевые участники проекта внезапно не смогут выполнять свою работу. Обсуждения шли еще на Maintainers Summit в декабре 2025-го, и теперь этот вопрос зафиксирован в документации в явном виде. Все вполне логично. Ядро Linux давно превратилось в часть огромной мировой инфраструктуры — с десятками миллионов строк кода, тысячами разработчиков из компаний по всему миру и постоянным давлением со стороны требований к производительности, безопасности и энергоэффективности. Поэтому сообщество вынуждено не только поддерживать текущий уровень стабильности, но и экспериментировать, стараться сделать систему гибче и надежнее. В 2026 году проявились несколько направлений такой работы — от Rust и планировщиков до поддержки новых архитектур. Давайте посмотрим, что тут и как.

    habr.com/ru/companies/ru_mts/a

    #Linux #ядро_Linux #Rust #планировщик_задач #sched_ext #RISCV #LoongArch #Линус_Торвальдс #управление_проектом #open_source

  13. Обход стека в ядре Linux для RISC-V: разбираем и чиним

    Привет, Хабр! Меня зовут Матвей Быстрин, я старший инженер в команде BSP (Board Support Package)

    habr.com/ru/companies/yadro/ar

    #linux #ядро_linux #riscv

  14. [Перевод] Как удаление сорока строк увеличило производительность в 400 раз

    У меня есть привычка раз в несколько недель вкратце просматривать лог коммитов OpenJDK. Многие коммиты слишком сложны для того, чтобы я мог разобраться с ними за то ограниченное время, которое я выделил для своего... специфичного хобби . Но иногда мне удаётся найти нечто любопытное. На прошлой неделе моё внимание привлёк этот коммит : 858d2e434dd 8372584: [Linux]: Замена чтения proc для получения CPUtime потока на clock_gettime diffstat выглядел интересно: +96 вставок, -54 удалений . В changeset был добавлен бенчмарк JMH из 55 строк, что означало реальное уменьшение кода продакшена.

    habr.com/ru/articles/985548/

    #openjdk #ядро_linux #производительность

  15. [Перевод] Баги в ядре Linux в среднем прячутся по 2 года. Некоторые скрываются до 20 лет

    Прямо сейчас в вашем ядре есть баги, которые не найдут ещё многие годы. Я знаю это, потому что проанализировал 125183 бага с отслеживаемой меткой Fixes: за 20-летнюю историю Git ядра Linux. Прежде чем баг обнаружат, он в среднем живёт в ядре 2,1 года . Но в некоторых подсистемах ситуация гораздо хуже: для драйверов шины CAN этот срок в среднем составляет 4,2 года , для сетевого протокола SCTP — 4,0 года . Самый долгоживущий баг в моём датасете (переполнение буфера в ethtool) прятался в ядре 20,7 года . Баг, который я проанализирую в статье подробно (утечка refcount в netfilter), прожил 19 лет . Я создал инструмент, перехватывающий 92% исторических багов в тестовом датасете на этапе коммитов. Ниже я расскажу, какую информацию мне это дало.

    habr.com/ru/articles/983558/

    #баги #фаззинг #ядро_linux

  16. Компиляторы, AI-ассистенты и вызов IOCTL: доклады о С++ и Linux вместо новогоднего кино

    Представьте, что вам не нужно выбирать. Ни между красной и синей таблетками, ни между макарошками и пюрешкой, ни между светлой и темной сторонами. Вы можете взять лучшее от каждого предложения. Мы посмотрели все доклады

    habr.com/ru/companies/yadro/ar

    #митап #с++ #linux #linux_kernel #ядро_linux #доверенная_среда #компиляция #компиляторы

  17. [Перевод] Минимальный планировщик с eBPF, sched_ext и C

    Планировщик Linux долгое время оставался зоной, куда можно было заглянуть, но почти невозможно вмешаться без пересборки ядра. С появлением sched_ext эта граница сдвинулась: теперь логику планирования можно описывать кодом на C и загружать в ядро через eBPF. В статье разберём минимальный рабочий планировщик, посмотрим, как он взаимодействует с ядром, и обсудим, какие новые возможности это открывает для экспериментов и диагностики поведения системы под нагрузкой. Вникнуть в ядро

    habr.com/ru/companies/otus/art

    #eBPF #планировщик_задач #Linux_kernel #системное_программирование #планирование_процессов #ядро_Linux #низкоуровневое_программирование #C

  18. Мониторинг в Linux на уровне ядра. Краткое практическое введение в eBPF+Cilium

    Добрый день, всем читающим данную статью. Недавно эксперементируя с eBPF для разработки нового функционала своей EDR для linux-серверов , я столкнулся с огромной проблемой: на просторах интернета есть огромный пласт статей по теории работы с eBPF, однако кратких практических статей как работать с BPF мной найдено не было. Если быть более точным, то такие статьи есть, однако, они не дают понимания функционала. В общем, в данной статье хотелось бы написать краткий гайд по работе с eBPF с уклоном в практику

    habr.com/ru/articles/972602/

    #eBPF #bpf #go #edr #разработка #мониторинг #трассировка #ядро #ядро_linux #linux

  19. Тактирование АЦП от сигнала точного времени. Личный опыт

    Привет, мир! Меня зовут Василий, я работаю инженером-программистом в научно-исследовательском институте. Последние лет пять занимаюсь внедрением регистрирующего оборудования на базе микрокомпьютера Raspberry Pi, хочу поделиться опытом разработки. Работа еще не завершена, но материала накопилось много, думаю, он будет полезен всем, кто работает с Linux-микрокомпьютерами и учится писать драйвера для подключения разных железок. Буду также крайне признателен, если отпишутся знающие люди, поделятся советом и укажут на мои ошибки.

    habr.com/ru/articles/962110/

    #raspberry_pi #ядро_linux #модули_ядра #драйверы #ацп_и_цап #diyпроекты

  20. [Перевод] Модернизация древнего драйвера Linux с помощью Claude Code

    В качестве одного из своих увлечений я помогаю людям восстанавливать данные со старых ленточных кассет, например QIC-80, которые в 90-е годы часто применялись для резервного копирования. Ими пользовались отдельные люди, компании, операторы досок объявлений и не только. К ленточным кассетам я испытываю очень тёплые чувства. Есть нечто особое в том тактильном ощущении, которое возникает, когда держишь эту кассету в руках. Нечто такое, что делает сам процесс её использования приятным несмотря на все огрехи дизайна, которыми славилась технология QIC. Причём, если вникнуть в процесс и воссоздать все необходимые условия , то данные на этих лентах, даже спустя столько времени, вполне можно восстановить.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #ядро_linux #старое_железо #модули_ядра_linux #ftape #разработка_ядра_linux #claude_code

  21. Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны

    – Ваш терминал и ваше интернет соединение – это файл! – Да что вы такое говорите? – Скажите ещё, что и мышка в моей руке или жёсткий диск – это тоже файл. – Абсолютно верно! На самом деле, с точки зрения Linux – это так. В этой статье мы докажем это на практике и разберём один из самых неочевидных, но в то же время красивых механизмов UNIX-подобных систем, благодаря которому Linux прошёл проверку временем и стал одной из самых популярных операционных систем в мире.

    habr.com/ru/companies/timeweb/

    #linux #си #операционные_системы #низкоуровневое_программирование #сети #unix #файловая_система #жесткий_диск #железо #ядро_linux

  22. [Перевод] Чеклист по приложениям реального времени в Linux

    Может ли ядро Linux при всей своей гибкости обеспечивать гарантированное время отклика при работе с приложениями? Ядро Linux является универсальным и приспособлено к работе как с крошечными встраиваемыми устройствами, так и с титаническими серверами… а также со всем спектром машин между этими крайностями! Но может ли такое поразительно адаптивное ядро обеспечить гарантированную скорость отклика для приложения, работающего на всех этих платформах? Если в вашем приложении допустимая задержка при отклике укладывается в 200 микросекунд — то уверенно отвечаем на этот вопрос «да»! (Кстати, для Linux такая планка совсем не высока, но, чтобы её держать, потребуется тщательно подбирать аппаратное обеспечение и, возможно, обратиться ха консультацией к специалисту по системам Linux, работающим в режиме реального времени). Итак, почему же в приложении, работающем под Linux, иногда могут возникать задержки свыше 200 микросекунд? Универсальность ядра Linux требует сбалансировать пропускную способность, время отклика и честность распределения процессорной мощности, чтобы соответствовать требованиям такой универсальности. Если по одному из этих аспектов предъявляются жёсткие требования, то необходимо тонко настраивать как само ядро, так и поведение приложения. В этом посте рассмотрим 10 основных пунктов, которые необходимо учитывать при разработке системы Linux, к которой предъявляются строгие требования по работе в режиме реального времени. По каждому пункту также упомяну, в каком аспекте легко засыпаться разработчику-новичку, только приступающему к программированию систем реального времени под Linux.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #linux #ядро_linux #программирование #операционная_система #администрирование #ram

  23. [Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

    Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

    habr.com/ru/companies/otus/art

    #c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

  24. [Перевод] Собираем и запускаем минимальное ядро Linux

    Однажды на работе техлид порекомендовал мне проштудировать книгу Understanding the Linux Kernel Бове и Чезати. В ней рассмотрена версия Linux 2.6, сильно не дотягивающая до более современной версии 6.0. Но в ней явно ещё много ценной информации. Книга толстая, поэтому на её изучение мне потребовалось немало времени. Занимаясь по ней, я решил настроить такую среду разработки, в которой я мог бы просматривать и изменять новейшую версию ядра Linux — чтобы было ещё интереснее. Есть и другие статьи, в которых рассказано, как собрать ядро Linux. Но в этой статье я немного иначе организую и подаю информацию.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи_перевод #linux #ядро_linux #kgdb #qemu #busybox #vim #cd #ifplugd #install

  25. Технологии решают: про Web3, автоматизацию, кванты и российский open source

    Уходящий год отчетливо дал понять, что в ближайшее время тренды на рынке кибербезопасности будут диктовать технологии. Блокчейн и искусственный интеллект все глубже проникают в бизнес- и государственные процессы, однако четких механизмов работы с ними все еще нет. Это формирует пространство для возникновения новых неизученных уязвимостей и атак. Продолжаем подводить киберитоги и киберпрогнозировать!

    habr.com/ru/companies/pt/artic

    #cybersecurity #web3 #ai #автоматизация #блокчейн_технологии #ядро_linux #fortinet #trism #open_source #постквантовая_криптография

  26. [Перевод] Что такое PID 0

    Как говорится, «не будите во мне ботана». Иногда кто-нибудь беспечно задаст мне, казалось бы, невинный вопрос — и я убиваю следующие несколько часов (в описываемом случае — дней), чтобы полноценно сформулировать ответ. Обычно всё это заканчивается с моей стороны очередной филиппикой на mastodon или в каком-нибудь приватном чате. Но на сей раз не буду этим ограничиваться и напишу целый пост. Вот с какого невинного вопроса всё началось: А почему UID начинаются с 0, но PID начинаются с 1? Если совсем коротко: в Unix PID (идентификаторы процессов) начинаются именно с 0! PID 0 просто не отображаются в пользовательском пространстве через традиционные API. PID 0 запускает ядро, а затем практически уходит на покой, только немного участвует в работе планировщика процессов и в управлении питанием. Кроме того, на просторах Интернета доминирует заблуждение о PID 0, всё из-за одного ошибочного утверждения в Википедии, которому уже 16 лет. В заключении к посту я дам несколько расширенную версию этого короткого ответа, но если хотите до него дойти вместе со мной — давайте разберём достаточно длинную среднюю часть. Но, конечно же, любой желающий может просто загуглить, что такое PID 0, верно? Зачем мне вообще всё это писать?

    habr.com/ru/articles/822193/

    #PID #Linux #Unix #ядро_linux

  27. Материнские платы Intel Carillo Ranch: драйверы для несуществовавшего «железа» удалили из Linux спустя 17 лет

    В мире информационных технологий загадок и занимательных историй не меньше, чем в большинстве детективных рассказов. Совсем недавно произошла одна такая история: из ядра Linux удалили драйверы материнских плат семейства Carillo Ranch . В целом это обычная процедура по прекращению поддержки морально устаревших систем. Но проблема в том, что самого семейства этих плат никогда не существовало. Возможно, их планировали выпустить, но, кроме названия и драйверов, до потребителей ничего не дошло. Подробности — под катом.

    habr.com/ru/companies/ru_mts/a

    #история_it #компьютерное_железо #старое_железо #linux #intel #материнские_платы #ядро_linux

  28. Тайны пингвина: как работают исключения и прерывания в Linux?

    Привет, хабр! Моя прошлая статья о работе памяти в Linux вам понравилась. Сегодня мы разберем работу исключений и прерываний. Что это, как они работают в ОС и Linux? Давайте разберемся вместе!

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #linux #unix #операционные_системы #системное_программирование #низкоуровневое_программирование #прерывания #исключения #ядро_linux