Всем привет, это Тимур. Сейчас в YADRO я разрабатываю сетевую операционную систему для коммутаторов KORNFELD. В ходе этого проекта летом я получил сложную задачу: реализовать установку опции PROTO_DOWN для Ethernet-интерфейсов в ядре Linux. «Из коробки» ядро поддерживает эту опцию только для vxlan и macvlan-интерфейсов, а для Ethernet поддержка определяется драйвером сетевого устройства.
Рубрика «C» - 3
Как патчить ядро Linux: подробное руководство
2025-11-27 в 10:32, admin, рубрики: C, Git, kernel, kornfeld, linux, linux kernel development, коммутаторы, патчингБиблиотеки на С слишком сложны. И в этой статье я хочу подробно описать что конкретно под этим имеется в виду и почему оно происходит
Нет, я не про сложность задач, которые они решают, не про количество кода или его качество, а про то, что они представляют собой для конечного пользователя.
Библиотеки не просто сложны, они выглядят намеренно переусложнёнными, как будто разработчики намеренно делали всё, чтобы то во что они вкладывали годами свой труд невозможно было использовать.
Мой первый pet-проект: процесс-менеджер synd3
2025-10-20 в 5:21, admin, рубрики: C, c++, linux, ncurses, open source, pet-project, process management, process manager, system programming, tuiВсем привет!
Пишу этот пост, чтобы поделиться своим опытом и получить критику или советы от людей с большим опытом.
Мне 22 года, я из Латвии. По образованию я судовой механик, но уже около 4 лет увлекаюсь программированием. Долгое время это оставалось хобби: пробовал сайты, простые игры — но они не приносили настоящего удовольствия. Я считал, что в программировании нужно было разбираться ещё со школы, и долго не верил, что могу найти себя в этой сфере.
Подробно о неопределённом поведении в С и C++
2025-10-14 в 15:19, admin, рубрики: C, c++, встраиваемые системы, Компиляторы, неопределённое поведение, статический анализПри работе с C или C++ необходимо в какой-то степени разбираться в неопределённом поведении (UB): что это такое, каковы его эффекты, и как о него не споткнуться. Для простоты картины я буду в этой статье рассказывать только о C, но всё изложенное здесь также применимо и к C++, если явно не указано иное.
Что такое неопределённое поведение?
Общеизвестно, что на С программировать сложнее, чем на таких языках, как Python.
В определённых отношениях дело в том, что язык C низкоуровневый, близкий к ассемблеру. Он просто выдаёт вам практически то же самое, что выдаёт машина, на которой выполняется код.
Профессия программист С: плюсы, минусы и нужен ли свитер
2025-10-10 в 14:05, admin, рубрики: C, c++, Postgres Pro, postgresql, профессия, язык программирование, язык с, язык сиЯзык C — это парадокс. Созданный полвека назад, он до сих пор лежит в основе операционных систем, баз данных и любого «железа», требующего максимальной производительности. Его называют сложным, устаревшим и недружелюбным. Но почему тогда лучшие системные программисты не спешат от него отказываться? Разбираемся в философии, плюсах и минусах C вместе с Максимом Орловым, программистом Postgres Professional с 22-летним стажем.
Как победить CMake: отладка CMake-скриптов
2025-09-26 в 8:19, admin, рубрики: build, build system, C, c++, cmake, cmake инструкция, debug, debugger, guide, гайдЯ много работаю с CMake. И периодически сталкиваюсь с довольно сложными и запутанными CMake-скриптами. Долгое время я использовал логи, чтобы разобраться в их работе и выполнить отладку. Позже обнаружил, что в CMake есть встроенный отладчик и профилировщик, которые сильно упрощают процесс отладки. Кажется, не все знают об их существовании и о том, как с ними работать, поэтому я решил написать эту статью.
Пишем и запускаем свой исполняемый файл на Linux
2025-09-23 в 12:16, admin, рубрики: C, linux, велосипед, велосипедостроение, исполняемый файл, ядроВсем привет!
Я бы хотел создать цикл статей, который будет посвящен созданию слоя совместимости для запуска Windows приложений на ОС семейства Linux. При этом хочу сделать акцент на реализации собственного формата исполняемого файла и использования метода дистилляции для перевода программного кода из формата в формат. Это очень обширная тема, чтобы уместить её в одну статью, а также достаточно сложная для понимания «извне», поэтому я буду стараться излагать всё на доступном языке и подходить к этой тематике, так скажем, из далека.
Читать полностью »
История Rust: от стартапа до продакшена
2025-09-10 в 8:00, admin, рубрики: C, c++, openfix, Rust, selectel, будущие яп, история развития rust, Программирование, развитие яп
Вокруг Rust в Linux-сообществе до сих пор не утихают жаркие споры. Кто-то считает его спасением, а кто-то — проклятием. В дебатах сталкиваются две позиции: сторонники видят в нем ключ к безопасности и модернизации ядра, противники опасаются усложнения и нарушения традиционных подходов.
