RU

Написал свой ассемблер, чтобы понять, откуда берётся ff010113. Почти половину моей программы он выдумывает

Написал свой ассемблер, чтобы понять, откуда в дизассемблере берётся ff010113. Заодно посчитал, сколько строк моей программы процессор вообще не уме…

RISC-Vассемблеркодирование инструкцийпсевдоинструкцииRV32Iкомпоновщикрелокацияbare metalQEMU
Habr
RU

Как мы сделали инкрементальную репликацию из OpenStack на уровне QEMU/KVM в релизе «Хайстекс Акура 4.6»

Если вы настраивали аварийное восстановление для OpenStack, то знаете частую проблему: при отказе от Ceph организация безагентной инкрементальной ре…

OpenStackQEMUKVMCBTCephdirty bitmapsCinderинкрементальная репликациябезагентный бэкапСХД
Habr
RU

В заголовке моего ELF есть точка входа. Оказалось, её никто не читает

Три статьи я собирал файл и отдавал его эмулятору, ни разу в него не заглянув. Заглянул. Внутри два разных описания одних и тех же байтов, ответ на…

RISC-VQEMUbare metalассемблеELFкомпоновщиклинкер-скриптточка входасегменты и секци
Habr
RU

Моя рекурсия зависла навсегда, и это был правильный результат

Написал рекурсию тем же приёмом, что во второй статье, и программа повисла навсегда: возвращаться ей было некуда. Чиню, завожу стек и по дороге выяс…

RISC-VQEMUbare metalассемблерстекрекурсиясоглашение о вызовахпереполнение стекаpsABI
Habr
RU

Двенадцать символов, двадцать один байт: как я научил голый RISC-V говорить «Привет, мир!»

Без библиотек, без обвязок, без операционной системы под ногами. Реальный код на реальном железе — ну, почти реальном. Пустая эмулируемая машина RIS…

RISC-VQEMUbare metalUARTассемблерUTF-8
Habr
RU

От boot-кода до shell: несколько месяцев разработки ОС на Rust с ИИ-агентами

Как разработать собственную ОС в одиночку, если заниматься проектом можно только в свободное время? Рассказываю, как ИИ помог мне пройти путь от изу…

genrtразработка ОСсистемное программированиеRustAArch64QEMUядро ОСuserspaceИИ-агентыCodex
Habr