Jak dlouho vám startuje počítač? Pár sekund? Nebo snad celou minutu? Dmitry Grinberg z amerického Austinu si musí pokaždé počkat skoro celý týden, jeho linuxové „cosi“ mu totiž bootuje 4,76 dnů.
A místo toho, aby se mu lidé smáli a složili se ve sbírce na novou mašinu, píšou o něm i na těch největších světových webech.
Téměř pětidenní startování textového Linuxu na procesoru z roku 1971:
Linux na procesoru z roku 1971
Důvod je prostý. Dmitry strávil moře času tím, aby nastartoval Linux na procesoru Intel 4004 (740 kHz, 2 300 tranzistorů) – prvním svého druhu z roku 1971. Jenže pozor, toto není další variace na: „Tento mladý muž spustil Dooma na chytrém zubním kartáčku.“ Dmitryho úkol byl ve skutečnosti mnohem složitější.
Na této planetě totiž neexistuje překladač, který by dokázal zkompilovat zdrojové kódy Linuxu na architekturu dávno zapomenutého a příliš jednoduchého CPU. Dmitry na to musel jít jinak, a tak na čipu 4004 naprogramoval pouze emulátor o něco málo pokročilejšího 32bitového procesoru R3000 od MIPS Computer Systems z konce 80. let minulého století.
Prehistorická vykopávka emuluje jinou vykopávku
Na mladším procesoru R3000 už totiž Linux spustíte, zároveň je ale stále dostatečně jednoduchý, aby se jeho emulátor vešel do adresovatelné paměti na 4004 (prostor pouze na 4 kB). Titěrný program běžící na Intel 4004 tedy čte data Linuxu z SD karty a zpracovává je, jako by byl procesorem R3000, pro který je kód přeložený.
Deska s procesorem Intel 4004, který emuluje procesor R3000, který zpracovává Linux. Prostě Nolanův Inception v podání jednoho geeka z Austinu
Dmitry si pro experiment vyrobil speciální řídící desku s displejem a sériovou linkou, která předávala textové informace o aktuálním stavu bootování Linuxu, a postupně svůj bastl optimalizoval.
Detailní popis každého kroku najdete na jeho webu, podstatné je ale to, že se z původních osmi dnů postupně dostal až na necelých pět. A to všechno jen proto, aby natočil jedno z nejšílenějších ajťáckých videí letošního roku.