Недели две назад я задал себе вопрос: а можно ли написать операционную систему с нуля — без Linux, без libc, без чужого кода вообще — и сделать так, чтобы она была видна в обычном браузере?
Сегодня — да.
На экране: рабочий стол ОС «Восход». Никакого Linux. Никакой libc. Голый процессор MIPS64, собственный сетевой стек (Ethernet → ARP → IPv4 → ICMP → TCP → HTTP), написанный с нуля, и веб-сервер на ~400 строк Си. QEMU изображает компьютер, а в Firefox это выглядит вот так:
Планета — та самая, для которой всё это пишется. Солнце из-за горизонта. Огни городов сквозь облака. И всё это — страница, которую сгенерировала bare-metal система на кристалле: пришёл TCP-запрос, собралась страница, ушла тремя сегментами по 1400 байт.
Это не кульминация — это первый кадр. Дальше по плану: виртуальная машина Дракон-схем прямо внутри ОС, FAT32 на карте памяти, и настоящая железная плата, где всё это будет жить по-настоящему.
Код маленький, намерения большие. Продолжение следует.