Обновить
256K+

Linux *

Пишем под *nix

418,37
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Ускорение процесса разработки под Embedded Linux

Время на прочтение11 мин
Охват и читатели15K

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее

Кунг-фу стиля Linux: делаем все и сразу

Время на прочтение5 мин
Охват и читатели16K
Вы никогда не задумывались о том, что компьютеры чрезвычайно глупы? Даже самый мощный процессор не может много сделать. Однако он может делать то, что делает, очень быстро и повторять это много раз. Компьютеры настолько быстрые, что может казаться, что они делают много вещей одновременно, а современные компьютеры еще и имеют несколько процессоров, чтобы улучшить свои возможности по многозадачности. Мы часто не пишем программы или сценарии, чтобы воспользоваться этим. Однако, как вы сейчас поймёте, для этого нет никаких причин.


Читать дальше →

Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7

Время на прочтение9 мин
Охват и читатели20K

Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций. Каждый из них состоит из большого количества микросервисов.

Когда мы мигрировали один из наших микросервисов с CentOS 7 с ядром 4.19 на Oracle Linux 7 с ядром 5.4, мы заметили рост утилизации процессора на наших stress/performance-тестах. В статье я расскажу, как мы исследовали причины роста утилизации процессора сначала в user-space, а потом и в kernel-space и о том, к какому результату это нас привело.

Читать далее

Вышел Debian 11 «Bullseye»

Время на прочтение1 мин
Охват и читатели42K


14 августа 2021 года состоялся релиз Debian 11 «Bullseye». Новая версия ОС вышла спустя два года, один месяц и девять дней разработки. Она основана на ядре Linux версии 5.10 и содержит 59 551 бинарных пакетов, среди которых 11 294 новых, 42 821 были обновлены, а 5 434 остались без изменений от Debian 10. В проекте участвовали более 6 тыс. разработчиков. Debian 11 «Bullseye» будет поддерживаться в течение пяти лет.
Читать дальше →

Intel удалила видеодрайверы для Cannon Lake, которые поставлялись без видеоадаптера

Время на прочтение1 мин
Охват и читатели5K

Согласно списку изменений в ядре Linux, Intel удаляет поддержку своего графического драйвера Cannon Lake в грядущей версии 5.15. Эти мобильные 10-нм чипы поставлялись без активного встроенного графического ядра.

Читать далее

Steam Deck будет работать на Arch Linux, а не Debian

Время на прочтение4 мин
Охват и читатели16K

Дистрибутив SteamOS, который будет использоваться в Steam Deck, переезжает с Debian на Arch Linux. Этот шаг можно счесть грамотным при условии, что Valve приложит достаточно усилий к последующему обслуживанию, ведь для получения лучшего игрового опыта под Linux необходимы самые последние версии ПО, что, собственно, и послужило основной причиной перехода.
Читать дальше →

Как оформить серию коммитов Git, чтобы её приняли в любой проект

Время на прочтение8 мин
Охват и читатели35K

Добрый день, коллеги! Доказывать, что нужно использовать систему контроля версий, уже давно не нужно. И Git занял тут лидирующую позицию, стремительно вытеснив SVN. Но это инструмент, а инструментом нужно уметь пользоваться, чтобы добиться лучших результатов. Как топором, один человек сможет просто срубить дерево а другой из этого дерева сможет сделать великолепную скульптуру. Так и с помощью Git, один человек сможет просто не потерять результаты своего труда за день, а другие смогут организовать совместную работу над проектом нескольких сотен человек. Да так, что о любой строчке кода можно будет и через пять лет сказать, откуда она взялась и для чего нужна.

Постараюсь рассказать для начинающих и не очень разработчиков, как оформлять свои коммиты, чтобы их максимально быстро и без претензий принимали в любые проекты, как опенсорсные так и коммерческие.

Читать далее

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Время на прочтение18 мин
Охват и читатели20K

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

Одноклассники – высоконагруженная социальная сеть, и оптимизировать под высокие нагрузки нам нужно не только сервисы, но и инфраструктуру, на которой они работают. Нередко «узким горлышком» становится сама операционная система и, в частности, механизмы распределения ресурсов ядра Linux. 

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

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее

Установка Golang в WSL (WSL 2) с помощью Visual Studio Code

Время на прочтение2 мин
Охват и читатели18K

Здравствуйте! В статье представленна инструкция по установке языка программирования Golang в подсистему Linux на Windows 10 (11). Если у вас уже установлен WSL2 и Visual Studio Code, то смело переходи на 3 часть этой статьи, для всех других же...

Читать далее

Преобразование dxf в svg

Время на прочтение6 мин
Охват и читатели6.1K
Речь в статье пойдёт о программе на С/С++, написанной под Ubuntu, редактор — CodeBlocks. dxf — открытый формат, спецификация которого написана компанией Autodesk. Предполагаемое назначение — отображение dxf чертежей в веб проектах. Да, можно экспортировать из кое-каких редакторов, например, Librecad под Ubuntu или Acme CAD Converter под Windows, но это не во всех случаях может подходить, например, если нужна кастомизация.
Читать дальше →

Google: команде безопасности ядра Linux не хватает примерно сотни инженеров

Время на прочтение2 мин
Охват и читатели10K

Команда безопасности Google заявила, что код ядра Linux недостаточно хорош, так как еженедельно выходит более 100 исправлений, и для работы над ним требуется еще как минимум 100 инженеров.

Читать далее

В Raspberry Pi OS появилась встроенная поддержка SATA

Время на прочтение2 мин
Охват и читатели8.9K


Спустя несколько месяцев тестирования различных SATA-карт на Raspberry Pi Compute Module 4, в ядро Raspberry Pi OS наконец-то была добавлена встроенная поддержка SATA.
Читать дальше →

У пустого пакета npm «-» обнаружили 700 тысяч загрузок

Время на прочтение2 мин
Охват и читатели12K


Эксперты Bleeping Computer обнаружили, что у пустого пакета npm «-» более 700 тысяч загрузок. Причем их количество все время возрастает с каждым днем. Вероятно, разработчики и пользователи его случайно устанавливают, когда ставят лишний пробел между «i» и "-" при установке флагов в нужных им пакетах с помощью пакетного менеджера npm.
Читать дальше →

Ближайшие события

В статистике Steam доля Linux достигла 1,0 %

Время на прочтение1 мин
Охват и читатели6.5K


Согласно июльскому отчету состава пользовательского оборудования и ПО Steam, суммарная доля игровых ПК с Linux теперь составляет 1%. Этот параметр очень медленно рос с 2015 года и составлял лишь десятые доли процента от всех пользователей сервиса, которых более 125 млн. Последние 3 года доля Linux составляла стабильно 0,8-0,9 %. За последний месяц этот показатель увеличился сразу на 0,11 %.
Читать дальше →

Linux kernel 5.14 — что изменится в новом ядре

Время на прочтение3 мин
Охват и читатели22K

Линус Торвальдс представит его в конце августа. Поговорим об изменениях — инженеры удалили устаревший IDE-драйвер, сделали шаги для принятия Rust в качестве официального инструмента разработки и обновили сетевые компоненты.

Читать далее

Объектно-ориентированное программирование на Си без плюсов. Часть 2. Таймер

Время на прочтение12 мин
Охват и читатели11K

    Время это одно из измерений окружающего нас мира, а любая определяемая сущность или находится (условно) в состоянии покоя, или изменяет своё состояние в течение времени. И, естественно если нет возможности контроля времени, что-то существенное сварганить не получится. Поэтому первое, что должно быть - это решение в виде таймера.

    Для Linux в Си в настоящее время есть следующие функции:

unsigned int sleep(unsigned int __seconds); ,

объявленная в файле <unistd.h> и

int nanosleep(const struct timespec *req, struct timespec *rem); ,

объявленная в файле <time.h>

    Обе выполняют одну задачу, приостанавливают работу потока в котором была вызвана функция на заданное время, поэтому с данными функциями очевидным является простое решение (как говорится «решение в лоб») выделить для таймера отдельный поток.

    Есть ещё функция clock_nanosleep(), можно включить режимы SHED_FIFO или SCHED_RR для более точной работы, всё это конечно хорошо, но я решил ограничиться только выше указанными.

    Таймер должен соответствовать следующим требования: должен минимально потреблять вычислительные ресурсы, должен мгновенно включаться/выключаться, при этом сбрасывать своё состояние и обязательно быть достаточно точным.

    Для начала я разберу пару решений которые конечно будут работать, отмечу их плюсы и минусы, но так делать не надо! А в конце покажу решение которое меня в принципе полностью удовлетворяет, реализовано в рамках правил определённого ранее шаблона и надеюсь может быть использовано в дальнейших проектах.

Читать далее

Linux на мобилках, PDFium и как рендерить PDF в 2 раза быстрее

Время на прочтение4 мин
Охват и читатели7.9K

Привет, Хабр! В этой статье хотим рассказать о том, как мы протестировали три основные открытые библиотеки для работы с PDF-документами: Poppler, PDFium и MuPDF. Сравнили скорость рендера документов разного объёма, качество рендера, требования к технологиям разработки и условия лицензий для коммерческих продуктов на базе этих библиотек. Спойлер: победителем стала библиотека PDFium, но, как всегда, есть нюансы. Под катом обо всём по порядку.

Читать далее

Автоматизируем FreeIPA: как устанавливать клиентов с помощью Ansible и управлять DNS записями через Terraform

Время на прочтение3 мин
Охват и читатели18K


У нас в Altenar собралась достаточно большая и продвинутая команда разработчиков. За эти годы внутри компании накоплен разнообразный опыт в создании и развитии высоконагруженных систем. Поэтому время от времени коллегам хочется поделиться с миром своими знаниями. Регистрироваться на Хабре они пока не готовы, зато совсем не против материализовываться на моей странице. Надеюсь острой аллергии это у вас не вызывает. Если будут вопросы к материалу, смело оставляйте их в комментариях, обещаю молниеносно перенаправлять авторам статьи. Добро пожаловать за кат.
Читать дальше →

Линус Торвальдс заявил, что драйвер NTFS готов к добавлению в ядро Linux

Время на прочтение2 мин
Охват и читатели21K

Драйвер файловой системы NTFS, разработанный российской компанией Paragon Software, готов для включения в ядро ОС Linux, если Paragon сама займется его интеграцией и сопровождением, сообщил создатель Linux Линус Торвальдс.

Читать далее

6 навыков устранения неполадок в Ansible Playbooks, шпаргалка по Node.js Event Emitter и не только в #полезногопост

Время на прочтение2 мин
Охват и читатели3.7K

Подборка новых шпаргалок, вебинаров, свежих статей и полезных книг в самом полезном дайджесте на просторах #Хабр! Оставайтесь с нами – станьте частью DevNation!

Читать дальше: 6 навыков устранения...