Search
Write a publication
Pull to refresh
2
0

Инженер-программист

Send message

Многозадачность в ядре Linux: прерывания и tasklet’ы

Reading time6 min
Views77K
Котейка и младшие братьяВ предыдущей своей статье я затронула тему многопоточности. В ней речь шла о базовых понятиях: о типах многозадачности, планировщике, стратегиях планирования, машине состояний потока и прочем.

На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:
  1. Многозадачность в ядре Linux: прерывания и tasklet’ы
  2. Многозадачность в ядре Linux: workqueue
  3. Protothread и кооперативная многозадачность

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

Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования.
Читать дальше →

Реверс-инжиниринг нестандартной ps/2 клавиатуры

Reading time7 min
Views9.4K

Терминал VT520 c клавиатурой LK46W-A2

После моего предыдущего поста с подключением советской клавиатуры к современному ПК, я как-то заразился оригинальными клавиатурами от DEC, и уж больно хотелось их испытать в деле. И на удивление, на досках удалось найти даже клавиатуру LK201, однако для меня показалась не очень уж интересной. А вот клавиатуру Wyse 85 со свичами Cherry MX нашёл намного более стильной и крутой. Однако смущал вопрос, как же её использовать с современным железом, удобно ли будет такое расположение клавиш?

И тут мне на глаза попадается объявление с ещё одной терминальной клавиатурой LK46W-A2 которую можно подключить к обычному компьютеру по стандартному интерфейсу PS/2, но с количеством клавиш и расположением, как у LK201 с небольшими дополнениями. После того как ознакомился с информацией, принял волевое решение купить кота в мешке и попробовать эту клавиатуру с обычным ПК, а также понять, что же делают все остальные «нестандартные клавиши». Этакий реверс-инжиниринг клавиатуры.
Читать дальше →

Краткая история эволюции промышленных лазеров: от маркировки до 3D и цветных фото

Reading time9 min
Views7.1K

За последние примерно 25 лет промышленные лазеры прошли путь от маркировки пластика до создания трехмерных деталей и цветных отпечатков на металле. А началась вся история в 90-х с создания нашим соотечественником первых волоконных лазеров, которые превосходно управлялись с металлами.

Под катом — рассказ про развитие лазерной техники за последние два десятилетия на примере оборудования одного питерского производителя.

Читать далее

Технология ABENICS: революция в области механики?

Reading time5 min
Views37K

Прорыв в инженерии, о котором говорит весь интернет. Почему-то на Хабре нет, так что решил рассказать.

Итак, ABENICS — это Active Ball Joint Mechanism. Проект разработан Университетом Ямагата в Японии, и являет собой специальную сферическую механическую конструкцию для возможных новых сервоприводов с шаровым шарниром. По сути, это новая форма шестеренки, которая стала возможна благодаря развитию технологий и повышению точности производства.

Читать далее

Полароидный CSS и совсем немного HTML

Reading time10 min
Views4.2K

В предыдущей статье у нас получился красивый слайдер («карусель») с круговым вращением. А сегодня я создам слайдер, пролистывающий стопку «полароидных» снимков.


Пока не смотрите код, сначала я должен вам многое про него рассказать. Поехали! К старту нашего курса по Fullstack-разработке на Python.

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

Парагвай. Как живут в одной из беднейших стран Южной Америки?

Reading time20 min
Views93K

Парагвай предоставляет самые простые в Южной Америке условия для получения ПМЖ. Поэтому сегодня о нем пишут гораздо больше, чем ожидаешь от небольшой и откровенно небогатой страны где-то на другом конце света.

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

Читать далее

Делаем минимальную отладочную плату на STM32G030F6P6 и шьем в Arduino IDE

Reading time4 min
Views12K

У меня в разработке оказалось несколько устройств, в составе которых кроме прочего планируется использовать F030F6P6. Они маленькие и достаточно производительные. Для мониторинга вполне достаточно. Программист я так себе, занимаюсь в основном железом. Но экстренно пощупать некоторые функции приходится, и тогда на помощь приходит Arduino IDE.

Читать далее

Меньше точно не бывает! Делаем вольтметр на ATTINY10

Reading time4 min
Views21K

В продолжение к прошлой статье решил пощупать и Attiny10. Ну меньше уже точно ничего нет. Если и есть такое извращение с 4 ногами, я о нем не знаю, точнее не нашел.

Тут у нас полноценный МК, в корпусе SOT-23! И задачи на нем решать можно вполне серьезные. Собрав схему на макетке, с МК на адаптере и модулем дисплея я было обрадовался, но готовая плата работать отказалась...

Читать далее

Как айтишнику из России получить работу в Германии в 2023 году?

Reading time6 min
Views38K

По данным Ассоциации цифровой индустрии Германии Bitcom, в стране наблюдается огромный дефицит IT-специалистов. В 2021 году количество незакрытых вакансий в различных IT-отраслях составляло 96 тыс., и эта цифра с каждым годом демонстрирует рост.

Поэтому именно для айтишников Германия предоставляет самые лояльные программы миграции. Немецкие компании ведут “охоту за талантами”, в том числе и на специалистов из стран СНГ. Кандидатуры россиян также активно рассматривают, несмотря на геополитическую напряженность. 

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

Типы виз, по которым можно переехать

Самая распространенная виза для айтишников-релокантов в Германии называется Blue Card. От остальных типов виз ее отличает упрощенная процедура получения, быстрые сроки выдачи и возможность ускоренного получения ВНЖ. Ее также используют специалисты из других важных сфер, таких как медицина, инженерия и прочее, но именно IT-специалисты - самая большая группа претендентов на Blue Card. Но не одной Blue Card едины, вообще есть три типа виз: 

Читать далее

Подключение советской клавиатуры Электроника МС 7004 к современному ПК

Reading time8 min
Views20K

Когда я листал доски объявлений, на глаза попалась отличная клавиатура «Электроника МС 7004». Даже по современным меркам клавиатура выглядит просто потрясающе. У неё есть откидной блок со светодиодами, клавиши механика. И она настолько крутая, что даже сейчас на ней хочется работать. Но, как обычно есть один маленький нюанс: у неё свой интерфейс и электропитание.

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

Происхождение и эволюция аллокатора памяти в С

Reading time11 min
Views24K

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

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

Читать далее

Электронный конструктор, не бьющий током

Reading time13 min
Views49K

Дайте угадаю: вы в детстве заворожённо рассматривали печатные платы? Вам было любопытно узнать, как работает этот мини-город из разноцветных деталек? Возможно, у вас был опыт сборки электронных схем по книгам Борисова и Свореня? Советский сорокаваттный паяльник, кусочек канифоли в спичечном коробке? А ещё штаны с намертво влипшей в ткань каплей припоя?

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

Как стать Android разработчиком в 2023

Reading time6 min
Views110K

И так, давайте начнем с того, что должен знать и уметь человек, чтобы стать Android разработчиком? Скиллсет будем смотреть по вот этому Roadmap

Читать далее

Реверс инжиниринг в домашних условиях

Reading time4 min
Views18K

Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.

Итак приступим! Всю работу можно поделить на несколько этапов:

Читать далее

Искусственные и биологические нейронные сети

Level of difficultyMedium
Reading time20 min
Views12K

Это можно сравнить с поиском Священного грааля, поиск алгоритма, по которому работают биологические нейронные сети. Конечно многие скажут, что никакого грааля не существует, это всё легенды, и в искусственных нейронных сетях уже всё реализовано, осталось дождаться развития этой технологии, вычислительных ресурсов и... и всё — настоящий искусственный интеллект будет создан. А, разбираться в сложном и запутанном органе для этих целей нет необходимости. Но, надеюсь есть добрая доля искателей приключений, которым будет интересны некоторые рассуждения где стоит искать этот “Священный грааль”. В статье мы проанализируем и сравним работу искусственных нейронных сетей с гипотезами о том, как работают биологические нейронные сети, и конечно, сопроводим это практическими опытами, разберем новую искусственную нейронную сеть, которая по своему принципу работы ближе к биологическому аналогу.

Читать далее

OLIMEX ESP32-EVB: красный квадрат (плата принята)

Reading time6 min
Views7.9K


Сегодня мы рассмотрим один интересный контроллер из моей коллекции, это (широко известная в узких кругах) плата OLIMEX ESP32-EVB. Это одна из первых плат, построенных на основе ESP32, которая за прошедшие годы претерпела несколько ревизий и выпускается до сих пор, то есть при желании вы можете её заказать и использовать в своих проектах.

Плата производится компанией OLIMEX, которая обладает своим оригинальным «технологическим почерком» — на ESP32-EVB всё сделано немного не так, как у других производителей контроллеров — все эти особенности мы разберём в этой статье.

Кроме того, сама плата ESP32-EVB обладает довольно широкими возможностями: на фирменный красный квадрат текстолита размером всего 75х75 мм компания OLIMEX умудрилась поместить ESP32, LAN8710A, microSD картридер, IR приёмник и передатчик, CAN трансивер, 2 реле, разъёмы расширения, подсистему зарядки и обслуживания аккумулятора и прочие элементы — по плотности упаковки деталей на квадратный сантиметр платы ESP32-EVB находится на одном из первых мест среди рассмотренных мной контроллеров.

Программирование этого чуда тоже не совсем обычная задача — множество компонентов плотно «посажены» на нестандартные GPIO и имеют свои особенности работы, далее мы попробуем со всем этим разобраться — в результате вы сможете легко и просто использовать маленький технологический шедевр ESP32-EVB в своих проектах.
Читать дальше →

Операционная система реального времени QNX: Знакомство

Reading time6 min
Views148K
Так сложилось, что моя деятельность связана с операционной системой реального времени (ОСРВ) QNX. Уже несколько лет занимаюсь разработкой как под эту ОС, так и некоторых частей самой системы. Обратил внимание на то, что поиск на хабре выводит немного результатов по запросу QNX, однако, мне кажется, что эта ОСРВ может быть интересна не только специалистам по встраиваемым и высоконадёжным системам, но и более широкой публике. Не секрет, что планшетный компьютер BlackBerry PlayBook производства компании RIM основан на QNX и имеет популярность и у нас.

Немного о QNX


ОСРВ QNX это не клон или дистрибутив Linux или ответвление какой-то другой UNIX-подобной системы. QNX самостоятельная UNIX-подобная операционная система реального времени, основанная на микроядре и передаче сообщений. Современные версии QNX имеют поддержку стандартов POSIX (и сертифицированны по ним). Первая версия QNX вышла в далёком 1981 году. С тех пор утекло достаточно много времени и поколения QNX сменяли друг друга: QNX2, QNX4 и, наконец, QNX 6 (или QNX Neutrino). Старичок QNX2 и сейчас ещё используется, хотя его расцвет пришёлся на 80-е годы прошлого столетия. Надёжная и более современная ОСРВ QNX4 могла конкурировать на десктопе с Windows в середине 90-х
Да, я хочу узнать больше о QNX.

LoRa one love. Почему стандарт разочаровал коммунальщиков, но зашёл на заводах

Reading time6 min
Views29K

В 2019 году я был на очередной конференции по IoT и до гостиницы меня подвозил местный коллега. По пути мы обсуждали умное ЖКХ и, конечно же, коснулись LoRaWAN. Коллега сказал фразу, которая надолго мне запомнилась: «Мне кажется, будто рынок сопротивляется внедрению Лоры».

Да, в 2019-м именно так всё и было. Лору тогда попробовали внедрить в ЖКХ и в промышленности. Проекты строили с огромным упорством, взлетали они тяжело, часто сразу падали. После общего подъёма и веры в тему IoT парой лет ранее столкновение с реальностью воспринималось болезненно. Но уже тогда я потихоньку начал признаваться себе: не будет Лоры в каждом утюге. Очень уж ограничен круг её использования. А всякие NB-IoT и Wi-Fi 6 её просто добьют. 

Каково же было мое удивление, когда в 2022 году технология обрела вторую жизнь! Несколько крупных игроков (ММК, Сибур) начали развёртку сети на своих заводах. 

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

Читать далее

Создание GUI-приложения в MATLAB. Часть 2

Reading time2 min
Views5.2K

В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают большое количество строк кода и создание исполняемого файла. Под такие требования полностью подпадает инструментарий MLAPP. Такого приложения нет в старых версиях MATLAB, в рамках данной статьи работа будет вестись в MATLAB 2019а. Для среды MLAPP достаточно выполнить в командной строке матлаба следующую команду:

Читать далее

Information

Rating
Does not participate
Registered
Activity