Рубрика «linux kernel»

Когда в последний раз Вы задумывались, как выделяется память на самом низком уровне? Пытались ли Вы изобрести этот «велосипед» с нуля? Простой ли это «велосипед»?

В данной серии публикаций я постараюсь рассказать про выделение памяти в операционной системе Linux 6-й версии ядра с картинками и источниками, а также рассказать про особенности ее работы со стандартной библиотекой C. Целью данной серии публикаций является выявление связи вызова malloc, структур ядра, системных вызовов и выделений физических страниц процессам.

Ну что, пошлите смотреть, из чего сделан «велосипед» памяти?

Основная часть

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

Аннотация: Это жизненная история о том, как нестабильная легаси-шины принесла миллионные потери. Бизнесу — в рублях, всему персоналу от инженеров до топов — в виде погибших нервных клеток.


1. Пролог: «Антивирус, как спусковой крючок»

Инфраструктура проекта была отлажена годами. Случались иногда в ней какие-то аварии, но обычно из них удавалось довольно быстро выпутаться. Мы, команда поддержки, уже точно знали все болячки, имели всякие припарки. Наша команда обеспечивала работу и обновление следующего состава:

Коллеги, приветствую, обзорная статья работы с Corgi SoM v1 на базе AMD (Xilinx) Zynq-7000. Статья охватывает работу модуля с Vivado IDE, Vitis IDE, подготовку базового образа, работу с Embedded Linux (u-boot, device tree, linux kernel, rootfs). Подготовку образа для SPI NOR памяти, SPI NAND памяти и сопутствующие моменты необходимые для старта работы с данным модулем. Дополнительно статья будет полезно для linux embedded разработчиков, которые делать будут bring-up плат на базе AMD(Xilinx) zynq платформ.

1. Описание Corgi SoM

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

Практические примеры

Ссылки на репозитории с примерами:

  1. Containy –  реализация контейнерной утилиты на языке Golang

  2. Namespaces example – лёгкий пример работы пространств имён на C++

Всё это будет подробно разобрано в статье. Но не пугайтесь, утилита на Golang необязательна для понимания всего того, о чём пойдёт речь. Это бонус для любителей гоферов.

Также, в каждом из репозиториев дано отдельно описание, но для начала лучше прочитать статью :)

Глоссарий

  1. ПрограммаЧитать полностью »

Если вам неудержимо хочется использовать оборудование из музея для современной разработки — статья специально для вас.

Машины должны служить а не требовать ресурсы. И автор патча l9 об этом знает.

Машины должны служить а не требовать ресурсы. И Читать полностью »

Иногда самые простые задачи превращаются в мини-приключения. Например, когда вам нужно подключить UARTLite на FPGA к Linux через PCIe. Кажется, ну что там? Пару регистров, пара прерываний… А на деле — несколько дней за Vivado, отладка XDMA и борьба с драйверами. 😅

В этой статье я расскажу, как я всё-таки победил UARTLite через XDMA и как вы сможете повторить это без боли.

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

Доброго времени суток!

Это краткая инструкция о том, как собрать Kali Linux (можно и любой другой дистрибутив) для Orange PI PC.

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

Как перенести Linux Device Drivers на современные ядра - 1

Наверное, каждый разработчик рано или поздно задумывается о том, что же происходит в операционной системе на уровне ядра. Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие).

В книге Читать полностью »

DPDK на динозаврах и гаишниках - 1

Как часто менеджерам, дизайнерам и UX-исследователям приходится вникать в проблемы сетевого стека Linux-ядра? Подозреваю, что не часто. Но если вам пришлось это сделать, у меня хорошая новость! Я уже прошла этот путь, полный админских терминов и бесконечных аналогий, и подготовила краткое содержание в комиксах. Теперь вам не нужно будет переводить с технического на дизайнерский!

Меня зовут Наташа, я UX-исследователь в Selectel. В тексте расскажу о DPDK: что это и какую проблему решает, а также зачем потребовалось юиксеру. 🙂Читать полностью »


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