Рубрика «linux» - 18

Пособие по программированию модулей ядра Linux. Ч.4 - 1


Перед вами очередной фрагмент последней версии руководства по написанию модулей ядра от 2 июля 2022 года. Тема этой части — системные вызовы. В ней вы познакомитесь с этим понятием на примере создания собственной функции для открытия файлов, которая будет подменять собой исходную sys_open, а также следить за конкретным пользователем, информируя нас об открываемых им файлах. Читать полностью »

25 августа 1991 - День рождения Linux

Говорят, "Лучший подарок на день рождения - книга" и "Нет лучше подарка, чем сделанный своими руками". А так как сегодня 25 августа - день первого упоминания о системе, получившей название Linux, то
🖐Linux, с днем Рождения!!! 🎂 📖

Читать полностью »

Введение

apt-key - это утилита, используемая для управления ключами, которые APT использует для аутентификации пакетов. Это тесно связано с утилитой add-apt-repository, которая добавляет внешние репозитории с использованием серверов ключей в список надежных источников установки APT. Однако ключам, добавленным с помощью apt-key и add-apt-repository, aptЧитать полностью »

Пособие по программированию модулей ядра Linux. Ч.2 - 1


Продолжение последней версии руководства по написанию модулей ядра от 2 июля 2022. В первой половине текущей части мы подробнее разберём структуру и принцип действия модулей, узнаем, чем отличается пространство пользователя от пространства ядра, а также немного поговорим об использовании памяти. Вторая же половина будет посвящена одному из типов модулей — драйверам устройств, основы работы с которыми мы также подробно рассмотрим.
Читать полностью »

Пособие по программированию модулей ядра Linux. Ч.1 - 1


Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав лицензирование, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.Читать полностью »

Сетевой стек TCP/IP не в одночасье стал паутиной, соединившей интернет от края до края. Вся система развивалась довольно бурно, противоречиво, но в целом через инкрементальные усовершенствования в разных местах. Не было какого-то единого плана создания глобальной коммуникационной сети и подходящего под эти цели стека протоколов. Из-за этого вместо сферической семиэтажной OSI в вакууме в наличие у нас есть причудливое смешение технологий и протоколов, где стандарты, написанные в 1970-х всё ещё живы, лягаются и даже обеспечивают нагрузкой ваши боевые сервера.

The less popular 8.8.4.4 is slated for discontinuation
Figure 1. Комикс xkcd на злобу дня

Всё это в полной мере относится к подсистеме разрешения имён, aka name resolving, и DNS, как современной и наиболее полноценной реализации этой ключевой технологии. В качестве такового DNS пережил разнообразных саблезубых тигров и археоптериксов вроде YP/NIS/NIS+ эпохи накопления битов, вследствие чего в нём набралось немало артефактов и пасхальных яиц. Иногда их обнаруживают случайно при раскопках с помощью dig, но есть также и новые, нестандартные применения старого механизма.Читать полностью »

Новое, старое, улучшенное и поддержка китайских процессоров: что собой представляет ядро Linux 5.19 - 1

Прошло совсем немного времени со времени релиза 5.18, и Линус Торвальдс представил новый — 5.19. Как всегда, исправлений огромное количество — свыше 16 000 от 2190 разработчиков. В прошлом релизе было примерно столько же, так что в мире Linux, можно сказать стабильность.

Объем патча составил 90 МБ, при этом изменены в разной степени почти 14 000 файлов. Добавлено 1,14 млн строк кода, удалено при этом 349 177 тыс. Что касается фокуса изменений, то активнее всего велась работа с драйверами устройств, это около 39% всех изменений, еще около 21% — обновление кода, связанное с различными аппаратными архитектурами. Ну и уже меньше изменений, связанных с сетевым стеком, файловыми системами и внутренними подсистемами. Под катом подробности о главных новшествах и апдейтах.
Читать полностью »

Предисловие

Полагаю буду следующим в серии статей-альтернатив:

  1. Раз!

  2. Два!

Раньше у нас использовалась заливка ОС по PXE с использованием syslinux, но как бывает с самодостаточными системами и без достаточного контроля и внимания - быстро превратилась в кашу из конфигураций, библиотек, загрузчиков.

Так же была необходимость в поддержке заливки разных ОС в режиме EFI - на тот момент заливка была только в Legacy.

Читать полностью »

Прочитав по диагонали статью гражданина @Winseven«ICMP открывашка портов для сервера», я сдержался. Все-таки велосипединг — это весело. Но вчитавшись, я опешил. Зачем запускать отдельное приложение для отслеживания нужных пакетов? Правильно ли, что достаточно один раз попасть пальцем в небо, чтобы порт был открыт? По мне, как-то не по фэншую.

Душа все это не вынесла, и я решился на статью.

Читать полностью »

В этом посте будет проанализировано, как каналы Unix реализуются в Linux. Для этого мы напишем и в несколько итераций оптимизируем тестовую программу, которая записывает и считывает данные через канал1.

Сноска 1

Стилистически эта работа будет напоминать исследование производительности на примере atan2fЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js