Рубрика «linux kernel» - 7

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

Рассмотрим тему использования файлов-последовательностей в ядре Linux. Такие файлы считаются самым удобным механизмом для печати из режима ядра. Но на практике использовать их правильно гораздо сложнее, чем можно об этом подумать.

В сети доступно множество материалов по этой теме. Самый лучший – это исходники самого ядра с достаточно подробными комментариями. Проблема этого источника информации в его объёме. Если не знать в точности, что искать, то лучше, имея лишь ограниченное время, и не пробовать. У меня, когда возник интерес к теме, Google нашёл несколько на первый взгляд отличных источников информации: известную книгу The Linux Kernel Module Programming Guide и серию статей Роба Дея (Rob Day) по нужной теме. Источники не новые, но весьма солидные.

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

Новый протокол DETCP для гибридной системы VLC - 1

Ранее мы с вами уже изучали новые технологии хранения информации. Помимо важности сохранения данных, необходимо еще уметь их передать. Развитие технологий позволило создать множество методов передачи информации. И, казалось бы, уже есть все необходимое, можно просто совершенствовать. Однако ученые не были бы истинными учеными, если бы не стремились изобрести что-то новое. И так мы получили технологию VLC (visible light communication) — передача данных по видимому свету. Данный метод обладает как впечатляющими преимуществами, так и разочаровывающими недостатками. Ученым из университета науки и технологий Китая удалось усовершенствовать систему VLC благодаря разработанному ими новому протоколу TCP. Как работает новая система, какие она имеет плюсы и минусы, а также есть ли у нее будущее? Ответы на эти и другие вопросы мы и попытаемся найти ответы. Поехали.Читать полностью »

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

Мне давно хотелось разобраться в этой теме, но до недавнего времени не знал как к ней подойти. Хотелось, чтобы модуль был достаточно простым, но сложнее чем сообщение «Hello world!» выведенное в log файле. В итоге я решил попробовать помигать светодиодом. Дополнительная цель была вывести параметр отвечающий за частоту мигания в sysfs.
Читать полностью »

Здравствуйте, хаброчитатели!

Введение

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

Процесс портирования драйверов устройств Linux - 1

Процесс переноса может занять от нескольких минут до более продолжительного промежутка времени. Зависит это не только от сложности драйвера, но и от того, с какой и на какую версию ядра вы собираетесь перейти (API имеет свойство меняться — отсюда лезут все проблемы), а также от качества реализации кода, бывает, что проще переписать, чем перенести, но об этом не будем.

К сожалению, я не могу прикрепить исходный код драйвера, но мы рассмотрим все проблемы, с которыми я и вы можете столкнуться в процессе переноса. Далее будет рассмотрен пример переноса простого драйвера c версии ядра 2.6.25 на 4.12.5, который расположен в drivers/serial/name_uart.c. Также нам очень поможет следующий ресурс 2.6.25 и 4.12.5, где можно посмотреть структуру ядра, а также исходные коды.
Читать полностью »

Недавно Эндрю Татенбаум, профессор Амстердамского свободного университета, автор учебной и миниатюрной Unix системы Minix, вновь оказался в центре событий благодаря эпистолярному жанру. В своем письме Интел он поблагодарил компанию за использование Minix, посетовал на то, что та не трубила об этом на каждом шагу и заявил, что из-за этого мало кто знает о том, что Minix — на сегодняшний день самая популярная ОС на свете.

Безудержная радость

Надо отдать должное профессору, он умеет выбирать адресата, время и место для того, чтобы вызвать громкий и продолжительный эффект с помощью простого сообщения, отправленного по электронной почте. Его предыдущим корреспондентом был Линус Торвальдс, а их переписка о монолитном и микро ядре вошла в анналы истории ИТ. Без этого трудно понять, почему Эндрю Таненбаум так экзальтирован из-за мнимого успеха Миникс, которая всего лишь в течении десятка лет обеспечивала работу интеловского бэкдора IME.

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

В прошлой статье я писал, как в линуксе написать драйвер для графического планшета. Но на том история не закончилась: вместе с планшетом я купил и ноутбук, на котором установлен сканер отпечатков. Сканер новый, такой, как повсеместно стоит на мобильных телефонах, маленькая прямоугольная площадка на тачпаде.
Драйвера только для Windows 10, и только на сайте производителя ноутбука. Сразу возникла мысль если и не завести его в линуксе, то хотя бы понять, как же он работает. Висит сканер на usb, вместе с тачпадом.
Читать полностью »

Уязвимости операционных систем. Часть I - 1

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

Для того, чтобы избежать невероятного лонгрида данный материал будет разделен на 4 части. Каждая из которых будет описывать уязвимости 5 операционных систем. В первой, то бишь в этой, части мы рассмотрим первые 5 участников нашего рейтинга, базируясь на данных за 2017 год.Читать полностью »

На этой неделе заканчивается формирование программы третьей международной конференции Linux Piter, проходящей при поддержке Dell EMC.

Это два полных дня, 3 и 4 ноября, пятница и суббота в Питере, заполненные не всякой шелухой, а полноценными докладами про сеть, системные ресурсы, контейнеры и внутренности ядра Linux. Сугубо техническая тематика интересна всем тем, кто каждый день использует open source продукты и топовые технологии вокруг Linux в своей работе и в своих проектах.

Linux Piter #3: о чем на этот раз? - 1

Если кратко, то у нас 3 доклада про сетку, 5 про контейнеры, 4 про ядро, пара про производительность и еще много разного. Чтобы был понятен уровень выступлений: среди спикеров из Штатов, Германии, Швеции, Австрии и конечно же России к нам приедут Lennart Poettering (мантейнер systemd) и Christoph Hellwig (мантейнер XFS и NVM Express драйвера) – это реально круто. Будут доклады инженеров, работающих в Redhat, Intel, Microsoft (!), Ericsson, Docker и Canonical. Будут два параллельных потока с десяти утра до вечера: язык выступлений первого потока — английский (с синхронным переводом на русский для тех, кто не успевает), второго — русский (с синхронном на английский для наших иностранных гостей).
Ниже несколько анонсов выступлений в разных разделах конференции.

Приятная особенность Linux Piter #3 в том, что параллельно на этой же площадке будет проходить ещё одна наша техническая конференция — Piter Py #4, и участники смогут свободно посещать доклады любой из этих двух конференций.
Читать полностью »

Немного занимаюсь рисованием, и вот купил себе Huion Q11K — качество на уровне такого же Интоуса Про, но ценник ниже чуть ли не в 3 раза. Подключил, порисовал даже, на Windows 10 всё работает. Перезагрузился в линукс, и началось…

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

Планировщик подсистемы ввода и вывода BFQ (Budget Fair Queue) отпочковался от CFQ (Completely Fair Queue) и дебютировал в списках рассылки разработчиков ядра Linux аж 9 лет назад, но только в версии 4.12 попал в основную ветку. CFQ является дефолтным I/O планировщиком на данный момент.

Планировщик ввода - вывода BFQ лучше - 1

Прежде чем поговорить о принципах работы планировщика ознакомьтесь с демо-роликом разработчика Paolo Valente, это добавит вам мотивации продолжить. На снимке экрана показан замер старта проигрывателя с 10 фоновыми задачами читать файл с диска для двух планировщиков: CFQ и BFQ. Угадайте, который из них так и не стартовал при такой нагрузке?

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


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