4,76 nap alatt, de végül bebootolt a Linux kernel az Intel 4004-en

Címkék

Dmitry Grinberg hardver hacker nemrégiben elért valamit, ami lehetetlennek tűnik: elindította a Linuxot az Intel 4004-en, a világ első kereskedelmi mikroprocesszorán. Ez az 1971-es CPU mindössze 2300 tranzisztort tartalmaz, és eredeti órajele 740 kHz volt, ami modern szemmel nézve rendkívül primitívnek számít. És lassú is — körülbelül 4,76 napig tart, mire a Linux kernel elindul rajta.

Részletek itt.

(A cikk nyomokban Mesterséges Intelligencia által szolgáltatott adatokat tartalmaz, így a tartalmát érdemes duplán ellenőrizni!)

Hozzászólások

Obligát kérdés: mi a helyzet a Doom-mal?!

trey @ gépház

A Fastdoom tud 80x25*-ös text-et (is), 16 színnel. Annyira nem jó :)) (ráadásul teljesen szükségtelenül 80486-on hajtják), de megy. Okés-okés, a CGA nem 4004 szint.. de az egész már megindult lefelé :D

Vortex Rikers NC114-85EKLS

"If you're skeptical that this feat is possible with a raw 4004, you're right: The 4004 itself is far too limited to run Linux directly. Instead, Grinberg created a solution that is equally impressive: an emulator that runs on the 4004 and emulates a MIPS R3000 processor"

Ez így csalás, nem? Szerintem inkább javascript interpretert kellett volna írnia, mert azon is fut már Linux.

Igen, kicsit csalás, mert MIPS emulátort futtat, és abban fut a Linux, de azért durva, hogy végül tökéletesen fut neki, és heteket töltött csak azzal, hogy bebootolja, egy alap uptime parancs is több napig fut le neki, azt írja a csávó, hogy az exec-fork vesz el sok időt.

Gyakorlati haszna nincs, de szép teljesítmény. Van ideje dögivel, az biztos.

The world runs on Excel spreadsheets. (Dylan Beattie)

szép teljesítmény

Egyszer a tévében hallottam: Műmellekkel dicsekedni olyan, mintha valaki arra lenne büszke, hogy hibátlanul fingotta el a Für Elise-t.

Egyébként a linux i386-ra készült, annál kisebb processzoron nem csak a szó/utasítás szélessége kisebb, hanem mmu sincs. Kb. olyan, amikor egy roller csapkod a szárnyaival és repül - ami pont olyan mint egy galamb. :-D

Ezt szokták mondogatni, de valójában a 286-ban is volt már protected mode. Ahhoz meg gondolom kellett MMU.

Igaz, csak 16 megát tudott címezni, de az még a 486 korban sem számított kevésnek.

Inkább ami megdöbbentő, hogy a 4004 1971-ben jelent meg, a 8008 1972-ben, a 8080 1974-ben, a 8085 1976-ban, a 8086 pedig 1978-ban, és a mai napig ennek a leszármazottait használjuk.

Csak hét év telt el az első processzor és a 8086 között, azóta pedig már lassan ötven!

A 286 mmu jóval kevesebbet tud, de ez mindegy, mert Linus kifejezetten a 32 bites 386-ra írta.

a mai napig ennek a leszármazottait használjuk

Ez csak a Windows irányú megközelítés. Ha úgy tetszik az Arduino és a POWER* is Motorola 6800, de inkább 68k leszármazott. A mai vonal alapvetően a 8080 kiterjesztése. Akkoriban úgy mondtuk, hogy egy cpu lehet néhány regiszteres Intel vagy sokregiszteres Motorola szerű.

Az ötven évvel ezelőtti processzorok leginkább abban hasonlítanak a maiakhoz, hogy mindkettőnek vannak lábai. ;)

Azért nem megy a 286-on, mert Linus soha nem akarta rá megírni. Voltak Unixok 286-ra, meg ott volt a windows is egészen a 3.1-ig. Mindegyik ment a 286-on, védett módban, elérve a 286 teljes memóriáját.

Nem volt túl népszerű a 286 védett mód, de létezett.

A címzés, az aritmetika tök mindegy. Amíg C-ben van a kód, addig oldja meg a fordító.

A kezdeti Linuxban rengeteg assembly betét volt, na azok viszont csak 386-ra voltak megírva. Ahogy telt az idő, a 286-ra meg egyre csökkent az igény, úgyhogy ezt utána soha nem is kérdőjelezte meg senki.

Kicsit jobban utánanézve: a 286-os nem tudott lapozni, ez egy elég komoly limitációnak számított akkor. A 386 másik nagy feature-e pedig a VM8086 mód volt, az pont nem kellett a Linuxnak.

Na jó jó, de systemd van-e rajta?

Anélkül nincs Linux....

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Várjuk nagyz-t, hogy megkérdezze minek ez a projekt és mennyivel lesz olcsóbb tőle a kenyér nyugaton. A fickó meg menjen inkább Netflixet nézni airplayen, mert az legalább működik.

Vajon meddig tart rajta elindítani egy vim-et?

És mennyi idő kilépni belőle? :O

Ha NetBSD-vel próbálkozott volna, akkor az már tegnap beindult volna emuláció nélkül. ;)

Ez is mutatja hogy csak felesleges e-hulladék az összes mai proci. Már 71-ben tudtak olyat gyártani ami a mai napig működik.
De a fősodratú mérnök urak lusták optimalizálni...4!

Nem, de lehetne.

Persze, hogy jó lesz 50 évig egy gép, pont annyi lesz, amíg az ember lefuttat rajta valami normálisat, összetett alkalmazást :D

Nyilván van egy pont, ahol megéri cserélni, ezt hajbi nem hiszi el nekem. Az ember ideje meg a futtatási lehetőségek bővítése megér azért annyit. Kb. 10 évente cserélni nem konzumeridiotizmus, de nem hiszi el.

Mondjuk ez az i4004 nem is arra lett tervezve, hogy OS fusson rajta, hanem egy primitív, 4 alapműveletes számológépbe szánták. Még a 8008, 8080, 8086-8088 is csak egyszerű, bare metal kódfuttatásra volt max. tervezve, nem multitasking OS-re, CP/M meg DOS volt reális ezekre. Bár egy 8086-8088-80286-on elment legalább a MS Xenix, de hát az is rettenet nyögvenyelő volt, az ember az ereit felvágta, mire lefutott rajta valami (erről valaki tett fel videót pár éve a YouTube-ra, de nem találom), azért a gyenge proci meg a kevés, 640 KB RAM az csúnyán benyomorította.

Nem véletlen, hogy a unixokat, meg a unixlike rendszereket csak a 90-es évek elején portolták át x86-ra (x86 Solaris, SCO Unix/386, 386BSD, NetBSD, FreeBSD, stb.), akkora megfizethetők lettek a 32 bites hardverek (386-486-os procik), kicsit nagyobb merevlemezek, meg voltak értelmesebb, pár MB-os RAM mennyiségek (4-8 MB körül már nem volt megfizethetetlen), ebbe már belefért egy ilyen rendszer. A Linuxnak is ezért volt esélye pont ebben az időszakban indulni, mert már egy egyetemista-kollégista is meg tudta venni a 386-osát hozzá, még ha vért hugyozva, meg agyonadósodva is, de sikerült neki, mert a 386 már akkor kint volt 6 éve, és a 486-osok hatására lement már kicsit az ára. A legkorábbi még ebben a műfajban a MINIX volt, az 8088-ra készült, de abban meg az volt a trükk, hogy csak egy proof of concept kód volt, nem volt jó túl sok mindenre, csak tanulási segédletnek.

Persze, voltak korábban is ilyen rendszerek, de azok nem átlag felhasználóknak, nem mezei PC-kre, hanem több ezer dolláros workstation, server vasra, VAX, m68k, később, PPC, SPARC, MIPS, stb. architektúrákra, DEC/Ultix, SunOS, SGI, NextStep, HP, stb.. Azért kellett idő a megfizethető x86-os PC-knek, mire felzárkóztak erre a szintre.

Sőt, Torvalds is hiába kezdte 386-oson, ahogy hízta ki magát a kernel egy floppy-snál nagyobbra, elég rövid időn belül kapta hozzá az új vasakat, 486-os, 1994-es képeken már Pentium gépekkel pózolt, már akkor se vívta ki hajbi elismerését.

The world runs on Excel spreadsheets. (Dylan Beattie)

Hajbi elismerését a Linux akkor vívja ki, ha eljön a desktop Linux éve, lehetőleg Red Hat-, IBM- és multimentesen. Nagyjából azzal a professzionális desktop koncepcióval, ami a 2000-es évek közepén volt (KDE3, GNOME2 stb.) és amit az elmúlt 10 évben sikerült korporatokrata erővel szétbarmolni (köszönjük szépen minden multinak, aki részt vett benne).

Arch Linux nem rossz koncepció, de mivel a projektek fele nem tartja stabilan az upstream-et, így a stabilitása nagyjából a Windows 10-11 feature (tehát nem LTSC) ágával vetekszik. Onnantól, hogy desktop és GUI kerül a képbe, a Red Hat kerül a képbe, minden Linuxon. Tehát ugyanaz a bajom a desktop Arch Linux-szal, mint az összes többi desktop Linux-szal.

és meg van a Gnome2 élmény

Nem nincs, mert már a MATE is GTK3. Ez a bohóckodás az egészben. A MATE fejlesztői forkolták a GNOME2-t, de a GTK2-t nem, és a GTK3-mal ugyanúgy mennek a Red Hat után. Az erőforráspazarló látszat marad meg csupán.

Esetleg már ez is bloat az unpatched XP-hez képest?

Igen, az.

Nagyrészt igazad van, a Red Hat tényleg uralja a tradicionális deszktopot, de nem teljesen. A Gtk, Qt majdnem teljesen elkerülhető. Egyedül a Gtk3 nem, mert azt minden böngésző használja, ha böngészni akarsz, azt az egyet nem tudod megkerülni, meg annak, aki játszik és game launchereket akar, mert azok is mind böngésző alapúak, ergó igénylik. Minden más megkerülhető, a titka az, hogy alternatív programokat kell hozzá vadászni, meg asztali környezet helyett ablakkezelőt (JWM, Fluxbox, Openbox, WindowMaker, IceWM, hasonló, azoknak nem kell sem Gtk, sem Qt).

Ahol neked még kicsit megkerülhetetlen lenne a Gtk/Qt, az a Total Commander kiváltására vagy a Double Commander vagy a Krusader miatt. Igaz a Double Commanderből van Gtk2-es verzió, azzal félig megúszod. Nekem ez pl. nem kell, mert elvagyok terminálos fájlkezelővel, azoknak nem kell grafikus framework.

Illetve a Qt akkor megkerülhetetlen még, ha valami kreatív, vizuális-audió tartalom-előállítással foglalkozol, CAD, rajzprogram, fényképszerkesztés, videóvágás, kiadványszerkesztés, zenélés. Neked ez nem kéne, de ha mégis valakinek kell, meg tudja oldani, hogy mondjuk felteszi az LXQt-t, ez indítja a Qt5-öt, amit tudnak más Qt-s programok már betöltve megosztva használni, de így elkerülted nagyrészt a Gtk meg a Red Hat hülyeségeit, de Qt terén a KDE bloatságát is nagyrészt. Nem ideális, de egy jó kompromisszum. Főleg, ha a Win10-11 hardverigényéhez nézed.

The world runs on Excel spreadsheets. (Dylan Beattie)

Egy pillanatra tedd félre a szarkazmust és az általam képviseltek szándékos, szélsőséges félreértelmezését.

Ha sikerült eljutnod idáig, akkor képzeld el, hogy összegyűjtjük a világ legjobb fejlesztőit, és adunk nekik egy évet, valamint fejenként egymillió dollárt, ha a 4,76 napot le tudják faragni 1 napra az Intel 4004-en úgy, hogy a többi hardverrel való kompatíbilitását közben nem sértik a kernelnek és nem is használnak semmilyen, célzottan Intel 4004 specifikus optimalizációt sem.

Vajon mennyivel lenne jobb hely a világ (vagy legalább a Linux-világ) ezután, az optimalizált kernellel? Beleértve a szervereket, a cloud-infrastruktúrát, a PC-ket, laptopokat, tableteket és akár az okostelefonokat is?

Mielőtt túl soknak tűnne a fejenként egymillió dollár: a Google harmincnégyezerszer ennyit profitál évente, a Microsoft százhetvenegyezerszer ennyit profitál évente, miközben már külön atomerőművet kell dedikálni a hardvereik energiaigényének, ami a töredéke lenne, ha valóban hatékony szoftverek futnának a cloud-jaikban.

bár a szélsőséges véleményeddel nem mindig tudok egyetérteni, most valahogy - ha még mindig szélsőségesnek is tartom - kézzel foghatobb . 

 

el lehet képzelni így, mi lenne ha csak a profit 1%-át fordítanák ezek ( és a többi multi ) optimalizálásra... 

“Luck Is What Happens When Preparation Meets Opportunity" - Seneca

Nekem nincsennek ilyen nagy vágyaim. Én már annak is örülnék ha nagyobb térnyerést kapnának a jelenleg elérhető optimálisabb rendszerek.
MacOS, SteamOS(Arch Linux), egyéb Linux disztrók.

Rendszeresen kiégek, hogy i5 4c8t + 16GB ram mellet az Outlook nem fut rendesen Windowson. Viszont örülhetek mert megy rajta a Lotus Notes yeah...

A Windows ARM lehetne a nagy lehetőség, de nem érdekük hogy ez meg történjen. A Control panelt 10 év alatt nem tudták az új felületre átültetni.

 

Az Otthoni Linux szerveremet most migráltam egy 9 éves Lenovo M900-ra és köszöni szépen jól van. A korábbi direkt alacsony fogyasztású Intel J1900 alapú rendszerről ami mai napig elleni ha nem ment volna tönkre.

Az Apple eszközök amik picit csökkentik az ipari hulladékok számát. Van családban még mai napig használatban 9 éves iPad, iPhone 6s, iPhone 8. Az elsődleges telefonom is egy iPhone 11 amit ha lecserélek még legalább 2-3 évig használatban lesz.

 

A Dell Latitude laptopok meg 3 évre vannak tervezve és maguktól szétesnek sok esetben.

Nem, de lehetne.

Itthon 13 éves Thinkpad T420-as gépet használok, egy szintén 12 éves Synlogy NAS-el. A munkahelyem által adott gépeken kivül nincs 3 évnél újabb eszköz a lakásban (telefon se). A TV is legalább... 10 éves. Jó ebből jó lenne egy nagyobb. De majd ha ez végleg elromlik.

“Luck Is What Happens When Preparation Meets Opportunity" - Seneca

... semmit?

Továbbra is: az OS nem magic. Biztosít neked szabványos interfészeket, hogy a webszerverednek ne kelljen már tudnia, melyik szektorban van az index.html. Ezek a szabvány interfészek pedig elhiheted hogy BAROMIRA ki vannak optimalizálva.

A boot idő a pont l*****m kategória bármilyen szervernél. És persze annak a boot időnek a nagy részét sem a kernel teszi ki, hanem a userspace felhúzása.

Amíg egy hello world-öt kell megoldani, persze, még a 8008 is overkill, de komolyabb problémához viszont kell is a komolyabb vas.

Abban igazat tudok adni, hogy sokminden túl van bonyolítva, és rossz irányba megy. Abban is, hogy rengeteg olyan rakás kaka framework-öt használnak manapság, ami hányinger meg anti-feature-ökkel van tele.

De ami alatta van, abban én nem nagyon látok hibát.

Lesz még itt Linux csövön, relén is :)

hajolemlexem a NetBSDre volt az a mondas, hogy mindenen is fut ; ezzel a 4004 mutatvannyal arrafele mi a helyzet ?

HUP te Zsiga !