Hacker News Digest

Тег: #risc-v

Постов: 24

Vibe Code Warning – A personal casestudy (github.com) 🔥 Горячее 💬 Длинная дискуссия

В предоставленном тексте отсутствует основное содержимое репозитория GitHub "jackdoe/pico2-swd-riscv", представлено только навигационное меню сайта. Судя по названию проекта, вероятно, это реализация интерфейса отладки SWD (Serial Wire Debug) для платформы на базе RISC-V, возможно, связанная с Raspberry Pi Pico 2. Однако без доступа к файлам проекта, README или описанию невозможно дать точное резюме.

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

by jackdoe • 10 ноября 2025 г. в 11:45 • 308 points

ОригиналHN

#risc-v#swd#debugging#llm#programming#github

Комментарии (231)

  • Разработчики признают, что LLM-генерированный код лишает их ощущения «собственного» кода и ментальной модели, но считают это неизбежной ценой прогресса.
  • Сообщество HN в очередной раз поднимает тему «вайб-кодинга» как симптома упадка ремесла и утраты смысла.
  • В то же время, авторы поста отмечают, что даже при полном отказе от написания кода в пользу LLM, остаётся необходимость владеть базовыми навыками для верификации и рефакторинга.
  • Обсуждение выходит за рамки самого феномена: участники затрагивают вопросы авторского права, лицензий и ответственности за сгенерированный код, а также то, как далеко может зайти эта тенденция.

Ironclad – formally verified, real-time capable, Unix-like OS kernel (ironclad-os.org) 🔥 Горячее

Ironclad — это формально верифицируемый, реального времени, UNIX-подобный ядро операционной системы общего назначения и встраиваемых систем, написанное на SPARK и Ada. Проект полностью свободный и распространяется под лицензией GPLv3. Ключевые особенности включают POSIX-совместимый интерфейс, одновременное вытесняющее многозадачность, обязательный контроль доступа (MAC) и поддержку жёсткого реального времени.

Главное преимущество Ironclad — формальная верификация с помощью SPARK для критических компонентов, таких как криптография и MAC. Система полностью портативна и зависит только от GNU toolchain, что упрощает кросс-компиляцию. Проект поддерживает дистрибутивы для всех доступных архитектур, наиболее заметный из которых — Gloire. Ironclad всегда будет бесплатным для использования, изучения и модификации, а финансируется за счёт пожертвований и грантов от NLnet и Европейской комиссии.

by vitalnodo • 08 ноября 2025 г. в 23:03 • 347 points

ОригиналHN

#spark#ada#posix#gnu#x86-64#risc-v#gplv3#formal-verification#real-time-systems

Комментарии (107)

  • Участники сомневаются в степени формальной верификации Ironclad, сравнивая его с более строгими аналогами вроде seL4 и Tock, и указывают на отсутствие доказательства ключевых свойств ядра.
  • Проект написан на SPARK и Ada, поддерживает x86_64 и RISC-V, но не ARM64; его лицензия включает бесплатную версию с возможностью коммерческого использования.
  • Основные альтернативы: seL4 (быстрый и строго верифицируемый), Genode (POSIX-совместимый слой), Asterinas и Redox (Linux-совместимые ядра), а также ReactOS и SerenityOS.
  • Критика включает медленную производительность по сравнению с seL4, отсутствие capability-based безопасности и потенциальные проблемы на уровне прошивки.
  • Уточнено, что формальная верификация — это не тестирование, а математическое доказательство соответствия спецификации, а "бесплатность" ПО может относиться только к лицензии.

Easy RISC-V (dramforever.github.io) 🔥 Горячее

by todsacerdoti • 27 октября 2025 г. в 20:57 • 362 points

ОригиналHN

#risc-v#architecture#emulation#mips#computer#interactive

Комментарии (69)

  • Обсуждение охватывает отзывы о взаимодействии с интерактивным руководством, его охват и влияние на обучение RISC-V, а также сравнение с другими архитектурами и эмуляторами.
  • Участники обсуждают, что интерактивный формат делает архитектуру более доступной, но упрекают в отсутствии визуального компонента, подобного тому, что есть в Easy6502.
  • Обсуждается влияние книги Паттерсона и Хеннесси на развитие RISC-V и сравнение с MIPS и другими архитектурами.
  • Участники делятся личным опытом обучения на R

Writing a RISC-V Emulator in Rust (book.rvemu.app)

Создание эмулятора RISC-V на Rust — это активно развивающийся проект, позволяющий собрать 64-битный эмулятор с нуля. После завершения курса вы сможете запускать в нем xv6 — простую Unix-подобную операционную систему. Проект охватывает основы компьютерной архитектуры: ISA, привилегированный режим, исключения, прерывания, периферийные устройства и системы виртуальной памяти. Исходный код доступен на GitHub в репозитории d0iasm/rvemu-for-book.

Проект разделен на два основных раздела: в первом рассматриваются аппаратные компоненты, необходимые для работы xv6, включая процессор с двумя инструкциями, память, системную шину, регистры управления и состояния, а также контроллеры прерываний и UART. Второй раздел посвящен наборам инструкций, начиная с базового RV64I Integer и включая расширения "M" для умножения и деления, и "A" для атомарных операций.

by signa11 • 26 октября 2025 г. в 07:34 • 96 points

ОригиналHN

#rust#risc-v#xv6#computer-architecture#isa#virtual-memory#assembly

Комментарии (39)

  • Доступны только первые три главы из десяти.
  • Рекомендация использовать ассемблер для реализации.
  • Наличие rv64-интерпретатора на x86_64 ассемблере.

Making a micro Linux distro (2023) (popovicu.com)

В статье рассматривается создание микро-Linux дистрибутива с нуля, включая сборку ядра Linux и разработку ПО для упаковки. Пример реализован для архитектуры RISC-V (QEMU riscv64 virt), но подход применим и к x86. Автор предупреждает, что это упрощенное представление Linux-дистрибутива, предназначенное для начинающих, и некоторые детали могут быть неточны на 0.1%.

Ядро операционной системы выполняет несколько ключевых функций: обеспечивает одновременное выполнение программ даже на одноядерных устройствах, абстрагирует низкоуровневые операции с оборудованием, предоставляя разработчикам простые высокоуровневые интерфейсы. Вместо того чтобы знать физические адреса устройств, приложения просто сообщают ядру о своих потребностях (например, "вывести сообщение на стандартный вывод"). Также ядро предоставляет файловые системы как интерфейсы для взаимодействия с данными, которые могут храниться не только на дисках, и создает программную модель, позволяющую приложениям работать независимо, не зная друг о друге.

by turrini • 25 октября 2025 г. в 13:01 • 170 points

ОригиналHN

#linux#kernel#risc-v#qemu#uefi#pxe#initramfs#cpio#u-root#kexec

Комментарии (28)

  • Обсуждение вращается вокруг создания минимальной Linux-системы: от идеи до практических нюансов (UEFI, cloud-init, PXE, initramfs, cpio, u-root, kexec, Gentoo vs LFS vs Buildroot).
  • Участники делятся опытом, что «маленькая» сборка может быть полезна как для обучения, так и для практического применения (например, как образ для облачных инстансов).
  • Обсуждаются различные инструменты и подходы: от полностью статически слинкованных бинарников до полноценных дистрибутивов, а также варианты с использованием u-root, kexec, initramfs, cpio, PXE и т.д.
  • Участники также обсуждают, что такие мини-дистрибутивы могут быть полезны для обучения, отладки и даже как основа для специализированных образов (например, для RPi или как образ для облачных провайдеров).

Compare Single Board Computers (sbc.compare)

sbc.compare — это платформа для сравнения одноплатных компьютеров (SBC), помогающая выбрать оптимальную платформу для проекта. Сайт предлагает обширные бенчмарки, технические характеристики и данные реальной производительности для сотен альтернатив, включая Raspberry Pi, Orange Pi и Radxa. Пользователи могут искать платы по архитектуре (ARM, x86, RISC-V), количеству ядер, объёму ОЗУ и цене, а также сравнивать до трёх устройств одновременно. На сайте представлены популярные сравнения, такие как Raspberry Pi 5 против Pi 4 или Orange Pi 5B.

Платформа особенно полезна для принятия решений об обновлении оборудования — например, при выборе между сохранением Raspberry Pi 4 или переходом на более новую модель. Интерфейс интуитивно понятен: поиск нужных плат, добавление их в список сравнения и детальный анализ различий в производительности. Ресурс охватывает как широко известные модели, так и менее популярные альтернативы, предоставляя пользователям полную картину доступных на рынке решений.

by todsacerdoti • 19 октября 2025 г. в 18:02 • 188 points

ОригиналHN

#raspberry-pi#single-board-computers#orange-pi#radxa#arm#x86#risc-v#gpio#embedded-systems

Комментарии (75)

  • Пользователи обсуждают, что для встраиваемых проектов важнее всего поддержка периферии и ПО, а не «сырой» производительности, и отмечают, что у большинства SBC его нет.
  • Создатель сайта отвечает, что в базе уже есть фильтры по Wi-Fi, Ethernet, PoE и прочим интерфейсам, но пока не хватает данных; обещает, что как только они появятся, появится и поиск по ним.
  • Участники обсуждают, что Raspberry Pi и прочие SBC не подходят для промышленного применения из-за отсутствия гарантий и долгосрочной поддержки.
  • Создатель сайта отвечает, что вендоры вроде Radxa и Libre Computer предлагают альтернативы, и что у них есть модули вычислений и стандартые 40-pin GPIO.
  • Пользователи жалуются на отсутствие в списке таких девайсов как Orange Pi 5 и что не все модели отображаются корректно.
  • Создатель сайта отвечает, что он не может найти Orange Pi 5 и что он не может добавить новые платы, пока не будет у него полные спецификации.

How to create an OS from scratch (github.com)

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

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

by pykello • 29 сентября 2025 г. в 23:32 • 205 points

ОригиналHN

#c#assembly#operating-systems#low-level-programming#bios#x86#risc-v#arm#xv6#github

Комментарии (69)

  • Создание ОС с нуля на базе устаревшего BIOS и x86 рассматривается как учебный, но непрактичный путь, погружающий в исторические детали архитектуры вместо современных концепций.
  • Многие проекты ОС остаются незавершенными из-за сложности поддержки железа и драйверов, что является рутинной и нетривиальной задачей.
  • В качестве более актуальных альтернатив предлагаются подходы с использованием микрокернелов, современных архитектур (RISC-V, ARM) или существующих педагогических ОС (xv6).
  • Рекомендуется начинать с изучения авторитетных источников (например, wiki.osdev.org) и современных туториалов, избегая устаревших материалов с пробелами и ошибками.
  • Разработка ОС углубляет понимание распределенных систем, планирования и кэширования, что полезно для инженеров, даже если они не планируют писать ядро.

Tactility: An ESP32 OS (tactility.one)

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

Виртуальная реальность и хаптические технологии активно развиваются, имитируя прикосновения для более immersive-опыта. Интересно, что тактильная обратная свядь иногда перевешивает визуальную — люди чаще доверяют тому, что могут «пощупать». Это подчёркивает её фундаментальное значение в эпоху доминирования цифровых взаимодействий.

by surprisetalk • 29 сентября 2025 г. в 13:11 • 172 points

ОригиналHN

#esp32#iot#risc-v#elf#toit#nim#basic#java

Комментарии (54)

  • Обсуждение возможностей и ограничений ESP32-устройств, включая поддержку загружаемых нативных приложений (ELF apps) в проекте Tactility.
  • Рассмотрение альтернативных языков и сред для ESP32, таких как Toit, Nim, BASIC (Picomite) и Java, а также поддержка RISC-V архитектуры.
  • Исследование практических применений: от IoT до портативных менеджеров паролей, клиентов для мессенджеров (IRC) и устройств с сотовой связью.
  • Критика и скептицизм относительно ограниченных ресурсов ESP32 (памяти) для выполнения сложных задач, таких как динамическая линковка.
  • Сравнение Tactility с другими проектами (Flipper, Zephyr) и обсуждение его статуса как операционной системы.

Show HN: I wrote an OS in 1000 lines of Zig (github.com)

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

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

by botirk • 18 сентября 2025 г. в 15:05 • 145 points

ОригиналHN

#zig#os#risc-v#arm#memory-management#process-management#github

Комментарии (20)

  • Создание минималистичной ОС на Zig в рамках 1000 строк кода с базовыми функциями: загрузка, управление памятью, планирование задач и вывод текста.
  • Критика и вопросы по реализации: отсутствие консольного вывода, несоответствие README, проблемы сборки на разных платформах.
  • Обсуждение технических деталей: формат выходных файлов, поддержка архитектур (RISC-V, ARM), использование библиотек.
  • Рекомендации по улучшению: исправить .gitignore, уточнить версии компилятора, дополнить документацию.
  • Ссылки на аналогичные проекты и запрос на более глубокий анализ целей проекта и опыта использования Zig.

Orange Pi RV2 $40 RISC-V SBC: Friendly Gateway to IoT and AI Projects (riscv.org)

Orange Pi RV2: доступный RISC-V компьютер для IoT и AI проектов

Orange Pi RV2 — это бюджетный одноплатный компьютер (SBC) с 8-ядерным RISC-V процессором, предназначенный для разработчиков, энтузиастов и профессионалов. Стоимостью от $40, он предлагает энергоэффективность, слоты NVMe, GPIO-интерфейс и поддержку AI-задач.

Хотя плата отлично подходит для IoT и автоматизации, она не заменяет настольный ПК из-за ограниченной поддержки ПО. Orange Pi RV2 сочетает доступность и инновации, открывая возможности для экспериментов в области RISC-V.

by warrenm • 15 сентября 2025 г. в 15:46 • 91 points

ОригиналHN

#risc-v#iot#single-board-computer#ubuntu#debian#arm#raspberry-pi#x86#llm

Комментарии (82)

  • Ubuntu для RISC-V процессоров без поддержки RVA23 застряла на версии 24.04 без дальнейших обновлений, официального образа Debian также нет.
  • Программная поддержка и документация на оборудование, особенно от Orange Pi, критикуются за недостаточность и неудовлетворительное качество.
  • Производительность RISC-V SBC, включая Orange Pi RV2, оценивается как низкая по сравнению с аналогичными по цене ARM-платами, такими как Raspberry Pi.
  • Основными покупателями одноплатных компьютеров (SBC) считаются энтузиасты и разработчики, работающие с RISC-V, а также рынки Китая и Тайваня.
  • Многие SBC, включая RISC-V и ARM, имеют распаянную память, что ограничивает возможности апгрейда; редкие модели с слотами встречаются среди x86-решений.
  • Потенциал платформы RISC-V видится в её открытости и отсутствии привязки к вендору, несмотря на текущие проблемы с производительностью и поддержкой.
  • Платы часто используются для нишевых задач, прототипирования и в качестве домашних серверов, где не требуется высокая производительность или актуальное ПО.

Writing an operating system kernel from scratch (popovicu.com) 🔥 Горячее

  • Ядро ОС написано на Zig для RISC-V, одноядерное, с вытесняющей многозадачностью и системными вызовами.
  • Unikernel: приложения линкуются с ядром в один бинарник.
  • OpenSBI обслуживает M-режим; ядро работает в S-режиме, потоки — в U.
  • Потоки статические, бесконечные функции; переключение по таймеру каждые 2 мс.
  • Контекст сохраняется на стеке прерываний; ядро и пользователь разделены.
  • GitHub: popovicu/zig-time-sharing-kernel

by Bogdanp • 14 сентября 2025 г. в 15:44 • 309 points

ОригиналHN

#zig#risc-v#operating-systems#kernels#unikernels#opensbi#qemu#multithreading#system-calls

Комментарии (64)

  • Участники делятся опытом создания минимальных ОС на RISC-V и Zig: кто-то перевёл «ОС в 1000 строк» на Zig, кто-то пишет с нуля.
  • Все сходятся: RISC-V проще x86, нет легаси-багажа, документация и эмуляторы доступны.
  • Железо не обязательно: достаточно QEMU; если нужна «реалка» — Milk-V Duo S за $10 или Pico 2.
  • Миникernel — хороший способ выучить архитектуру и Forth; «не изобретай крипту для продакшена» не отменяет экспериментов.
  • В споре о «кто важнее» вспомнили: Линус начинал как хобби, а Столлман уже с 1984 года готовил инфраструктуру GNU.

Writing an operating system kernel from scratch – RISC-V/OpenSBI/Zig (popovicu.com)

Разработка ядра операционной системы с нуля

Недавно я реализовал минимальное ядро ОС с разделением времени для RISC-V. В этой статье расскажу о деталях работы прототипа. Материал предназначен для всех, кто интересуется низкоуровневым ПО, драйверами, системными вызовами, и особенно полезен студентам, изучающим системное ПО и архитектуру компьютеров.

Это переработанная версия учебного проекта по операционным системам, но с фокусом на современные инструменты и архитектуру RISC-V. RISC-V — перспективная технология, которая проще для понимания по сравнению с другими архитектурами, оставаясь популярным выбором для новых систем.

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

Репозиторий и рекомендации

Исходный код доступен на GitHub. Перед изучением рекомендуется ознакомиться с основами программирования на RISC-V без ОС, процессом загрузки через SBI и обработкой прерываний.

Архитектура

Мы разрабатываем унике́рнел (unikernel), где приложение и ядро объединены в один исполняемый файл. Это исключает необходимость отдельной загрузки пользовательского кода во время выполнения.

В основе стека лежит слой SBI (OpenSBI), который управляет выводом на консоль и таймером. RISC-V использует уровни привилегий: M-режим (машинный), S-режим (супервизора) и U-режим (пользовательский). Наше ядро работает в S-режиме.

Цели ядра

  1. Статическое определение потоков (без динамического создания).
  2. Потоки выполняются в пользовательском режиме и могут делать системные вызовы к ядру.
  3. Время распределяется между потоками с помощью таймера, который прерывает выполнение каждые несколько миллисекунд.
  4. Разработка ведётся для одноядерной системы.

Виртуализация и потоки

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

by popovicu • 14 сентября 2025 г. в 00:36 • 87 points

ОригиналHN

#risc-v#opensbi#zig#operating-systems#unikernel#multithreading#kernel-development#system-calls

Комментарии (3)

  • Автор переписал классическое упражнение по созданию минимального ядра ОС с разделением времени для управления пользовательскими потоками.
  • Целью был эксперимент на специфической платформе RISC-V в сочетании с OpenSBI.
  • Для реализации был использован язык программирования Zig вместо традиционного C.
  • Автор отмечает, что подход можно легко повторить на C или Rust.
  • Участник обсуждения предположил, что эта тема уже публиковалась неделей ранее.
  • Другой участник уточнил, что оригинальный пост был два дня назад на Hacker News.
  • Было отмечено, что текущий пост, хотя и от первоначального автора, изначально не получил отклика и был повторно запущен через «пул второго шанса» с измененными временными метками.

SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V (skiftos.org) 🔥 Горячее

skiftOS
Включите JavaScript для работы приложения.

by ksec • 13 сентября 2025 г. в 04:55 • 440 points

ОригиналHN

#c#c++#arm#x86#risc-v#microkernel#http#linux#macos

Комментарии (88)

  • За 6 лет автор SkiftOS написал микроядро, загрузчик, графическую оболочку, UI-фреймворк и даже движок браузера.
  • Код на современном C++ (модули, async, co_await) и выглядит очень чисто; вдохновение Rust заметно.
  • Система CPU-рендеринг, GPU — в планах; сеть пока только HTTP, без HTTPS.
  • Безопасность: приложения не видят всю память и железо, драйверы в userspace, доступ по capability.
  • Собрать можно под Linux/macOS (./skift.sh run --release <app>), но полный билд сейчас сломан.
  • Автор признаёт: почти не было личной жизни, помощь была лишь с движком браузера.

Hypervisor in 1k Lines (1000hv.seiya.me)

Гипервизор за 1000 строк

Практическое руководство по созданию минимального RISC-V гипервизора, способного загружать Linux. Продолжение книги «ОС за 1000 строк», но теперь на Rust и с нуля (type-1, bare-metal). Используем только важное: сторонние крейты экономят код.
Репозиторий: github.com/nuta/hypervisor-in-1000-lines
Лицензии: текст — CC BY 4.0, код — MIT.

Содержание:
0. Введение

  1. Старт
  2. Загрузка
  3. Hello World
  4. Менеджер памяти
  5. Режим гостя
  6. Страницы гостя
  7. Привет из гостя
  8. Сборка ядра Linux
  9. Запуск Linux
  10. SBI
  11. MMIO
  12. Прерывания
  13. Заключение

by lioeters • 09 сентября 2025 г. в 23:13 • 111 points

ОригиналHN

#hypervisor#risc-v#rust#linux#bare-metal#qemu#sbi#mmio

Комментарии (12)

  • Демо-гипервизор на 1000 строк — интересная техническая игрушка, но без паравиртуальных драйверов и прочей инфраструктуры непригоден для реального использования.
  • Чтобы запустить RISC-V гипервизор на x86, нужен QEMU, потому что это эмуляция другой архитектуры.
  • Желающим увидеть «тот же объём, но на C» скидывают 500-строчный SimpleVisor и репозиторий kvmsample.
  • В дискуссию вмешалась философия: «OS» можно уложить и в 5 строк EFI-кода, если не требовать от неё ничего, кроме «Hello, world».

AMD claims Arm ISA doesn't offer efficiency advantage over x86 (techpowerup.com) 💬 Длинная дискуссия

  • AMD на IFA-2025: «x86 уже не менее экономичен, чем Arm»
  • Компания уверена, что ноутбуки на Ryzen и Core живут столько же, сколько Arm-решения, при этом сохраняют совместимость с огромной экосистемой x86
  • AMD считает, что энергоэффективность определяется не архитектурой, а всей платформой: ядро, GPU, память, ПО
  • Проект K12 на Arm был закрыт: выгоды от перехода на другой ISA оказались несоразмерны потерям совместимости

by ksec • 08 сентября 2025 г. в 14:36 • 197 points

ОригиналHN

#x86#arm#risc-v#amd#energy-efficiency#microarchitecture#uefi#bios#gcc

Комментарии (366)

  • Эксперты сходятся: ISA (x86, ARM, RISC-V) почти не влияет на энергоэффективность; решают микроархитектура, техпроцесс, uncore, PMIC и ОС.
  • Apple M — лидер не из-за ARM, а благодаря интеграции памяти, тонкому управлению питанием и приоритету эффективности.
  • Современные x86 (Lunar Lake, Strix Halo) подтянулись по idle, но при нагрузке всё ещё уступают M4 в производительности/Вт.
  • ARM-системы всё ещё страдают от хаоса загрузки (no UEFI, vendor-kernel), тогда как x86/PC стандартизированы с BIOS/UEFI.
  • Для мелких ядер (MCU) простой ISA важен; для высокопроизводительных ядер декодер «съедает» <1 % площади и энергии.
  • Всё сводится к реализации: тот же GCC на x86 генерирует RISC-подобные инструкции, а различия даёт предсказатель, кэши, техпроцесс.

The future of 32-bit support in the kernel (lwn.net) 💬 Длинная дискуссия

32-битные системы устарели, но ядро всё ещё их поддерживает из-за старого «железа» и ПО.
Arnd Bergmann: новые продукты уже 20 лет выходят на 64-битных платформах; встраиваемые устройства постепенно переходят с armv7 (32-бит) на armv8 (64-бит).

  • Arm: 90 % встраиваемых систем; лишь три старые архитектуры до-armv7 ещё можно купить, но ядро держит десяток выведенных из производства. Поддержку можно выбрасывать «по половинам», когда исчезнут пользователи.
  • Другие 32-битные архитектуры (arc, microblaze, nios2, openrisc, rv32, sparc/leon, xtensa) вытесняются RISC-V.
  • nommu (armv7-m, m68k, superh, xtensa) никто не выпускает, их держат лишь ради существующих систем.

Для несовместимых 32-битных приложений — запуск 32-битного userspace на 64-битном ядре: экономит память, не требует 32-битного ядра.

Боль разработчиков:

  • Высокая память (highmem) усложняет mm-подсистему; нужна, когда физической памяти > ~800 МБ.
  • Ядро пока держит 32-битные машины до 16 ГБ, но таких почти нет; 4 ГБ встречаются (Chromebook), 2 ГБ — чаще, но «глупо»: память дороже CPU.

by binarycrusader • 01 сентября 2025 г. в 18:48 • 246 points

ОригиналHN

#linux#kernel#arm#risc-v#embedded-systems#64-bit#32-bit#highmem#mmu

Комментарии (256)

  • Участники обеспокоены удалением поддержки nommu/32-бит: это уменьшает свободу, лишает возможности запускать Linux на старом или простом железе и делает ядро похожим на «дорожную карту» Apple/Windows.
  • Некоторые предлагают форк «Linux Legacy» или переход на NetBSD/OpenBSD, которые по-прежнему поддерживают старые архитектуры.
  • Для встраиваемых устройств без MMU считают более подходящими Zephyr, NuttX или Contiki, а не полноценный Linux.
  • Поддержка big-endian почти мертва, но сохранится, пока IBM вкладывается в s390x.
  • Старые ядра и LTS-дистрибутивы ещё десятилетие обеспечат безопасность и работу выброшенного железа.

How is Ultrassembler so fast? (jghuff.com)

Ultrassembler — библиотека RISC-V-ассемблера, встроенная в проект Chata.
В отличие от as и llvm-mc, она вызывается прямо из C++, без system() и временных файлов, что критично для встроенных систем.

Скорость

Тест на 16 тыс. инструкций:

  • Ultrassembler ≈ 10× быстрее as, 20× быстрее llvm-mc.
  • 1 RISC-V инструкция ≈ 1000 x86-инструкций (у конкурентов 10–20 тыс.).
    Код на чистом C++; можно добавить ассемблерные вставки.

Ключевые оптимизации

Исключения

GCC-реализация «zero-overhead»: штрафа нет, пока исключений нет.
Ошибки встречаются редко и видны человеку, поэтому даже 1 с на обработку незаметна.
std::expected дал −10 %, так как нормальный путь стал дороже.

Быстрые структуры

2000+ RISC-V-инструкций требуют мгновенного поиска.
Вместо std::unordered_map используется perfect-hash таблица от gperf, генерирующая O(1) без коллизий.
Размер таблицы компактен, кэш-эффективен.

Парсинг

  • Регистры идентифицируются по первым 2–3 символам через switch.
  • Нет std::string, только std::string_view и статические буферы.
  • Лексемы разбираются за один проход без регулярных выражений.

Кодогенерация

  • Шаблоны на этапе компиляции формируют битовые маски инструкций.
  • Варианты одной инструкции разворачиваются в constexpr-таблицы, что убирает ветвления в рантайме.

Память

  • Все выделения через стековые std::array/std::string_view.
  • Нет new/malloc, следовательно, нет аллокационных штрафов и кэш-промахов.

Платформенные трюки

  • [[likely]]/[[unlikely]] для подсказок ветвления.
  • __builtin_expect там, где компилятор не догадывается.
  • LTO + PGO дают ещё 5–7 %.

Итог

Ultrassembler показывает, что «низкоуровневый» C++ без искусственных ограничений может обгонять даже оптимизированные GNU-утилиты.

by netr0ute • 31 августа 2025 г. в 17:42 • 98 points

ОригиналHN

#c++#risc-v#assembler#gcc#llvm#performance-optimization#hash-tables#compiler-optimization#embedded-systems

Комментарии (34)

  • В обсуждении разобрали миф о «системном вызове при каждом росте контейнера» — реальные аллокаторы переиспользуют память и делают syscall лишь при нехватке.
  • Участники напомнили, что исключения в C++ не «zero-overhead»; есть компромисс между временем и памятью, и g++ выбирает экономию места.
  • Автор статьи подтвердил: пробовал хеширование, но дерево разбора оказалось быстрее; flex/bison тут не при чём, скорее gperf.
  • Некоторые посоветовали LLVM C++ API, memory-mapped I/O и std::pmr для ускорения и упрощения кода.
  • Большинство сходится: современные ассемблеры и так быстрые, задача скорее академическая, но как «посмотреть, насколько можно ускорить» — интересна.

Condor's Cuzco RISC-V Core at Hot Chips 2025 (chipsandcheese.com)

  • Condor Computing, дочка Andes Technology, показала на Hot Chips 2025 ядро Cuzco — высокопроизводительное 8-ширинное RISC-V с 256-записным ROB, 2–2,5 ГГц на TSMC 5 нм и 10-цикл. штрафом за промах предсказания.
  • Ядро конкурирует с SiFive P870 и Veyron V1, превосходя уже реализованные C910 и P550.
  • Особенность: «временное» статическое планирование в backend для экономии энергии без изменений ISA и без требований к компилятору.
  • Cuzco модульное: строится из «execution slices», конфигурируются L2 TLB, шины, L2/L3, размеры внутренних структур. До 8 ядер в кластере, связь через CHI; можно масштабировать множеством кластеров.
  • Frontend: TAGE-SC-L для условных переходов, BTB 16 К-entry, RAS 64-entry, μop-кэш 3 K-entry/96 KB, 32 B/цикл выдача.
  • Fetch/decode: 32-байт/цикл, 4×simple + 1×complex декодер, поддержка RVC, μop fusion.
  • Rename/dispatch: 8 μop/цикл, 256 phys-регистров int/fp, 96-entry scheduler, 32-entry store queue.
  • ALU: 4 int + 2 branch + 2 fp/simd + 2 load + 1 store, 2-cycle FMA, 256-бит SIMD, crypto-расширения.
  • L1: 64 KB I + 64 KB D, 4-cycle load-to-use; L2 512 KB–2 MB; L3 2–8 MB.
  • Потоковая модель: 1 thread/core, но можно SMT в будущем.
  • Потребление: ~0,5 Вт/ГГц (Typical), 2,5 мм² на 5 нм без L2/L3.

by rbanffy • 30 августа 2025 г. в 14:18 • 148 points

ОригиналHN

#risc-v#condor-computing#andes-technology#tsmc#cuzco#sifive#veyron#chi#tage-sc-l#rva23

Комментарии (45)

  • Новое ядро Andes (Condor) делает ставку на энергоэффективность: жертвует 5–7 % «сырой» производительности ради десятков процентов экономии энергии.
  • Вместо классического Tomasulo в бэкэнде статическое расписание формируется во фронтенде; при промахе L1 результаты помечаются как «ядовитые» и переигрываются, заполняя пустые слоты конвейера.
  • Критики сомневаются в эффективности без аппаратного учёта зависимостей по памяти и переменной латентности операций; автор отвечает, что всё покрывается предикцией + replay.
  • Появление битовых инструкций RVA23 признано полезным и для HPC-кода, и для встраиваемых задач.
  • Сообщество радуется, что RISC-V добрался до высокопроизводительных реализаций, несмотря на патентные барьеры доминирующих игроков.

Writing a Hypervisor in 1k Lines (seiya.me)

Я написал учебник по созданию гипервизора с нуля за 1 000 строк кода: 1000hv.seiya.me. Это тип-1 гипервизор для 64-битного RISC-V с расширением H в QEMU. Подойдёт тем, кто уже прошёл OS in 1 000 Lines.

Код на стабильном Rust — без nightly. Сообщество Rust наконец-то добавило всё необходимое, включая inline-assembly.

Идея книги: гипервизор — это «обработчик событий»:

const vcpu = new VirtualCPU(memory);
while (true) {
    try { vcpu.resume(); }
    catch (e) { handle(e); } // MMIO, прерывания…
}

Он запускает гостевую ОС, перехватывает выходы из VM и возвращается. Это позволяет строить не только классические ОС, но и безопасные среды вроде gVisor или Hyperlight.

Книга уже доступна онлайн. Приятного кодинга!

by ingve • 29 августа 2025 г. в 22:12 • 93 points

ОригиналHN

#rust#hypervisor#risc-v#qemu#virtualization#os#vmware#inline-assembly

Комментарии (9)

  • RISC-V можно полностью виртуализировать методом «ловушка-и-эмуляция» без аппаратного расширения, но обход таблиц страниц будет медленным.
  • @drob518 уточнил: обход таблиц страниц выполняется программно, а не аппаратно.
  • @nerpderp82 спросил, можно ли использовать RVV для обхода таблиц страниц.
  • @anchovy_ попросил литературу по гипервизорам; @dmitrygr дал ссылки на академическую теорию и практику VMware.
  • @TZubiri посоветовал учиться по документации производителей и исходному коду, а не по университетским книгам.

QEMU 10.1.0 (wiki.qemu.org)

  • Удалено: устаревшие устройства sga и xenfv; опция -no-user-config.
  • Новые пометки: -machine dump-guest-core=on, query-cpus-fast, query-cpu-definitions – deprecated.

Архитектуры

  • 68k: поддержка q800 и macos9.
  • ARM: новые SoC imx8mn, stm32h735, xlnx-zynqmp-ep108; машины mps3-an547, raspi5; эмуляция FEAT_SVE2, FEAT_MTE2, FEAT_LSE2.
  • RISC-V: добавлены zacas, sstc, svadu, smstateen; машины spike-1.11, microchip-polarfire.
  • x86: AMD SEV-SNP, Intel AMX, AVX-VNNI; KVM-TCG совместимость.

Устройства

  • ACPI: поддержка SRAT для NVDIMM.
  • Audio: Intel HDA теперь 24-бит.
  • Block: virtio-blk/SCSI – discard=unmap, write-zeroes=unmap.
  • Graphics: virtio-gpu – 3D, virglrenderer 1.0.
  • NVMe: CMB, PMR, ZNS.
  • PCIe: SR-IOV, ARI, ATS, PASID.
  • USB: xHCI – USB 3.2 SuperSpeed+.

Прочее

  • Multi-process: x-vhost-user-fs и vhost-user-vsock теперь в отдельном процессе.
  • Сеть: vhost-vdpa – offloading checksum/TCP.

by dmitrijbelikov • 27 августа 2025 г. в 11:02 • 240 points

ОригиналHN

#qemu#kvm#virtualization#wasm#android#arm#risc-v#x86#nvme#pci-e

Комментарии (38)

  • QEMU восхищает пользователей: «просто работает», хорошо интегрируется и кажется «магией».
  • Его применяют для dev-окружений, запуска ПО на других ОС, разработки новых ОС, а также в облаках.
  • KVM ускоряет QEMU, предоставляя аппаратную виртуализацию через page-tables и trap-механизмы.
  • Появилась экспериментальная сборка в WASM, что открывает онлайн-песочницы для разных архитектур.
  • Поддерживается запуск Android-VM (Cuttlefish, официальный Android-emulator на базе QEMU).
  • Утилиты вроде QuickEMU и UTM упрощают запуск ВМ, а пожертвования идут через Software Freedom Conservancy.

Show HN: I integrated my from-scratch TCP/IP stack into the xv6-riscv OS (github.com)

xv6-riscv-net
Форк MIT xv6 для RISC-V с добавлением стека TCP/IP.
Поддерживаются драйвер RTL8139, DHCP, DNS, ping, telnet-сервер, HTTP-клиент.

Сборка и запуск

make qemu

Внутри QEMU:

$ dhcp
$ ping 8.8.8.8
$ telnetd &
$ http google.com

Сетевые утилиты

  • dhcp – получить адрес
  • ping – проверка связи
  • telnetd – сервер на порту 23
  • http – простой HTTP-клиент

Код

  • kernel/net* – стек TCP/IP
  • kernel/rtl8139.c – драйвер сетевой карты
  • user/{dhcp.c,ping.c,telnetd.c,http.c} – сетевые утилиты

by pandax381 • 26 августа 2025 г. в 06:24 • 107 points

ОригиналHN

#tcp-ip#risc-v#xv6#dhcp#dns#telnet#http#qemu#virtio-net#low-level

Комментарии (5)

  • @Tony_Delco и @dancek восхищаются сложностью и качеством реализации TCP/IP-стека для xv6 с virtio-net и сокетами, подчеркивая, что это «золото» для любителей low-level.
  • @AbbeFaria сообщает, что проходит лабораторные xv6 и сейчас занят mmap и fork.
  • @lesser-shadow интересуется, используются ли RISC-V-расширения и возможностью запуска на bare metal.
  • Все участники благодарят автора за открытость и делятся вдохновением.

The MiniPC Revolution (jadarma.github.io) 💬 Длинная дискуссия

Почему я перешёл на MiniPC

Пару лет экспериментов убедили: это моё будущее.

Плюсы

  • Цена и заменяемость
    Заводская сборка и масштаб снижают цену. Поломки редки: нет вентиляторов, низкая температура, медленный износ.

  • Компактность
    Прячется за ТВ, помещается на ладонь, легко переносится.

  • Энергоэффективность
    20–50 Вт под нагрузкой, 6–12 Вт в idle. Для 24/7-сервисов выгодно и экологично. ARM/RISC-V обещают ещё меньше энергии.

  • Специализация
    Один тип MiniPC не универсален, но набор из разных закрывает все задачи:

    • обычные — офис/браузер;
    • 4–6 LAN-портов — роутер, фаервол, VPN;
    • 4–6 M.2 — компактный NAS (до 20 ТБ);
    • мощный — хост контейнеров и «облако»;
    • Mac mini — macOS без отказа от Linux.
  • Простота сборки
    «Монолит» из одного большого ПК требует редкой материнки, кучи PCI-устройств, корпуса с отсеками, сложной логистики и возвратов. Несколько MiniPC решают то же быстрее и дешевле.

by ingve • 25 августа 2025 г. в 16:45 • 128 points

ОригиналHN

#minipc#proxmox#kubernetes#linux#macos#arm#risc-v#vpn#nas#steam-machine

Комментарии (177)

  • Участники активно обсуждают, как Mini-PC стали «новыми домашними серверами»: дешёвые, экономные (6–50 Вт), легко кластеруются под Proxmox/K8s и заменяют дорогое «энтерпрайз» железо.
  • Популярны бывшие корпоративные NUC/HP/Lenovo и китайские 5560U/16 ГБ за $200–300; их ставят за TV, в туалет, за лазер, за StepMania — «дешевле, чем облако».
  • Главные боли: шум (особенно в «геймерских» версиях), неремонтопригодность (паяная RAM/CPU, кастомные кулеры), высокий процент брака дешёвых китайцев и отсутствие апгрейдов.
  • Мечтают о «тихом Mac-mini-размере» с RTX 4060/780M для игр, но физика (300 Вт TDP) и цена (~$2000) пока не позволяют; вариант — ПК в соседней комнате + длинный кабель/KVM.
  • Valve, по мнению многих, была права с идеей Steam Machine, но рано и промахнулась в Linux-играх; новая попытка в 3–5 лет, возможно, совместит Proton, Mini-PC и приставочную форму.

Show HN: Bolt – A super-fast, statically-typed scripting language written in C (github.com)

bolt — компактный встраиваемый язык на C:

  • высокая скорость, реал-тайм, статическая типизация
  • целевые задачи: скрипты в играх, IoT, системы с ограниченными ресурсами

Основное

  • репозиторий: Beariish/bolt
  • лицензия: MIT
  • компилятор ~150 КБ, зависимости отсутствуют

Возможности

  • синтаксис C-подобный, сборка мусора без пауз
  • FFI к C «из коробки»
  • компиляция AOT/JIT, кроссплатформенность (x86, ARM, RISC-V)

Быстрый старт

git clone https://github.com/Beariish/bolt
cd bolt && make
./bolt examples/hello.bt

hello.bt

import std.io;

fn main() {
    io.println("Привет, bolt!");
}

by beariish • 10 августа 2025 г. в 17:53 • 244 points

ОригиналHN

#bolt#c#aot#jit#embedded#arm#risc-v#garbage-collection#static-typing#mit-license

Комментарии (82)

  • Пользователи одобрили идею быстрого статически типизированного скрипт-языка для встраивания, но сразу спутали «embedded» с «embedded-systems» и отметили отсутствие поддержки ARM/32-бит и отказ от целочисленных типов.
  • Критика синтаксиса import a, b from module: неудобен для автокомплита и повышает риск конфликтов имён; автор готов добавить псевдонимы.
  • Сомнения в заявленной скорости: несколько человек привели замеры, где Bolt проигрывает LuaJIT и даже обычной Lua 5.4.
  • Подняты вопросы о полноте типовой системы (генерики, полиморфизм), отладке, LSP, сборке мусора и долгосрочной поддержке.
  • Плюсы: понятный C/Python-подобный синтаксис, удобный Result-тип, потенциальная замена Lua в играх и редакторах.

RISC-V single-board computer for less than 40 euros (heise.de)

  • Pine64 Star64 — плата на RISC-V за €39,99

    • 4-ядерный JH7110 (1,5 ГГц), 2 ГБ LPDDR4, Wi-Fi 5/BT 5.2, HDMI 4K, PCIe, GPIO 40-pin.
    • Поддерживает Linux (Ubuntu, Fedora) и RTOS (Zephyr).
    • Питание через USB-C 5 В/3 А; корпус и eMMC опционально.
  • Доступность

    • Продажи стартуют 12 августа в магазине Pine64 и у партнёров.

by doener • 08 августа 2025 г. в 21:59 • 161 points

ОригиналHN

#risc-v#pine64#linux#ubuntu#fedora#zephyr#pci-e#gpio

Комментарии (80)

  • VisionFive 2 Lite — дешёвая RISC-V плата, но JH7110 не соответствует RVA23, что может вызвать проблемы с Ubuntu.
  • Производительность ближе к Pi 4 при CLI-задачах, но без SIMD; для GUI и современных ПО памяти может не хватить.
  • Поддержка Linux/Fedora/Debian хорошая, но многое из «обычного» ПО не тестируется на riscv64.
  • Нет полноценного PCIe-слота и открытого GPU-драйвера; нужна M.2-SSD и максимум ОЗУ.
  • Питание можно через PoE-сплиттер, встроенной flash нет, что полезно для офлайн-криптографии.
  • Cookie-баннер статьи вызвал бурю негодования: отсутствует кнопка «отклонить всё», приходится пользоваться блокировщиками или зеркалами.