-
Lo risapevate? ma trombare?Scritto daaltgutente che non utieneil 2013-09-29 05:25:31.0 alle 2013-09-29 05:25:31.0Trollate totali: 11540...che quel belliffimo systema che la MS chiama Finestre, dopo tutti questi anni, ha dei problemi se una sua applicazione gira col direction flag impostato? A quanto pare ci sono delle chiamate asincrone che non si possono controllare, e che se beccano il thread che stava eseguendo in quel momento con DF=1 in EFLAGS, fanno casino in memoria. Ho verificato divertenti conseguenze mentre allocavo una console (AllocConsole), tipo che il programma funzionava se aveva un certo nome ma non un altro nome (l'eseguibile, proprio), e ovviamente non per via della lunghezza dei nomi, no... proprio la sequenza di lettere.

E` sempre stato un sistema assurdo. Mi ero documentato prima della scelta di usare DF come call state, ma msdn diceva che era importante solo per le funzioni del "C run-time" di Visual Studio. Sicche` m'ero detto vabbe', questa e` un'altra cosa. Invece e` proprio il sistema fallato, non sopporta bene STD mentre sta animando delle cazzate sullo schermo tipo una finestrella di testo.
Il problema e` che ora non posso usare DF per il call state. O rinuncio al call state, che pero` mi piace come idea, oppure lo sposto da un'altra parte conveniente. Vi viene in mente nulla di thread-safe, considerato che tutti i registri sono occupati e che lo stato di quel flag dev'essere indipendente dal call stack?
Intanto provo a spostarlo nel bit di segno di ESI, che mappa il registro E. Ma siccome "E" viene usato per mappare i call frame e quindi e` sempre un puntatore n-flat, i puntatori n-flat sono a 30 bit dove ce ne sono 32 perche` vengono multiplicati incondizionatamente per 4 dall'address generator, quindi i due bit piu` alti sono in teoria disponibili. Diventa casinoso pero` impostare e dismettere i call frame stando attenti a non modificare il bit di segno di ESI. La questione e` contorta.
-
Re: Lo risapevate?Scritto daaltgutente che non utieneil 2013-09-29 05:48:40.0 alle 2013-09-29 05:48:40.0Trollate totali: 11540> ...che quel belliffimo systema che la MS chiama Finestre, dopo tutti questi anni, ha dei problemi se una sua applicazione gira col direction flag impostato? A quanto pare ci sono delle chiamate asincrone che non si possono controllare, e che se beccano il thread che stava eseguendo in quel momento con DF=1 in EFLAGS, fanno casino in memoria. Ho verificato divertenti conseguenze mentre allocavo una console (AllocConsole), tipo che il programma funzionava se aveva un certo nome ma non un altro nome (l'eseguibile, proprio), e ovviamente non per via della lunghezza dei nomi, no... proprio la sequenza di lettere.

>
> E` sempre stato un sistema assurdo. Mi ero documentato prima della scelta di usare DF come call state, ma msdn diceva che era importante solo per le funzioni del "C run-time" di Visual Studio. Sicche` m'ero detto vabbe', questa e` un'altra cosa. Invece e` proprio il sistema fallato, non sopporta bene STD mentre sta animando delle cazzate sullo schermo tipo una finestrella di testo.
>
> Il problema e` che ora non posso usare DF per il call state. O rinuncio al call state, che pero` mi piace come idea, oppure lo sposto da un'altra parte conveniente. Vi viene in mente nulla di thread-safe, considerato che tutti i registri sono occupati e che lo stato di quel flag dev'essere indipendente dal call stack?
>
> Intanto provo a spostarlo nel bit di segno di ESI, che mappa il registro E. Ma siccome "E" viene usato per mappare i call frame e quindi e` sempre un puntatore n-flat, i puntatori n-flat sono a 30 bit dove ce ne sono 32 perche` vengono multiplicati incondizionatamente per 4 dall'address generator, quindi i due bit piu` alti sono in teoria disponibili. Diventa casinoso pero` impostare e dismettere i call frame stando attenti a non modificare il bit di segno di ESI. La questione e` contorta.
hhhmmmm...
http://www.masmforum.com/board/index.php?PHPSESSID...
Questa slottina a TIB+14h e` interessante.
Magari lo metto li`, invece di farmi le seghe col registro.
Il registro lo lascio per la mappatura del call frame che e` piu` seria del call state.-
Re: Lo risapevate?Non ho capito un cacchio ma sono sicuro che hai ragione.
Everyone has the right to my opinion!-
Re: Lo risapevate?Scritto daaltgutente che non utieneil 2013-09-29 22:45:45.0 alle 2013-09-29 22:45:45.0Trollate totali: 11540> Non ho capito un cacchio ma sono sicuro che hai ragione.

Sissi` ha funzionato benone. Certo devo ancora provarlo sulle altre versioni di Windoze, ma dicono che quella locazione del TIB e` li` a disposizione del programmatore, per dati arbitrari, dai tempi di Windows 95. Dicono. Bisogna poi vedere. Ma probabilmente hanno ragione. O almeno lo spero, perche` mi piace molto appoggiare il call state li`: e` facile e veloce. E` come avere un indice in thread-local storage, ma senza l'ingombro fisico e temporale delle chiamate alle API per impostarlo. In una sola istruzione assembly, si puo` scrivere e leggere quella locazione, sicche` ad esempio quando una subroutine o una funzione nel listato L.in.oleum dicono:
success;
il compilatore assembla al suo posto:
or byte ptr fs:[14h], 1
e il gioco e` fatto in appena sette byte di codice e un paio di cicli di clock.
-
-
-
Re: Lo risapevate?Scritto da: altg
> ...che quel belliffimo systema che la MS chiama Finestre, dopo tutti questi anni, ha dei problemi se una sua applicazione gira col direction flag impostato? A quanto pare ci sono delle chiamate asincrone che non si possono controllare, e che se beccano il thread che stava eseguendo in quel momento con DF=1 in EFLAGS, fanno casino in memoria. Ho verificato divertenti conseguenze mentre allocavo una console (AllocConsole), tipo che il programma funzionava se aveva un certo nome ma non un altro nome (l'eseguibile, proprio), e ovviamente non per via della lunghezza dei nomi, no... proprio la sequenza di lettere.
>
> E` sempre stato un sistema assurdo. Mi ero documentato prima della scelta di usare DF come call state, ma msdn diceva che era importante solo per le funzioni del "C run-time" di Visual Studio. Sicche` m'ero detto vabbe', questa e` un'altra cosa. Invece e` proprio il sistema fallato, non sopporta bene STD mentre sta animando delle cazzate sullo schermo tipo una finestrella di testo.
>
> Il problema e` che ora non posso usare DF per il call state. O rinuncio al call state, che pero` mi piace come idea, oppure lo sposto da un'altra parte conveniente. Vi viene in mente nulla di thread-safe, considerato che tutti i registri sono occupati e che lo stato di quel flag dev'essere indipendente dal call stack?
>
> Intanto provo a spostarlo nel bit di segno di ESI, che mappa il registro E. Ma siccome "E" viene usato per mappare i call frame e quindi e` sempre un puntatore n-flat, i puntatori n-flat sono a 30 bit dove ce ne sono 32 perche` vengono multiplicati incondizionatamente per 4 dall'address generator, quindi i due bit piu` alti sono in teoria disponibili. Diventa casinoso pero` impostare e dismettere i call frame stando attenti a non modificare il bit di segno di ESI. La questione e` contorta.
Ricapitolami un po', quand'è che passi a linux?
Young professional woman and busy mom.-
Re: Lo risapevate?Scritto daNon Autenticatoil 2013-09-29 14:47:36.0 alle 2013-09-29 14:47:36.0> > ...che quel belliffimo systema che la MS chiama Finestre, dopo tutti questi anni, ha dei problemi se una sua applicazione gira col direction flag impostato? A quanto pare ci sono delle chiamate asincrone che non si possono controllare, e che se beccano il thread che stava eseguendo in quel momento con DF=1 in EFLAGS, fanno casino in memoria. Ho verificato divertenti conseguenze mentre allocavo una console (AllocConsole), tipo che il programma funzionava se aveva un certo nome ma non un altro nome (l'eseguibile, proprio), e ovviamente non per via della lunghezza dei nomi, no... proprio la sequenza di lettere.

> >
> > E` sempre stato un sistema assurdo. Mi ero documentato prima della scelta di usare DF come call state, ma msdn diceva che era importante solo per le funzioni del "C run-time" di Visual Studio. Sicche` m'ero detto vabbe', questa e` un'altra cosa. Invece e` proprio il sistema fallato, non sopporta bene STD mentre sta animando delle cazzate sullo schermo tipo una finestrella di testo.
> >
> > Il problema e` che ora non posso usare DF per il call state. O rinuncio al call state, che pero` mi piace come idea, oppure lo sposto da un'altra parte conveniente. Vi viene in mente nulla di thread-safe, considerato che tutti i registri sono occupati e che lo stato di quel flag dev'essere indipendente dal call stack?
> >
> > Intanto provo a spostarlo nel bit di segno di ESI, che mappa il registro E. Ma siccome "E" viene usato per mappare i call frame e quindi e` sempre un puntatore n-flat, i puntatori n-flat sono a 30 bit dove ce ne sono 32 perche` vengono multiplicati incondizionatamente per 4 dall'address generator, quindi i due bit piu` alti sono in teoria disponibili. Diventa casinoso pero` impostare e dismettere i call frame stando attenti a non modificare il bit di segno di ESI. La questione e` contorta.
>
> Ricapitolami un po', quand'è che passi a linux?
Quando dovrà scrivere il modulo di runtime per Linux.
-
Re: Lo risapevate? linux è un programma per windows che si installa tramite eseguibileScritto daSAMURAIL'Ostinatoil 2013-09-29 21:54:57.0 alle 2013-09-29 21:54:57.0Trollate totali: 6492Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?
-
Re: Lo risapevate?Scritto daNon Autenticatoil 2013-09-29 22:15:12.0 alle 2013-09-29 22:15:12.0> Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?

Si chiama andLinux, non l'ho provato perché coLinux, su cui si basa, non gira su Windows a 64 bit.-
Re: Lo risapevate?Scritto daNon Autenticatoil 2013-09-29 22:15:54.0 alle 2013-09-29 22:15:54.0> > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?

>
> Si chiama andLinux, non l'ho provato perché coLinux, su cui si basa, non gira su Windows a 64 bit.
Poi che Portable Ubuntu Remix, per cui vale la stessa osservazione.
-
-
Re: Lo risapevate?Scritto da: SAMURAI
> Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?
iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.Young professional woman and busy mom.-
Re: Lo risapevate?Scritto daNon Autenticatoil 2013-09-29 22:20:25.0 alle 2013-09-29 22:20:25.0> > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?

>
> iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
> per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
> Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.
Penso che ciò di cui ha sentito parlare sia Portable Ubuntu o andLinux, che girano dentro Windows integrati con esso.-
Re: Lo risapevate?Scritto da:
> > > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?
> >
> > iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
> > per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
> > Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.
>
> Penso che ciò di cui ha sentito parlare sia Portable Ubuntu o andLinux, che girano dentro Windows integrati con esso.
andLinux è cygwin e xming pre-impacchettato; pensavo qualcosa di meglio. Finché si pensa a linux come un temino grafico ce n'è di strada da fare
Young professional woman and busy mom.-
Re: Lo risapevate?Scritto daNon Autenticatoil 2013-09-29 22:57:01.0 alle 2013-09-29 22:57:01.0> > > > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?

> > >
> > > iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
> > > per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
> > > Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.
> >
> > Penso che ciò di cui ha sentito parlare sia Portable Ubuntu o andLinux, che girano dentro Windows integrati con esso.
>
> andLinux è cygwin e xming pre-impacchettato; pensavo qualcosa di meglio. Finché si pensa a linux come un temino grafico ce n'è di strada da fare
Il sito dice che è Ubuntu, non Cygwin.-
Re: Lo risapevate?Scritto da:
> > > > > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?
> > > >
> > > > iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
> > > > per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
> > > > Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.
> > >
> > > Penso che ciò di cui ha sentito parlare sia Portable Ubuntu o andLinux, che girano dentro Windows integrati con esso.
> >
> > andLinux è cygwin e xming pre-impacchettato; pensavo qualcosa di meglio. Finché si pensa a linux come un temino grafico ce n'è di strada da fare
>
> Il sito dice che è Ubuntu, non Cygwin.
Ah, coLinux. chissà come interagisce col sistema host.Young professional woman and busy mom.
-
-
-
-
Re: Lo risapevate?Scritto daaltgutente che non utieneil 2013-09-29 22:23:11.0 alle 2013-09-29 22:23:11.0Trollate totali: 11540> > Mi dicono che si può installare tranquillamente anche su Windows perchè è un programma a parte e non crea conflitti. Qualcuno di voi l'ha provato? I pregi e i difetti..?

>
> iRotfl a parte, in questo forum ci sono persone come il sottoscritto che usano solo linux e windows non ce l'hanno sui propri pc.
> per provare linux hai vari modi: lanci un cdrom live che molte distribuzioni forniscono e ti fai un giretto di prova, lo installi in una macchina virtuale (per windows ci sono virtualbox e vmware player per "giocare"), lo installi a fianco a windows (stringi la partizione di windows e ne crei un'altra per linux) oppure sostituisci completamente windows.
> Visto che ci sto ti elenco i pregi e difetti da utente diciamo veterano (linux-only da 3-4 anni): i pregi sono un sistema leggero e veloce, che non fa niente dietro le quinte che tu non voglia, e che fa bene il suo dovere e non ha strani comportamenti inattesi e soprattutto stabile come una roccia; i difetti per chi viene da windows sono la mancanza di alcuni programmi che hanno dei cloni non all'altezza (i soliti: disegno cad, fotoritocco, montaggio video…), ma pian piano si raggiungerano anche quelli.
Nel mio caso, anche se nessuno me l'ha chiesto, l'uso di Fynestre e` dovuto al fatto che devo invogliarmi a finire la versione Winz di Linoleum. Tra poco ho fatto, e quando ho fatto, fare il porting del modulo di run-time e delle pochissime istruzioni che richiedono modifiche specifiche (come quelle che accedono al call state che ora ho spostato nel TIB di Windows) non dovrebbe richiedere granche` di tempo (e ci sta anche che trovi un'anima buona che lo faccia al posto mio). Se pero` passo a Linux prima, ci sta che non mi venga piu` voglia di tornare a finire il lavoro su Winz.
-
-
-
-