On 12/7/05, Cristian Mitrana <[EMAIL PROTECTED]> wrote:
>   adica ? tot nu vad cum byte-compiling-ul pastreaza starea unui
> 'program', mai ales cand 'programul' respectiv e doar cod interpretabil.

dar NU e vorba de byte-compiling, ci de undumping sau unexec'ing,
o tehnică prin care se ia un snapshot al unui proces la un moment dat
şi se creează un executabil care cînd va fi rulat, va porni exact în
starea în care era procesul în momentul respectiv.

tehnica e folosită de emacs (la instalare mai întîi se compilează
din sursele C un binar 'lean' (temacs), cu care se încarcă tot codul lisp, apoi
se face un snapshot la procesul astfel încărcat (înainte - iirc - era folosit
un coredump ca snapshot - acum se foloseşte direct imaginea procesului
din memorie), şi apoi snapshot-ul e transformat într-un binar executabil
gras, plin de funcţionalitate (inclusiv clone de tetris şi colossal cave) şi
de care te bucuri tu :)

evident că toată procedura n-are nici o legătură cu faptul că emacs
foloseşte sau nu bytecode, sau ce structuri interne foloseşte -
şi a fost adaptat uşor şi la alte proiecte.

> > de altfel faza e celebră - una din invenţiile lui
> > rms - ce-ar fi să mai citiţi puţin înainte să
> > contraziceţi lumea ? :)
>
>    Poate dai un link catre faza celebra cu RMS, eu n-am auzit de ea,
> despre ce faza e vorba ?

se pare că eram prost informat - copyright-urile de la src/unex*.c spun
de Spencer W. Thomas.
cred c-am citit că rms a făcut ceva similar pe primul emacs (cel scris
în TECO), dar să citesc din nou poveşti cu MIT Hackers & ITS e ultimul
lucru care am chef să-l fac acum.
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui