Рубрика «hardware» - 3

Подробная расшифровка еще одного доклада со встречи Яндекс.Железо — про разработку устройств для беспилотника.

Беспилотный автомобиль: оживляем алгоритмы. Доклад Яндекса - 1

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

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

CCCamp2019

С 21 по 25 августа в Германии проходил крупнейший хакерский фестиваль Chaos Communication Camp.

Он организуется каждые четыре года, и, как в предыдущий раз, площадкой для проведения стал индустриальный парк Ziegeleipark Mildenberg. Это крупная старинная фабрика по производству кирпичей с узкоколейной железной дорогой и речным портом, которая превращена в музей под открытым небом. И в этом удивительном месте на пять дней собрались более 5000 хакеров со всего света, которые неузнаваемо преобразили Ziegeleipark.

Предлагаю вам обзор докладов CCCamp 2019, которые мне особенно понравились.Читать полностью »

image

Мое текущее понимание:

1) KVM

KVM (Kernel-based Virtual Machine) – гипервизор (VMM – Virtual Machine Manager), работающий в виде модуля на ОС Linux. Гипервизор нужен для того, чтобы запускать некий софт в несуществующей (виртуальной) среде и при этом, скрывать от этого софта реальное физическое железо, на котором этот софт работает. Гипервизор работает в роли «прокладки» между физическим железом (хостом) и виртуальной ОС (гостем).

Поскольку KVM является стандартным модулем ядра Linux, он получает от ядра все положенные ништяки (работа с памятью, планировщик и пр.). А соответственно, в конечном итоге, все эти преимущества достаются и гостям (т.к. гости работают на гипервизоре, которые работает на/в ядре ОС Linux).

KVM очень быстрый, но его самого по себе недостаточно для запуска виртуальной ОС, т.к. для этого нужна эмуляция I/O. Для I/O (процессор, диски, сеть, видео, PCI, USB, серийные порты и т.д.) KVM использует QEMU.
Читать полностью »

И всё же C — низкоуровневый язык - 1

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

Критика C — классический для нашей индустрии эпистолярный жанр. Она звучит то громче, то тише, но в последнее время буквально оглушает. Пример — перевод статьи Дэвида Чизнэлла «C — не низкоуровневый язык», опубликованный в нашем блоге некоторое время назад. Про C можно говорить разное, в дизайне языка действительно много неприятных ошибок, но отказывать C в «низкоуровневости» — это уже слишком!

Чтобы не терпеть такую несправедливость, я собрался с духом и постарался определиться с тем, что есть язык программирования низкого уровня и чего хотят от него практики, после чего перебрал аргументы критиков C. Так получилась эта статья.

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

Педаль в пол: создаём очередной ножной манипулятор для ПК - 1

Буквально месяц назад я натолкнулся на эту статью, где повествуется о педалировании Vim. Чуть позже, после своего длительного трёхминутного исследования, я выяснил, что что тема эта уже не новая и довольно популярная. Сам я Vim использую только в случае крайней необходимости (если уж и приходится работать в консоли, то предпочитаю Nano), но ведь можно сделать подобное и под другие приложения.
Читать полностью »

В данной статье разбор простейшей реализации RAM на языке Verilog.

Перед тем, как перейти к разбору кода, рекомендуется изучить базовый синтаксис языка Verilog.

Здесь вы можете найти обучающие материалы.
Читать полностью »

Ключ на старт: лучшие программные и аппаратные средства для компьютерной криминалистики - 1

Вот так раньше выглядела одна из визиток Игоря Михайлова, специалиста Лаборатории компьютерной криминалистики Group-IB. На ней — аппаратные ключи программ, которыми пользовался эксперт при проведении криминалистических экспертиз. Стоимость только этих программных продуктов превышает 2 миллиона рублей, а ведь есть еще бесплатное программное обеспечение и другие коммерческие продукты. Какой инструментарий выбрать для работы? Специально для читателей «Хабра» Игорь Михайлов решил рассказать о лучших программных и аппаратных средствах для компьютерной криминалистики. Читать полностью »

Всем привет!

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

Как квантовые вычисления могут повлиять на разработку ПО - 1
Читать полностью »

Linux Foundation открыли новое направление — CHIPS Alliance. В рамках этого проекта организация будет развивать свободную систему команд RISC-V и технологии для создания процессоров на её основе. Расскажем подробнее, что происходит в этой сфере.

Linux Foundation займется open source чипами - 1Читать полностью »

Настройка VSCODE под разработку для ARM на примере отладочной платы stm32f429i-disco - 1

Всем привет!

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

Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop x64.

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

Все настройки, касающиеся конкретного железа (в моём случае это контроллер STM32F429 и девборда STM32F429DISCO), нужно подменить на свои. То же самое касается и путей.

Если готовы, то Читать полностью »


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