Kako se Linux zažene na Intelu 4004

Matej Huš

29. sep 2024 ob 22:21:03

Dmitry Grinberg je dokazal, da je Linux zares možno poganjati na praktično vsem. Sicer okleščeno distribucija Debiana je pognal na prvem komercialnem mikroprocesorju, na Intelovem 4004, ki ima 2300 tranzistorjev in frekvenco 740 kHz. Tak sistem seveda ni hiter, saj do ukazne vrstice potrebuje malo manj kot pet dni, a to ni bistveno. Grinberg je pokazal, da je to možno.

Ni pa enostavno. Intel 4004 je precej drugačen procesor od današnjih, saj ima le 4 bite, nima niti ukazov AND ali OR, in naslovi zgolj nekaj kilobajtov pomnilnika. Procesor je bil prvotno mišljen za kalkulatorje in šele nasledniki, denimo 8-bitna 8008 in 8080, so našli pot v osebne računalnike.

Ker je 4004 tako skromno opremljen, na njem Linux neposredno ne teče. Namesto tega je Grinberg namestil emulator procesorja MIPS R3000, ki na primer poganja DECstation 2100. Emulator je dodal še en sloj, ki je dodatno upočasnjeval sistem, a je po drugi strani sploh omogočil zagon. Poleg tega je moral rešiti še nekaj drugih izzivov, denimo odsotnost prekinitev (interruptions) in podobno. Z več triki in lastnim tiskanim vezjem je na koncu uspel pognati Linux na verjetno najbolj primitvnem procesorju doslej.