Newsgroup: it.comp.hardware.palmari
Titolo: WM 2003 SE e Axim X30

Ciao,
in questo NG si e' parlato molto di come (probabilmente) WM 2003 SE riduca
drasticamente la RAM disponibile per eseguire i programmi su molti palmari
VGA.
Mi sorge allora spontanea una domanda: il Dell Axim X30, che ha anche lui
il WM 2003 SE, soffre degli stessi problemi?
          Daniele
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 il WM 2003 SE, soffre degli stessi problemi?
L'X30 non è VGA...
Comunque devo dire la verità, la RAM non è tanta...
Però finora non ho avuto grossi problemi...ovviamente se voglio installare
applicazioni che succhiano tanta memoria, devo fare attenzione a dove
installare i dati (es: le mappe del navigatore, i dati del dizionario,
ecc.)
-- 
---> 
ra...@despammed.com
                                  ICQ:11928715
----------------------------------------------------------------------
ATTENZIONE:
Utilizzate l'indirizzo qui sopra per rispondere.

 Comunque devo dire la verità, la RAM non è tanta...
Quanta libera per l'esecuzione?
Ciao.


 Quanta libera per l'esecuzione?
Al momento (ho un po' di programmi installati) sono 12,18 per
l'archiviazione e 12,22 per i programmi.


 
Con le impostazioni standard, e caricati in memoria calligrapher e pie 
explorer e rete attivata e sbp pocket plus all'accensione restano 
disponibili 15mb.
Se usi una schedina sd e imposti maggior spazio per la memoria rispetto 
all'archiviazione puoi aumentare la memoria, attualmente all'accensione 
del palmare ho disponibili 30 mb.
Cmq tieni conto che la maggior parte delle volte i problemi di memoria 
sono imputabili ai software che utilizzi piů che al sistema operativo 
del palmare.
-- 
Massimiliano G.
www.birreonline.net
God blesses the men who intenvented beer

 all'archiviazione puoi aumentare la memoria, attualmente all'accensione 
Bč... ma la SD viene vista dal SO come una directory...
E tra l'altro non sempre č possibile installare roba lě sopra :-(


 l'archiviazione e 12,22 per i programmi.
Da quello che mi dici tu e anche Massimiliano incomincio a sospettare che
sia veramente colpa di WM 2003 SE se anche a voi rimane cosi' poca memoria
libera.
Considera che io adesso ho un Mitac 168 nuovo di pacca (acquistato 7
giorni fa) e con WM 2003 (prima edizione) ho liberi 30MB per l'esecuzione
e circa un 17MB per lo storage!!!


 e circa un 17MB per lo storage!!!
Aggiungo che anch'io ho installati parecchi programmi (anche "pesanti")...


 
Certo pero puoi modificare l'uso delle memoria del palmare in modo che 
assegna piů memoria per i programmi e meno per il file system.
Fino ad ora solo sbp pocket plus mi ha esplicitamente richiesto la 
memoria del palmare le altre applicazioni che uso non hanno dato problemi.


 memoria del palmare le altre applicazioni che uso non hanno dato problemi.
Mah... io ho provato, ma si sono installate tutte dove dicevano loro :-(


 
Quando ti chiedono se vuoi installarle nella cartella predefinita digli 
di no e poi ti viene chiesto in quale memoria vuoi andare a installarle.


 di no e poi ti viene chiesto in quale memoria vuoi andare a installarle.
Per la verità un paio di volte c'ho provato...
Ma poi non mi ha chiesto dove volevo installare :-(


 
togli la spunta dalla checkbox sotto alla lista delle applicazioni e 
vewdrai che te lo chiede.
-- 
+-+-+-+-+-+-+
|I|C|C|I|K|A|
+-+-+-+-+-+-+

 vewdrai che te lo chiede.
Proverò...


 il WM 2003 SE, soffre degli stessi problemi?
Mi sono ricordato che un po' di tempo fa io e te
discutemmo dell'utilita' del File System su un palmare.
Questo thread casca a fagiolo :-) Ti sei mai chiesto perche'
su Palm nessuno si chiede mai quanta memoria rimane
per eseguire un programma :-D
Il file system costringe il palmare a dividere la RAM
in storage e execution, con le problematiche che stai
vedendo ora.
Detto questo, mi sembra che stiate discutendo a lungo del
sesso degli angeli, senza alcuna ragione :-) Le procedure
di ottimizzazione nella gestione della memoria di SO possono
essere misteriose a volte, Windows potrebbe allocarsi tutta
la memoria in partenza e poi cederla ad un programma
solo dietro richiesta, e quindi ogni tool di monitoraggio ti direbbe
che non hai piu' memoria libera . Ciononostante il tutto funzionerebbe
lo stesso in maniera perfetta.
Per fare un esempio, sotto Win2000, se un programma alloca
100Mb di Ram e poi li rilascia, il SO non glieli ritoglie, perche'
se li ha chiesti una volta potrebbero servire ancora, e le operazioni
di allocazione e liberazione di memoria sarebbero sprecate.
Ovviamente se ad un certo momento il SO e' a corto e deve recuperare
memoria si fa un giretto fra i vari processi e riprende tutto il
riprendibile, ma se questo non accade, dal Task Manager a te
risultera' sempre che il programma occupa un mare di Ram anche
se sai che dovrebbe averla rialsciata.
Inoltre la gestione della memoria dalla prima versione di PkPC in
poi e' automatica, quindi se hai 16Mb di storage e 16 di execution,
oppure 30 di storage e 2 di execution non cambia assolutamente niente,
visto che in caso di necessita' il SO puo' acchiappare dove vuole.
Io finora ho visto solo gente lamentarsi di quello che dicono le
varie finestre di monitoraggio, e proporre fantasiose teorie
alla Rapporto Pelikan per spiegare il fatto, ma mai nessuno
raccontare di applicazioni che non partono per mancanza di Ram.
Cia'
    Andrea

 visto che in caso di necessita' il SO puo' acchiappare dove vuole.
Credo che qui tu ti sbagli, perche' se l'utente sposta lo slider a mano,
WinCE rispetta quelle impostazioni... (non ne sono proprio sicurissimo:
sai, a me Windows in tutte le sue versioni fa abbastanza schifo e quindi
non ho mai approfondito ;-)


 non ho mai approfondito ;-)
Puoi' forzare la gestione manuale della memoria, ma e' sconsigliato.
Cia'
    Andrea

 chs.htm) 
 
Questo è strano perché anche i migliori palm non arrivano a 16mb di heap. 
Questo vuol dire che il mapsonic quei 16mb li usa per creare un file in 
ram, non come memoria di esecuzione. Insomma si tratta di una particolare 
tecnica usata da quel programma, ma non rappresenta assolutamente il modo 
in cui in genere funzionano i programmi su palm.
Ovviamente non lo dico per polemica, ma solo per capire...

 
Le teorie non sono fantasiose le gestione della memoria di Windows CE è 
documentata.


 Ovviamente non lo dico per polemica, ma solo per capire...
Nessun problema :-)
      Ciao
          Daniele


 e' solo se non riesce a riprenderla quando serve.
Da quello che scrivi mi pare di capire che di sistemi operativi embedded
non sai proprio nulla... Un so embedded non puo' proprio permettersi di
rilasciare la ram quando vuole, visto che per definizione si trova a
operare in un sistema dalle scarse risorse.
Ciao.
      Daniele


 operare in un sistema dalle scarse risorse.
A meno che le differenze non vadano oltre ogni mia
aspettativa, tutta la memoria disponibile sulla macchina
e' gestita dal SO,  che quindi puo' lasciarla libera o tenersela
allocato come meglio crede purche' poi la
fornisca alle applicazioni al momento opportuno.
Quindi in che modo non puo' permettersi di rilasciarla ?
Forse sono le applicazioni che non possono permettersi
di rilasciare la memoria quando vogliono, ammesso e
non concesso che siano scritte in maniera intelligente.
Ma il MemoryManager del SO puo', teoricamente, fare un
po' come vuole visto che la gestione della memoria e' compito
suo, o no ?
Il fatto che le risorse siano scarse come puo' influire su questo
discorso ?
Cosi' giusto per parlare, se il Memory Manager si alloca tutta
la memoria in partenza, tu vedrai che non c'e' memoria disponibile,
ma se un'applicazione la richiede lui potrebbe facilmente darla (visto
che comunque qualsiasi applicazione deve chiederla a lui).
Tra l'altro proprio nei sistemi embedded in genere gli algoritmi
di gestione della memoria sono particolarmente "fantasiosi" proprio
perche' oltre ad essere limitata la Ram in genere e' limitata anche
la potenza di calcolo e si cerca di evitare di passare il tempo ad
allocare e disallocare memoria se non ce n'e' alcun bisogno.
Cia'
    Andrea

 discorso ?
Si, altroche'! Ma, ripeto, dipende per che cosa viene progettato il
sistema embedded.


 memoria ? Chi la vuole se la piglia e finita li ? Uhmmmmmm
Gia'... ti sembrera' strano ma e' proprio cosi'.
Puoi uhmmare quanto vuoi, ma se ti prendi un qualunque testo che parla di
come sono progettati i sistemi operativi (dal buon Tanebaum a tutti gli
altri...) ti accorgerai che e' cosi' che vanno le cose.
Tanto che se un programma chiede memoria al sistema operativo e poi non la
rilascia, si ha quello che in gergo si chiama un memory leak (ne hai mai
sentito parlare?): se il programma termina senza rilasciare la memoria
allocata, quella memoria e' persa definitivamente (almento fino al
prossimo reset della macchina).


 sistema embedded.
Appunto, torniamo al discorso iniziale, dipende da come
viene progettato il Memory Manager del SO embedded.
Nulla vieta di fargli allocare tutta la memoria in un'unica
volta alla partenza se si vede che questo velocizza le operazioni
in seguito. Ed e' un problema simile a quello che hanno tutti
i SO, anche quelli non embedded.
Anche Java ha problemi simili, e le tecniche di ottimizzazione
del Garbage Collector sono uno dei campi di studio piu'
attivi. La memoria e' un gran guaio, e non credo che in WM03SE
le cose siano poi cosi' diverse, probabilmente il SO si prealloca
una fetta di memoria, se ne ha a disposizione, per poter piu'
facilmente distribuirla in caso di necessita', col risultato che alla
fine sembra che la memoria sparisca.
Cia'
    Andrea

 come sono progettati i sistemi operativi (dal buon Tanebaum a tutti gli
Scusa ma la ricolazione dinamica e statica e la paginazione che la 
gestisce ?


 fine sembra che la memoria sparisca.
In WM 2003 SE, non e' che sembra che la memoria sparisca: sparisce
proprio! Perche', a differenza di quello che dici tu, il s.o. non la
rilascia.


 la memoria, uno solo !
Mah... vogliamo riaprire un discorso vecchio e vedere perche' sull'Asus
A730 e sull'iPaq hx4700 si hanno a disposizione soltanto 15 MB di ram
libera?


 fine sembra che la memoria sparisca.
No, aspetta un attimo, stai confondendo alla grande!
Java non c'entra proprio niente con il suo garbage collector. Java non e'
un sistema operativo ma un ambiente in cui poter eseguire delle
applicazioni; il garbage collector di Java si appoggia al s.o. nativo per
chiedere e rilasciare la memoria.
Un qualunque sistema operativo NON ha un garbage collector; al massimo il
sottosistema I/O puo' allocare dei buffer da utilizzare come cache,
esattamente come fa Linux... ma NON ha un gestore della memoria (come lo
chiami tu).


 
No non è cosi dimmi un caso in cui il S.O. di Win 2003 Se non rilascia 
la memoria, uno solo !


 chiami tu).
Sei sicuro che non ci sia un gestore della memoria sul SO ?
Mi sembra alquanto strano :-) Quindi come viene gestita la
memoria ? Chi la vuole se la piglia e finita li ? Uhmmmmmm
Cia'
    Andrea

 
Appunto come allora era inesatto e inesatto anche adesso, dire che 
Win2003SE ha bisogno di piů memoria non vuol dire che non rilascia la 
memoria č una cosa completamente diversa.
Non rialsciare la memoria vuol dire che se io in una mia applicazione 
alloco 5 MB e li rilascio vuol dire che poi me li devo ritrovare li 
pronti ad essere riallocati cosa ben diversa dal dire che il sistema 
necessita di piů memoria per funzionare.


 rilascia.
Scusa, ma come fai a saperlo ? Conosci qualcuno che ha avuto
problemi di esecuzione di applicazioni a causa di memoria
sparita e mai piu' rilaciata ?
Magari non la rilascia perche' la usa, o perche' non ce ne e'
bisogno in quel momento, come fai a dire che non la rilascia
e basta ?
Cia'
    Andrea

 
Yes Dear :) provare per credere.


 Yes Dear :) provare per credere.
Azz, avrei giurato di no ! Se ne impara sempre una nuova
Cia'
    Andrea

 prossimo reset della macchina).
Su questo non sono proprio sicuro, quando un'applicativo
termina anche tutta la memoria che gli e' stata assegnata viene
ripresa in consegna dal SO.
Cia'
    Andrea

 gestisce ?
Non c'entra assolutamente nulla.
Il VMM puo' swappare su disco pagine di memoria allocate e quindi
"trovare" altra memoria libera... ma questo non significa che se
l'applicazione non rilascia la memoria il VMM sia in grado di reclamarla.
Poiche' un s.o. tradizionale NON e' un ambiente in cui si ha un'esecuzione
"controllata" dei programmi (come avviene in Java ed in .Net), il s.o. non
puo' sapere se l'applicazione non rilascia la memoria perche' e' in idle
oppure se non la rilascia perche' qualcuno scrive software con i piedi.


 l'applicazione non rilascia la memoria il VMM sia in grado di reclamarla.
Questo a casa mia si chiama "gestione della memoria del S.O." e non solo 
a casa mia quindi il S.O. come è stato detto "gestisce la memoria".


 dopo la sua morte solo quella nella stack viene ripresa.
Sicuro ? Un malloc non rilasciato viene bruciato anche alla morte del
processo ?
Cia'
    Andrea

 
NO se il programma alloca la memoria nello heap rimane allocata anche 
dopo la sua morte solo quella nella stack viene ripresa.


 Puoi uhmmare quanto vuoi, ma se ti prendi un qualunque testo che parla di
Riscrivo correttamente:
Scusa ma la rilocazione dinamica e statica e la paginazione chi la 
gestisce ?
