Обновить
380.22

Linux *

Пишем под *nix

Сначала показывать
Порог рейтинга
Уровень сложности

Большинство оконных приложений — это недоработанные real-time приложения

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9.6K

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

Я программирую уже давно. Под давно я имею в виду не один десяток лет работы. Надеюсь, это достаточно долго. За это время мой опыт в основном заключался в программировании для современных платформ вроде Linux, Windows, macOS для десктопных и серверных архитектур процессоров. Недавно я участвовал в создании MIDI-движка для систем значительно меньшей мощности.

Вскоре после начала я столкнулся с проблемой, которая требовала обеспечить невозможность переполнения очереди событий ввода. По сути, эта задача сводится к тому, чтобы каждый обработчик событий не выполнялся дольше некой максимальной продолжительности времени. Затем меня осенило! Я уже слышал это раньше — «максимальная продолжительность времени», так как занимаюсь разработкой систем, работающих в реальном времени.
Читать дальше →

Новое, старое, измененное: что появилось и что пропало в бета-версии релиза Fedora Linux 39

Время на прочтение4 мин
Количество просмотров8.8K
image

Спустя примерно полгода после выхода дистрибутива Fedora Linux 38 появился бета-выпуск следующей, 39 версии. На данном этапе допускается только исправление критических ошибок. Финальный же релиз появится через пару недель — 17 октября.

Заявляется, что это выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки. Речь идет о сборках, которые поставляются в форме спинов с KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Среди поддерживаемых архитектур — x86_64, Power64 и ARM64 (AArch64). Ну а главные подробности — под катом.
Читать дальше →

Что надо знать КИИ об инфраструктуре разработки операционной системы?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.4K

Не все российские операционные системы (ОС) одинаково российские. Ряд ОС, которые позиционируются как отечественные, на самом деле являются клонами зарубежных. Переход на такие программные продукты не дает возможности организации или предприятию обеспечить технологический суверенитет ИТ-инфраструктуры и выполнить требования Указа Президента Российской Федерации от 30.03.2022 № 166 «О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры Российской Федерации».

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

Читать далее

Как у меня украли авторство патча

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров27K

Примерно полтора года назад я попросил у своей бывшей компании разрешения поработать над проблемой, влиявшей на возможности отладки нашего проекта: gdbserver не мог отлаживать многопоточные приложения, работающие на архитектуре PowerPC32. Подключение к gdbserver было поломано, и он больше не мог контролировать сессию отладки. Разные люди исследовали эту проблему до меня, и у меня уже был неплохой фундамент, но мы всё равно не знали точно, в каком конкретно программном компоненте таится проблема: это мог быть тулчейн, gdbserver, ядро Linux или собственные патчи, которые мы устанавливали поверх дерева ядра. От нахождения первопричины мы находились довольно далеко.

Читать далее

Как мы анализируем потребление памяти нативными приложениями (C++, Windows, Linux)

Время на прочтение13 мин
Количество просмотров9K

Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.

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

О том, какие инструменты мы пробовали использовать, почему они нам не подошли и как мы в итоге решили задачу анализа использования памяти – под катом.

Читать далее

Ubuntu 23.10: что нового в бета-выпуске дистрибутива. Возможности и изменения

Время на прочтение4 мин
Количество просмотров8.7K

Буквально несколько дней назад разработчики представили бета-выпуск дистрибутива Ubuntu 23.10 Mantic Minotaur. Далее последуют финальное тестирование, поиск и исправление ошибок, если они, конечно, есть. Образы текущей версии готовы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, Ubuntu Kylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

Читать далее

Устраняем ошибки, связанные с SIGSEGV: ошибка сегментирования в контейнерах Linux (код возврата 139)

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров21K
image

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

Сигналы SIGSEGV возникают на уровне операционной системы, но столкнуться с ними также вполне можно и в контексте контейнерных технологий, например, Docker и Kubernetes. Когда контейнер завершает работу, выдав код возврата 139, дело именно в том, что он получил сигнал SIGSEGV. Операционная система завершает процесс контейнера, чтобы предохраниться от нарушения целостности памяти.

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

В этой статье будет объяснено, что представляют собой сигналы SIGSEGV, как они влияют на работу ваших контейнеров с Linux в Kubernetes. Также я подскажу, как отлаживать ошибки сегментации в вашем приложении, а если они возникают – как с ними справляться.
Читать дальше →

Популярные инструменты в kali linux

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров27K

Привет! Меня зовут Павел. Сегодня я расскажу про популярные инструменты в kali linux. Основывал статистику на своем опыте и на пределы популярности. Если не согласны, то делитель своими мнениями.

Читать далее

Промышленные контроллеры, Linux и только C++. Часть 1

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров15K

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

Читать далее

2.0.Виртуализируем базы данных в NixOS

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.9K

Всем привет. Предлагаю сделать передышку и отойти от нашего хранилища бэкапов и рассмотрим еще возможности инструментов Nix. Мы поработаем с Postgresql,Mysql,Qemu и открытыми данными

Читать далее

Запуск приложений на .NET в качестве службы на Linux-системе с systemd

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров17K
image

В этом материале будет рассмотрено, как запускать приложение .NET Core / .NET 5 в качестве сервиса под Linux. Мы воспользуемся Systemd, чтобы интегрировать наше приложение с операционной системой, научимся запускать и останавливать наш сервис, а также получать от него логи.

Чтобы организовать атаку на цепочку поставок при помощи .NET, мне потребовалось настроить DNS-сервер, который перехватывал бы те хост-имена, которые ко мне направляются. Давайте возьмём этот кейс для примера.
Читать дальше →

Почему в России большим компаниям нужен on-premise

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров11K

В мире информационных технологий существует два основных способа размещения инфраструктуры - внутри контура предприятия (on-premise) и в облаке (cloud-based). В данной статье мы рассмотрим преимущества on-premise и почему они могут быть выгодными для некоторых организаций.

Читать далее

Четыреста слов про Брэма Муленара и vim

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K

Когда я возобновил публикации про vim летом этого года, я совсем не ожидал, что вскоре прочитаю столь печальную новость.

Я отдыхал две недели, а потом у меня отказал старый ноутбук. Пришлось достать из чулана железку поновее и потратить некоторое время на её настройку.

Читать далее

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

VulkanSceneGraph: Введение в графическую библиотеку

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров5.6K

Возможно, кто-то из читателей помнит мою серию публикаций о графической библиотеке OpenSceneGraph. Уже на тот момент, в общем-то было понятно, что использование OpenSceneGraph в 2018 году мало оправдано из-за того, что OpenGL, на котором основан OpenSceneGraph потихоньку сдает свои позиции. В феврале 2016 года орган по стандартизации OpenGL Khronos group, выпускают приемника OpenGL - Vulkan API версии 1.0. Производители оборудования в общем-то почти сразу стали добавлять в драйверы своей аппаратуры поддержку нового API. По крайней мере, актуальная на тот момент GeForce GTX 970 уже имела таковую поддержку (про более старые серии аппаратуры ничего сказать не могу).

Не смотря на то, что OpenSceneGraph таки получил поддержку OpenGL 3.x (и ваш покорный слуга собирал его с таковой поддержкой), разработчикам этой библиотеки стало понятно, что огромное количество внутренних проблем OpenGL делает его поддержку бесперспективной. Поэтому, в конце мая 2018 года стартовала разработка новой графической библиотеки VulkanSceneGraph, ориентированной исключительной на Vulkan API. 13 ноября 2022 года состоялся официальный релиз VulkanSceneGraph-1.0, а совсем недавно, 31 августа 2023 выпустили VulkanSceneGraph-1.0.9.

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

Читать далее

Всего два месяца — и новый релиз ядра Linux. Что появилось в ядре 6.5, что изменилось и что удалили. Новые возможности

Время на прочтение5 мин
Количество просмотров17K
image

Новый релиз ядра Linux 6.5 вышел всего два месяца спустя после предыдущего. Но работа все равно проделана большая, даром, что времени прошло немного. Так, в новой версии сразу 1467 исправления от более, чем 2 тыс. разработчиков. Общий размер патча составляет 78 МБ. Добавлено 1294205 строк кода, в то время, как удалено 930515 строк. Как всегда (ну, почти), большая часть изменений касаются драйверов, чуть меньше — обновление кода, который имеет отношение к архитектурам, затем идут изменения сетевого стека, файловых систем и внутренних подсистем ядра. Подробности — под катом.
Читать дальше →

Открытой системе — открытый курс: автоматизированный Linux курс для корпоративного обучения

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров15K

Возможно, вы ловили себя на мысли, что было бы неплохо провести для коллег-новичков в Linux небольшой курс с практическими задачками. Такой курс, чтобы после его прохождения, они могли использовать ОС на уровне продвинутого пользователя, активно пользоваться терминалом, писать bash-скрипты, шарить за wildcard и SSH-туннели и прочую магию Linux. При этом было бы здорово, чтобы оценка за выполнение практической работы выставлялась в LMS автоматически, а вы бы только отслеживали прогресс коллег в электронном журнале и помогали с затыками. Если вы узнали себя в описании - эта статья для вас. Материалы этого курса также могут быть полезными для преподавателей учебных заведений, желающих добавить практики в свои курсы по Linux.

Читать далее

Эволюция технологий виртуализации сети в Linux

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров27K

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

Читать далее

Топ утилит для создания Forensic Triage: их особенности и возможности

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.9K

Камиль Камалетдинов, младший эксперт по реагированию на инциденты Центра киберустойчивости Angara SOC, подготовил обзор полезных утилит для triage. В материале практические инструменты и небольшой опрос для вас в самом конце.

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

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

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

Именно для этого был разработан инструмент Forensic Triage Tool, потому что снимать полную копию устройства займет большое количество времени, а снятие triage занимает примерно от 5 до 30 минут в (зависимости от устройства и количества информации на нем) и содержит в себе достаточное количество данных для расследования инцидента.

Читать далее

История о том, как использовать Nvidia Tesla A10 на небольшом рабочем сервере

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.6K

Я Сипатов Максим - DevOps в компании Tourmaline Core. У нас есть небольшая ML-команда, и назревал для этой команды проект, на котором неплохо было бы использовать мощности какой-нибудь видеокарты. Наш выбор пал на Nvidia Tesla a10, и как оказалось, использование таких видеокарт может вызвать некоторые проблемы, если ваш сервер - это просто открытый стенд. В этой статье я расскажу с какими проблемами столкнулся, пытаясь настроить эту видеокарту на сервере, как их решил, и каким образом мы утилизировали ресурсы видеокарты.

Nvidia Tesla a10 – отличное решение для проведения экспериментов небольшой командой, специализирующейся на машинном обучении, если вы не работаете с огромными массивами данных. И в целом иметь свое устройство для задач по искусственному интеллекту (и не только), всегда интереснее, чем арендовать чужое.

Читать далее

Российский Linux для всех, от силовиков до частных пользователей

Время на прочтение5 мин
Количество просмотров50K

Уход Microsoft из России простых пользователей не испугал. Windows с домашнего компьютера никуда не денется, а для всех остальных случаев есть сами знаете какие ресурсы. А вот обладателям корпоративных лицензий пришлось озаботиться: перспектива остаться без обновлений радует мало. Правда, и эти опасения были не слишком серьезными, было понятно, что помимо Windows есть множество клонов Linux. А у российских разработчиков уже были операционные системы, которые не только были готовы к применению, но и имели и опыт применения, и компетенции интеграторов, и развитые комьюнити.

Читать далее

Вклад авторов