Обновить
256K+

Linux *

Пишем под *nix

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

Активная конкуренция за RAM в Android

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

Разработав инструмент для визуализации RAM и zRAM в Android, я обнаружила, что в телефонах происходит активная конкуренция за ресурсы. И если процессу понадобятся ресурсы, которые уже заняты кем-то другим, он отберет их, что может привести к критическим ситуациям и конфликтам оборудования.

Пользовались ли вы когда-нибудь такими утилитами как htop, top, vmstat? Если у вас вообще установлен Linux, то скорее всего да. И они действительно хорошо показывают статистику использования ресурсов в ОС. Я исследовала операционные системы, и мне не хватало понимания того, как реально выглядит физическое адресное пространство: какие конкретно адреса заняты, какие свободны, что происходит, если процессы запрашивают одни и те же адреса, как часто это происходит.

Была гипотеза, что в Android (и в Linux), возникает активная конкуренция за ресурсы. Спойлер из названия статьи: она подтвердилась.

Читать далее

Oracle Call Interface: как написать клиентское приложение на Си

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

В этой статье я расскажу, как написать клиентское приложение для БД Oracle, используя библиотеку OCI и язык Си.

Читать далее

Возвращаем к жизни калькулятор HP Prime G2

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

Калькулятор с восстановленной прошивкой.

В предыдущих сериях:


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

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

Python GUI. Библиотека KivyMD. Использование Blur эффекта

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

Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор фреймворка для кроссплатформенной разработки Kivy и библиотеки виджетов в стиле Google Material Design для фреймворка Kivy - KivyMD. В этой статье мы рассмотрим как сделать blur эффект отдельных компонентов интерфейса пользователя. Я уже делал похожий обзор в статье Материальный Python. Кастомные карточки с OpenGL-эффектами, но нижеследующий материал несколько сложнее и в прямом смысле динамичнее. Что ж, начнем...

Читать далее

Написание скриптов для tmux

Время на прочтение3 мин
Охват и читатели14K
Мне, когда я пользуюсь tmux, часто надо открывать похожие рабочие пространства. Например, мне всегда нужно выводить последние строки пары файлов журналов в панели, или мне нужно открывать и vim, и mysql. Бывает, что мне нужно и что-то другое.



Если вы попробуете найти сведения об открытии рабочих пространств tmux, то почти гарантированно обнаружите советы по использованию программы-обёртки вроде tmuxinator, tmux-resurrect или tmux-continuum. Эти программы, возможно, хороши, но я предпочитаю что-нибудь попроще.
Читать дальше →

Сортировка файлов в командной оболочке Linux

Время на прочтение5 мин
Охват и читатели71K
Ищете новый способ организации своих файлов и выполнения над ними каких-либо операций? Тем, кто работает с компьютерами, часто надо что-то отсортировать. Например, список файлов. Сортировка файлов с помощью Bash-команд sort и ls поможет вам навести порядок в своих материалах. Здесь мы поговорим об основах сортировки файлов и их содержимого в Linux.


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

Сравнение RPA от UiPath и ROBIN 2.0 как способ полюбить российское ПО

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

Под катом хочу поделиться результатами анализа, который мы провели с коллегами. Статья не претендует на детальный сравнительный обзор, скорее кейс по выбору RPA под конкретные требования, который познакомит с некоторыми востребованными сегодня функциями таких платформ.
Читать дальше →

U-boot. Процедура инициализации по шагам

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

В предыдущей статье был описан процесс настройки IDE Eclipse для кросс-платформенной отладки загрузчика U-boot. В данной статье описывается устранение последних ограничений, препятствовавших полноценной его отладки. После чего, получив возможность полноценной отладки кода, пройдемся по всей процедуре инициализации загрузчика от первой инструкции и до конца в режиме отладки.

Читать далее

Создаем начальную миграцию с alembic для существующей базы

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

Создание начальной миграции для существующей базы с alembic

Читать далее

PINE64: не PinePro единым. Что еще может предложить разработчик «свободного» Linux-телефона

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

Компания PINE64 известна, в первую очередь, своими телефонами. До недавнего времени нужно было бы писать «телефон», но на днях в дополнение к первой модели, PinePhone, вышла вторая — PinePro.

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

Минимизация файла ELF – попробуем в 2021?

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

Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021?
Читать дальше →
Традиционные финансовые институты в ужасе: соцсети строят свою финансовую инфраструктуру (VK Pay — существует, FB — пытается); «Гугл», «Яндекс» и «Эппл» имеют собственную платёжную систему, а маркеты прибирают к рукам небольшие банки. Продажи через мессенджеры — уже рутина. Да что там «Гугл», даже простые сервисы поиска выгодного кредита ставят банки в условия жёсткой конкуренции, спасает лишь законодательство.

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

Неистовые потуги или как поиграть на midi-клавиатуре в стиле linux-way

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

Относительно короткая история о том как я хотел поиграть на midi-клавиатуре, но не совладал с аудиоподсистемами линуха...

Читать далее

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

Особенности работы с POSIX-сигналами

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

Как и любой другой инструмент, POSIX-сигналы имеют свои правила, как их использовать грамотно, надежно и безопасно. Они испокон веков описаны в самом стандарте POSIX, в стандартах языков программирования, в manpages, однако и по сей день я нередко встречаю связанные с этим грубые ошибки даже в коде опытных разработчиков, что в коммерческих проектах, что в открытых. Поэтому давайте поговорим о важном еще раз.

Читать далее

Старый фотик + bash = таймлапс

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

Думаю у многих из нас, в шкафу пылился старый зеркальный фотоаппарат, типа Canon EOS 400D. Он как чемодан без ручки: выбросить жалко, продать смысла нет, и использовать вряд ли будешь. Достал его так одним вечером, и подумал: вещь хорошая и вполне годная для всяких опытов. И сразу загорелся применить его во всяких своих самоделках. А что, весьма хорошо фотографирует из коробки, достаточно широкий спектр всяких регулировок, осталось только научиться с ним работать. Всего-то подружить его с компьютером, да Linux, и дело в шляпе! В результате у нас получается просто непаханое поле для фотографических экспериментов и применения в своих придумках. Давайте же поглядим, как это можно сделать и что получилось из таких экспериментов.
Читать дальше →

OTA обновление устройств с Linux

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

OTA A/B обновление образа rootfs для IoT устройств с Linux при помощи проекта Mender. Как обновить образ системы на множестве удалённых устройств. Демонстрация на примере Raspberry Pi.

Читать далее

Модификация ядра Linux: добавляем новые системные вызовы

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

В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью.
Читать дальше →

Принцип работы планировщика задач в Linux

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

Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →

Сборка Linux и CPSS на отладке Marvell RD-AC3X-48G4X2XL-A с Ethernet-коммутатором Prestera DX

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

Мы подготовили статью-гайд для пошаговой сборки и запуска базовой прошивки с CPSS на отладочной плате Marvell RD-AC3X-48G4X2XL-A. Эта плата предназначена для проектирования и отладки управляемых коммутаторов до 48 портов. Чем она примечательна для инженера-разработчика? У нее на борту установлен коммутатор Marvell Prestera DX 98DX3257 с мощной СнК семейства Prestera. А Ethernet-коммутаторы Prestera DX позволяют реализовать 5G при самой низкой в отрасли мощности и занимаемой площади. 

А что касается CPSS, то это базовый программный уровень для железа Marvell Prestera или, другими словами, Core Prestera Software Suite. CPSS используется в проекте Open Compute Project как часть открытой операционной системы SONiC. Эта операционка расширяет функции центра обработки данных в сложных системах, например, в системах интеллектуального хранения данных и машинного обучения.

Читать далее

Разработка кроссплатформенного ядра геометрического моделирования

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

В августе мы, команда C3D Labs (АСКОН), впервые выпустили версию геометрического ядра C3D для отечественной операционной системы Astra Linux, пополнив список поддерживаемых дистрибутивов Линукс. На данный момент ядро геометрического моделирования C3D может быть использовано в разработке ПО на широком спектре операционных систем: кроме Windows — это MacOS, IOS, FreeBSD и несколько Linux-дистрибутивов. Также SDK ядра предоставляет большое разнообразие компиляторов: MSVC 2012 — 2019, GCC 4.8 — 7.2, Clang 6.0 — 10.0.

Так было не всегда. В 2012 году, когда ядро C3D выделилось из состава САПР КОМПАС-3D как отдельный продукт, оно работало только для нескольких версий компилятора MSVC и, разумеется, только под ОС Windows. Но ядро развивалось, со временем к нему стали предъявляться требования и пожелания, которые мы не могли игнорировать, если хотели иметь действительно лучший продукт в своем классе. Ниже рассказ о том, как мы портировали ядро на различные ОС и платформы.

Подробнее про разработку ядра