Pull to refresh
0
0
Send message

Пособие по программированию модулей ядра Linux. Ч.3

Reading time25 min
Views12K

От редакции: Сегодня исполнился 31 год с момента первого анонсирования Linux. Именно в этот день, 25 августа 1991 года Линус Торвальдс разместил в новостях Usenet comp.os.minix соообщение следующего характера:
Привет всем тем, кто использует миникс — Я делаю (свободную) операционную систему (это только хобби, не столь большое и профессиональное, как GNU) для 386(486)AT клонов. Эта система пишется с апреля и скоро будет готова. Я хочу получить любой отзыв, касающийся вещей, которые нравятся/не нравятся людям в миникс, так как моя ОС похожа на неё (такое же устройство файловой системы (по практическим соображениям), среди прочего).

В настоящее время я портировал bash (1.08) и gcc (1.40), и, похоже, эти программы работают. Это значит, что я получу что-то практичное в ближайшие несколько месяцев, и я хочу узнать, какие возможности хотят большинство людей. Любые предложения принимаются, но я не обещаю, что я осуществлю их:-)

Линус (torvalds@kruuna.helsinki.fi)

PS. Да — в ней нет кода миникс, и будет мультипотоковая ФС. Система НЕПЕРЕНОСИМА (использует команды Intel 386 и т. д.) и, вероятно, будет поддерживать только жесткие диски AT, так как это всё, что у меня есть 🙁
Ну а мы — в этот интересный день, можем только пожелать, чтобы труды по переводу этого руководства были для вас полезны.

Продолжаем серию статей по созданию модулей ядра. В текущей части мы разберем работу с файловой системой /proc, взаимодействие с модулями при помощи sysfs, а также работу с файлами устройств.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments1

Как я хакнул свой автомобиль: завершение истории

Reading time19 min
Views20K
Если вы не читали первую часть статьи, то сделайте это.

Часть 2: создаём бэкдор


Хватит ждать


28 апреля 2022 года выпустили новые версии обновлений прошивок Display Audio для автомобилей Hyundai и Kia. К счастью, в том числе и для моей машины.


Я сразу же принялся за разработку собственного обновления прошивки с бэкдором.
Читать дальше →
Total votes 135: ↑135 and ↓0+135
Comments15

12 схем архитектуры английской грамматики

Reading time12 min
Views36K

Я предприняла попытку смоделировать в 12 схемах и 16 пунктах пояснительных заметок английский как систему: общую структуру его уровней, логику и принципы, по которым он, в рамках моего подхода, функционирует. Мне хотелось, насколько это возможно, в своём описании грамматики придерживаться формата технической документации.

Данная раскладка может быть полезной для предварительного ознакомления с устройством предмета освоения - английский как иностранный, для упорядочения фрагментарных грамматических знаний и выведения их на осмысленный уровень, или, возможно, для применения в NLP.

Читать далее
Total votes 36: ↑28 and ↓8+20
Comments86

Пишем наш первый модуль для ядра Linux

Reading time14 min
Views18K
image

Пожалуй, ядро Linux сегодня – это самый вездесущий (и по-прежнему недооцененный) программный код. На нем основаны все дистрибутивы Linux (что очевидно), но это далеко не все. Кроме того, на ядре Linux работает огромная масса встроенного ПО практически везде. У вас есть микроволновка? Вероятно, она работает на ядре Linux. Посудомоечная машина? Тоже. Вы состоятельный человек и приобрели автомобиль Tesla? Может быть, вы найдете в ней какие-то баги и исправите их, в таком случае, можете отправить патч им на Github, где лежит код для модели S и модели X. Электронная начинка МКС, благодаря которой станция не падает на Землю смертельно опасным и разрушительным огненным болидом — конечно же, тоже работает под Linux. Ядро легковесно. Наверное, именно поэтому оно так хорошо работает в условиях низкой гравитации.
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments23

Отладка драйвера Windows

Reading time16 min
Views18K

Работая со студентами я заметил, что нередко от изучения некоторой области отталкивает не столько сложность непосредственно разработки, сколько проблемы, связанные с настройкой рабочей среды и тестового окружения. Особенно остро эта проблема стоит при низкоуровневой разработке, в частности, драйверов ядра ОС Windows. Данная публикация содержит подробное описание процесса создания, запуска и отладки простейшего драйвера Windows.

Хочу ронять Windows в BSOD
Total votes 57: ↑57 and ↓0+57
Comments64

Embedded Linux в двух словах. Второе

Reading time25 min
Views30K

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

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

В этой части речь пойдет о таком инструменте автоматизации как Buildroot, о создании драйверов согласно современным веяниям драйверостроения, и реализации функционала, анонсированного в первой части, в виде отправки смайлов в топовый чат, широко известного в узких кругах, сайта,  в соответствии с командами от смайл-пульта.

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments19

Продукты «Atlassian». Или зачем Confluence руководителю проекта

Reading time8 min
Views21K

Несмотря на опыт работы в проектном менеджменте более 10 лет, с продуктовой линейкой «atlassian» (Confluence и Jira) познакомился не так давно. Теперь же, после использования этих инструментов на «боевом» проекте, хочу поделиться своим опытом и видением их дальнейшего использования.

Для начала небольшая предыстория, без которой «картина», изложенная ниже, может быть не полной.

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

«Телеком» отрасль 10 лет назад жила в парадигме «эксель-менеджмента», и меняться не спешила.

Но все течет и изменяется, что в общем то хорошо.

Технологии становятся доступней, время меняет людей, кто-то учится, а кто-то уходит на покой (в смысле заслуженный, а не вечный). 

В любом случае все отрасли подверглись «цифровой» трансформации, кто-то в большей, кто-то в меньшей степени. И сейчас Jira можно встретить в «телеком» проектах любой степени сложности, а бесплатную версию Confluence может установить себе студент любого учебного заведения.

Также стоит отметить, что нижеописанный опыт, это опыт применения стека методологий проектного менеджмента, в основе которых PMBoK.

Первое знакомство

По работе столкнулся с Confluence и Jira в крупной федеральной «телеком» компании в блоке инфраструктурных проектов, своих ИТ команд нет, при необходимости привлекаются отдельно.

Коллеги по отрасли с неохотой используют «новые» ИТ инструменты. Основной «таск-трекер» это служебная почта.

Читать далее
Total votes 13: ↑4 and ↓9-5
Comments18

Загрузка ОС на ARM

Reading time11 min
Views68K
Недавно попросили в двух словах рассказать серьезным людям о загрузке операционной системы на ARM и дать оценку угроз безопасности этого процесса. Вообще ARM-процессоров и вообще ОС. Вы понимаете, все ведь слышали про эти ARM, и что такое ОС тоже все знают. Желательно, на уровне квадратиков со стрелками.

Загрузка ARM в четырех прямоугольниках — под катом.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments52

Security Week 2211: новый вариант Spectre

Reading time2 min
Views3.5K
Исследования об уязвимостях Spectre и Meltdown были опубликованы в январе 2018 года. С тех пор появилось множество работ, развивающих общую идею использовать механизм предсказания ветвлений в процессоре (или других аппаратных особенностей) для выполнения произвольного кода и кражи секретов. Подтвердилась теоретическая возможность удаленной эксплуатации, нашлись варианты эксплуатации для процессоров всех крупных производителей. Эти многочисленные проблемы решали как в софте, так и в новом железе.


Свежая работа исследователей из Амстердамского свободного университета (описание и FAQ, исходник в PDF) показывает новый вариант атаки Spectre v2, который позволяет обойти как программные заплатки, так и аппаратные. Несущественная, но любопытная деталь данного исследования: компания Intel признала наличие проблемы в собственных процессорах и присвоила соответствующим уязвимостям красивые номера CVE-2022-0001 и CVE-2022-0002.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments2

Еженедельный новостной дайджест — самые популярные новости прошедшей недели (31 января — 6 февраля)

Reading time8 min
Views1.1K

Пришло время для еженедельного дайджеста самых популярных новостей прошедшей недели, основанного на реакции пользователей Хабра. В подборку будут попадать новости с самыми высокими показателями — рейтинг и просмотры. На прошлой неделе в центре внимания пользователей были новости о блокировке аккаунтов iOS-разработчиков в Республике Беларусь, нейросети, пишущие программу не хуже среднего программиста, «Джеймс Уэбб», криптовалюты, российский «Эльбрус» и не только.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Открытый проект беспроводной системы сбора данных на модулях 433 МГЦ

Reading time18 min
Views14K

И еще раз о передатчиках и приемниках 433 МГц. Попробуем как можно проще и дешевле подключить их к ATMEGA8, добиться дальности более 2 км и сделать крипто-защищенную беспроводную сеть-шлюз к 1-Wire сетям сенсоров DS18S20. Для этого привлечем оверсэмплинг, ортогональные сигналы и помощь MATLAB Simulink.

Техническое описание
Total votes 22: ↑22 and ↓0+22
Comments17

Simics: кто не RISC-ует, тот не выигрывает

Reading time10 min
Views3.5K

Добро пожаловать на очередной шабаш любителей испортить себе жизнь странным хобби! Репортаж с предыдущей вечеринки вы можете найти по ссылке. На ней мы практически «с нуля» создали модель начального уровня встраиваемого контроллера на базе RISC-процессора. Сегодня мы с вами будем добавлять ром ROM и попробуем обзавестись сравнительно несложной защитой памяти. И правда, что за встраиваемая система без ПЗУ? Прежде чем мы это сделаем, неплохо бы набросать некоторые детали конечной архитектуры нашей системы. Почему сейчас? Потому что ROM нужно будет разместить по каким-то адресам, как-то нужно будет управлять логикой защиты памяти, оставить что-нибудь «на вырост» и при этом где-то должно быть ОЗУ. Впрочем, описание будет небольшим ;-)

Поучаствовать в шабаше
Total votes 13: ↑12 and ↓1+11
Comments7

Руководство по ассемблеру x86 для начинающих

Reading time16 min
Views145K
В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите вещи под иным углом, а навыки пригодятся при отладке кода на других языках.

В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. Когда закончим, то сможем использовать его так:

$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30

Весь код для статьи здесь. Он обильно закомментирован и может служить учебным материалом для тех, кто уже знает ассемблер.

Начнём с написания базовой программы Hello world! для проверки настроек среды. Затем перейдём к системным вызовам, стеку вызовов, стековым кадрам и соглашению о вызовах x86. Потом для практики напишем некоторые базовые функции на ассемблере x86 — и начнём писать калькулятор RPN.
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments26

Изобретаем велосипед или пишем персептрон на С++. Часть 1 и 2

Reading time7 min
Views15K

Изобретаем велосипед или пишем персептрон на C++. Часть 1


Напишем простую библиотеку для реализации персептрона на C++



Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments16

10++ способов работать с аппаратными регистрами на С++ (на примере IAR и Cortex M)

Reading time13 min
Views18K
Choosing the safest path
Рис. И. Кийко

Всем доброго здравия!

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

Примерно в том же ключе я хочу продолжить обсуждение использования С++ для микроконтроллеров и рассмотреть способы как можно работать с регистрами используя С++. И хочу заметить, что для достижения безопасного обращения к регистрам простого пути не будет. Попытаюсь показать все плюсы и минусы способов. Если вы знаете еще способы, кидайте их в комментарии. Итак начнем:
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments25

Выбираем бюджетный карманный осциллограф

Reading time7 min
Views97K
Приветствую!

Добавляю небольшую статью на тему выбора домашнего компактного осциллографа начального уровня для работы и хобби.

Почему речь пойдет про карманные и компактные — потому что это самые бюджетные варианты. Настольные осциллографы – это более громоздкие, функциональные устройства, и, как правило, достаточно дорогие модели ($200-400 и дороже) на 4 канала со множеством функций.
А вот компактные модели на 1 канал для простых измерений и оценки формы сигнала можно приобрести буквально за $20...$40.


Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments66

Bluetooth LE не так уж и страшен, или Как улучшить пользовательский опыт без особых усилий

Reading time13 min
Views25K
Недавно мы в команде придумали и реализовали функцию передачи денег по воздуху с помощью технологии Bluetooth LE. Я хочу рассказать вам, как мы это сделали и что Apple предоставляет нам из инструментов. Многие разработчики думают что Bluetooth — это сложно, ведь это достаточно низкоуровневый протокол, и по нему не так много специалистов. Но всё не так страшно, и на самом деле использовать эту функцию очень просто! А те функции, которые можно реализовать с помощью Bluetooth LE, безусловно, интересны и впоследствии позволят выделить ваше приложение среди конкурентов.


Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments16

Software Defined Radio — как это работает? Часть 1

Reading time6 min
Views137K
Привет, Хабр.

Продолжая цикл статей про радио, есть смысл рассказать про последние достижения в этой области — Software Defined Radio. Я не знаю адекватного перевода термина на русский, поэтому оставим так, да и термин SDR уже прижился в технических и радиолюбительских кругах.

За последние 100 лет радио изменилось настолько, что вряд ли тогдашний инженер вообще понял бы, как это работает.



Мы все же попробуем разобраться.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments142

Опусы про Его Величество Клей. Часть первая — вводная

Reading time12 min
Views66K
Есть такие области знания, которые «аршином общим не измерить...». В принципе, в моей «домашней» области, коллоидной химии, под такое направление можно спокойно помещать любое фундаментальное понятие, будь-то адсорбция (с адсорбентами) или адгезия (с клеями). Честно говоря, мысль написать про клей у меня не возникала. Но когда читатели в каждой теме, связанной с полимерами начинают просить рассказать про клеи — об этом поневоле задумаешся (ну и хочется конечно же отпарировать на «все надо клеить суперклеем»). Адгезия и клеи — очень обширная тема, поэтому я все-таки решил за нее взяться, но разбить повествование на несколько частей. Сегодня первая часть — вводно-информационная. Чтобы узнать за счет чего клей клеит, какие бывают клеи и какой клей лучше подходит для склеивания _____ (вписать нужное), традиционно идем под кат (и кладем в закладки).

Читать дальше →
Total votes 166: ↑163 and ↓3+160
Comments155

Опусы про Его Величество Клей. Часть вторая — Viva, цианоакрилат! Viva, суперклей

Reading time19 min
Views107K

Как я и обещал в пилотной "клейкой" статье — рассматривать клеи будем постепенно. Чтобы не откладывать дело в долгий ящик, я решил вдогонку представить вашему вниманию некоторые факты связанные с любимым, не побоюсь этого слова, народным клеем — с цианоакрилатным "суперклеем". Кроме того, в меру своих сил я попытался в рамках темы статьи осветить все вопросы, которые читатели задали в предыдущей части. Так что, если вы активный пользователь суперклея — не пропустите. Самая актуальная информация про "сода+суперклей", про то почему суперклей нужно хранить в холодильнике и можно ли зажечь вату суперклеем, чем смывать?, что клеит? — все под катом!


Приклеиться к полному тексту статьи!
Total votes 147: ↑144 and ↓3+141
Comments247
1
23 ...

Information

Rating
Does not participate
Registered
Activity