[RoLUG] Intro e definizione di stack

Roccatello Eduard rolug@lists.linux.it
Tue, 11 Feb 2003 22:50:29 +0100


Alle 14:04, marted=EC 11 febbraio 2003, Ferdinando Pucci ha scritto:
> Da parte mia:
> > overflow, che detiene il primato insieme a format string bug.
> Ovviam lo spieghiamo dopo il format string bug... scusa la pignoleria :=
-)
format bug ha un capitolo a parte

> > Consiste essenzialmente nell'esecuzione arbitraria di codice malizios=
o
> > e sfrutta il mancato controllo sulle dimensioni dei buffer da
> > memorizzare nelle variabili di un programma.
> Cos'=E8 un buffer? Potrebbe andar bene la definizione "spazio di memori=
a
> ram usato temporaneamente per immagazzinare dati"?
+ o -

> > cima. Si pu=F2 parlare quindi di una struttura LIFO (Last In First Ou=
t),
> > dove il primo elemento ad entrare nello stack =E8 anche il primo ad
> > uscire.
> Gia notato da qlc altro il lapsus :-)
gi=E0 gi=E0 :-)

> > stessa. Le prestazioni di uno stack sono ottimali; ogni operazione
> > effettuabile ha prestazioni asintotiche O(1), cio=E8 il numero di
> > elementi
>
> Cosa indica 0(1)? Un asintoto che tende a 1 o a 0? Immagino a 1 se le
> prestazioni sono ottimali...
O(1) indica che le prestazioni non variano a seconda del numero di elemen=
ti=20
contenuti nella struttura dati.
praticamente vuol dire che il tempo impiegato per estrarre/inserire un=20
elemento =E8 sempre lo stesso qualsiasi sia il numero di elementi present=
i.
ad esempio il nuovo scheduler O(1) di Ingo Molnar per il kernel 2.6.x di=20
Linux.

> > nelle moderne apparecchiature. Lo stack si presta infatti agevolmente
> > al passaggio degli argomenti di una funzione e all'archiviazione di
> > dati sequenziali LIFO come la sospensione dei metodi in un programma =
ed
> > =E8 la struttura utilizzata dalle archittetture i386 per la gestione
> > delle variabili
> > in memoria durante l'esecuzione di un programma.
>
> Mi viene in mente un'altro call for papers: per capire cos'=E8 un passa=
ggio
> di var alle func, o un metodo di un obj occorrerebbero le basi della
> programmaz. Perche chi sa piu di un linguaggio di programmazione non fa
> una sintesi interlinguaggi dei fondamentali? cioe:
> -tipi di dato con parallellismo in tutti i maggiori linguaggi
> -funzioni classi ed oggetti con parall in tutti i magg ling
> -operatori e strutt di controllo "          "       "    "
> Che ne dite?
si pu=F2 fare e chi ha voglia pu=F2 traquillamente fare ;-)
sarebbe bello un confronto gcc - gdb cio=E8 vedere come gcc traduce il co=
dice=20
magari anche tra gcc 2.9* e gcc 3.*
--=20
Roccatello Eduard
RoLUG member @ http://rovigo.linux.it
Webmaster @ http://www.pcimprover.it
Look to the headers for my GnuPG key