JavaScript PC emulátor – ami valójában egy JavaScript Linux

Éppen a kedvenc C fordítóm, a TCC honlapját nézegettem, amikor felfedeztem, hogy a TCC eredeti készítőjének, Fabrice Bellard-nak a legújabb kreálmánya egy JavaScript PC emulátor. Először csak hümmögtem, mert nem értettem, hogy mire jó egy JavaScript-ben írt PC emulátor és, hogy ez miért kihívás valakinek, aki képes megírni egy C fordítót (ami szerintem bonyolultabb feladat, mint egy operációs rendszer kernelének megírása, és bár a két dolog összehasonlítása sántít, aki nem hiszi nézze meg a forráskódokat).

Azt, hogy “mire jó” egy ilyen emulátor nem tudom, de őszintén szólva: nem is nagyon érdekel a gyakorlati haszna :), miért is kellene mindenben a hasznot keresni? Ez egy nagyon jó kihívás, egyáltalán nem egyszerű feladat jól elkészíteni, legalábbis szerintem.

Jelenleg ezeket tudja a PC emulátor:

32 bit x86 compatible CPU
8259 Programmble Interrupt Controller
8254 Programmble Interrupt Timer
16450 UART
Real Time Clock

Akit érdekel, itt tesztelheti:

http://bellard.org/jslinux/

A forráskódok egyelőre még nem nyilvánosak, de valószínűleg azok lesznek, mert Bellard összes munkája nyílt forráskódú szokott lenni, de ez csak spekuláció a részemről.

Néhány tipp a teszteléshez:

Fájl felmásolása:

Elég ha a fájl tartalmát bemásoljuk a vágólapra és utána kiadjuk ezt a parancsot:

 cat < /dev/clipboard > /tmp/test.txt  

ha esetleg nem jó a karakterkódolás, akkor az uuencode működik, át lehet konvertálni a fájlt :).

A TCC is működik, kapunk is alapból egy hello.c fájl amin lehet tesztelni, de sajnos még nem tökéletes, a lefordított fájl nem akart elindulni. Így próbáltam fordítani:

 tcc -o hello hello.c  

De közvetlenül, fordítás nélkül is el lehet indítani, így:

 tcc -run hello.c   

Legviccesebb volt a top parancs kiadása… 🙂 és működött!

Élmény volt a vi-t használni ily módon 🙂 (:Q a kilépés). A JsLinux még erősen fejlesztés alatt áll és a használati útmutató sem éppen bőbeszédű, de érdemes kipróbálni.

Advertisements
This entry was posted in Bellard, emulátor, JavaScript, linux, online linux, PC, TCC. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s