Newsgroup: it.comp.macintosh
Titolo: Applicazioni a 64 bit?

Sto utilizzando Leopard su un computer con processore Core 2 Duo,
quindi ho il supporto per i 64 bit.
C'è un modo per sapere se un certo programma, in esecuzione o meno,
gira a 64 bit, o almeno se sta utilizzando porzioni di codice (magari
singole librerie) a 64 bit?
Posso facilmente sapere se un programma è Intel, PowerPC o Universal,
ma non ho ancora trovato un modo per sapere se gira a 32 bit (immagino
che per architettura Intel quasi qualsiasi programma, a parte Logic e
FinalCut, girino solo a 32 bit) o 64.
Grazie

 differenze!
Hai ragione. Avevo già provato il monitoraggio attività, ma si
limitava a dirmi se i programmi erano intel, pcc o ub, e quindi
pensavo che non desse info sui bit, ma... ho riprovato aprendo chess,
ed effettivamente me lo indica come 64 bit (e anche dalle info, oltre
a dirmi che è ub e a darmi la possibilità di aprirlo con rosetta,
posso anche lanciare la versione a 32 bit (quindi in pratica
l'eseguibile contiene 3 versioni del programma a quanto pare! :-P).
Semplicemente ci sono pochissimi programmi a 32 bit, per questo non
avevo notato nessun programma a 64 bit in monitor attvità :-P
Mi avrebbe fatto piacere se anche QuickTime fosse stato a 64 bit,
ma... per ora accontentiamoci di chess! ;-)

 singole librerie) a 64 bit?
un processo o e a 32 TUTTO o e' a 64 TUTTO
gli ibridi non sono ammessi

 differenze!
ma solo i core 2 duo sono processori a 64bit??

 gli ibridi non sono ammessi
Un processo ok, ma credo sia possibile che se un programma 32 bit
richiama le funzioni di una libreria e questa è a 64 bit la cosa
funzioni, oppure deve necessariamente usare la versione a 32 bit della
stessa?
In ogni caso, se invece un processo fa svolgere a un processo esterno
delle operazioni, ad esempio un processo fa eseguire a un server
grafico le parti di gestione dell'interfaccia il processo "client" può
benissimo essere a 32 bit mentre il server a 64, ma questo è chiaro.


Mi sembra proprio di si.

 benissimo essere a 32 bit mentre il server a 64, ma questo è chiaro.
questo gia' in tiger era possibile

 Mi sembra proprio di si.
Ma anche no... I G5 venivano pubblicizzati per essere a 64 bit (e lo
sono) quando intel si prodigava solo per aumentare i Mhz dei suoi
pentium. 

 questo gia' in tiger era possibile
In versione PowerPC su un G5, non certo su Intel.

 pentium.
Chiaramente si parlava dei processori Intel usati sui Mac.
Intendevo dire che i Core Duo montati sui primi Mac non sono a 64 bit,
mentre i Core 2 Duo si.

 In versione PowerPC su un G5, non certo su Intel.
non saprei, io avevo il ppc
(tiger e' nato ppc ed e' diventato universal dalla 10.4 o giu' di li,
non so come stessero col supporto a 64 bit intel... so che mathematica
aveva il kernel a 64 su tiger forse sul sito c'e' traccia del fatto che
lo fosse o meno per intel )

 wrote:

beh anche gli xeon...

 lo fosse o meno per intel )
Se non lo sai te lo dico io, fino a Tiger (non ricordo da quale
versione però) Mac OS X girava a 64 bit solo su G5, i processori Intel
hanno il supporto a 64 bit con Mac OS X solo da Leopard.

On 20 Dic, 07:16, 
uli...@despammed.com
 (uliano) wrote:

Certo.
Lo ripeto, credo che chi ha fatto la domanda volesse sapere se anche i
Core Duo fossero a 64 bit, come i Core 2 Duo.

 hanno il supporto a 64 bit con Mac OS X solo da Leopard.
azz sei un pozzo di sienzia!

 Core Duo fossero a 64 bit, come i Core 2 Duo.
si si quello volevo sapere.... allora io sono a 32 bit solo... ho aperto 
chess ma monitoraggio attività non dice che è a 64bit (anke xkè nn 
saprei dove sia scritto) e il mio è un core duo 2.0

 azz sei un pozzo di sienzia!
Ma almeno l'hai lette le ultime frasi, o hai risposto a caso tanto per
fare storie?
Francamente non penso convenca andare avanti, visto che io mi limito a
controbattere pacatamente alle tue affermazioni, e tu continui a
generalizzare o fare inutili battutine e attacchi.
Cresci un po' e studia altri sistemi, invece di convincerti
immotivatamente di conoscere in funzionamento di qualsiasi sistema
informatico e bollare come astruso  grottesco quello che non conosci.


Beh, appunto, non ti può dire che è a 64 bit se hai un sistema a 32
bit (non hai Leopard, no?), e quindi anche quel programma gira a 32
bit.

 veramente DI BASE...
sisi di base mischiare tutto 64-32, che figata, infatti fanno tutti
cosi' :)
cmq puoi continuare (da solo) a vantarti delle tue laureate vastissime
conoscenze (molto teoriche pero') e continuare a non capire come e
perche' funziona leopard, e' una posizione rispettabile pure questa... a
me sinceramente fregancazzo
per tua comodita' ti riassumo qui un bugnamino di leopold
il kernel sta in uno spazio a 32 bit non lo linki ne' lo chiami ma gli
"parli" con dei segnali di mach 
le applicazioni invece sono solo o tutte a 32 o tutte a 64 e a seconda
dell'architettura lincano librerie omologhe
addio

Marco Iannaccone ha scritto:

ho leopard, ma un core duo

 addio
bye


Ah, scusami avevo capito un Core 2 Duo. Se hai un Core Duo e basa
(insomma, quelli montati sui primi Mac Intel), appunto, sono
processori a 32 bit, quindi, anche con Leopard, non possono che
funzionare a 32 bit, e così tutte le applicazioni, chess compreso.

.
 - ∞

 bit.
continui imperterrito a mostrare quelle che dici abbiano gli altri
IGNORANZA

 stato anche decisamente poco preciso in tanti altri, 
tu in compenso ha detto sicuramente cose false in diversi punti

On 20 Dic, 17:31, 
uli...@despammed.com
 (uliano) wrote:

Toh, ancora una cosa che secondo te ho detto ma che in realtà non ho
detto.
Alla prossima vinci la bambolina...! ;-)

On 20 Dic, 17:07, 
millen...@gmail.com
 (∞) wrote:

Grazie :-)

 Grazie :-)
Ho trovato anche questo:
<
http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgra
mming/vm/chapter_7_section_6.html#//apple_ref/doc/uid/TP30000905-CH210-C
HDBJBEJ>
Le mappe di memoria sembrano essere la primitiva principale per
l'accesso alla memoria dal kernel. Probabilmente nell'implementazione
delle funzioni indicate si trovano i "trucchi" sfruttati dal kernel per
accedere alla porzione >4GB della RAM.
 - ∞

Alla fine si finisce sempre cosi.......
Saluti

 Ah, scusami avevo capito un Core 2 Duo. 
ehm.. io ho un core 2 duo e leopard, però in monitoraggio attività non
vedo da nessuna parte se i processi sono a 32 o 64 bit.. help !
Stefano

 vedo da nessuna parte se i processi sono a 32 o 64 bit.. help !
La colonna "tipo" riporta "Intel" per i 32-bit, "Intel (64-bit)" per i
64.
 - ∞

  - ∞
Grazie :) cavolo avevo aperto una decina di programmi, quindi vanno
tutti a 32 bit +_+.. non ho neanche chess x fare la controprova, l'ho
cancellato in preda all'ira.. perdevo sempre XD

 Saluti
Eh... :-P

On 20 Dic, 19:32, 
stefanoscara84_leva...@libero.it
 (Skara) wrote:

Eheh, effettivamente sono praticamente tutti a 32 bit. L'unico tra
quelli provati che è anche a 64 bit è proprio chess :-P

 che vuole, e sottolineo, QUELLO CHE VUOLE.
Ma che dici? Un processo a 32bit difficilmente riesce a leggerti la
memoria sopra i 4GB visto che non ha variabili sufficientemente grosse
da contenere l'indirizzo.
Se una libreria a 64bit dovesse passare un indirizzo a una zona di
memoria che richiede piu` di 32 bit cosa succederebbe? Gran casino
ovviamente, ad andar bene viene droppato il bit piu` significativo.
Si potrebbe fare FORSE ma FORSE il contrario ovvero permettere a un
software a 64bit di chiamare librerie a 32bit, a patto pero` che la
libreria a 32bit non abbia funzioni che accettano puntatori a funzione
(sempre per la stessa ragione del problema di cui sopra).
Ragion per cui l'unica cosa ragionevolmente possibile e` di far girare
software interamente a 32bit su un processore a 64bit, tutto questo
andando di padding e special casing nella VM.
Far girare un software mischiato e` ridicolo al sol pensiero.
Il tuo 'tra l'altro i dati li puoi passare con un puntatore' e`
un'idiozia, non e` che cambia qualcosa nel passaggio degli argomenti se
passi un pointer o il valore in se. Il pointer e` comunque un valore e
la sua lunghezza e` stabilita dall'architettura... Ma come ti vengono in
mente certe bischerate?
Non puoi neanche scegliere la lunghezza delle variabili, dipende dal
compilatore e lo standard C non definisce alcuna dimensione per int,
long e short se non che short <= int <= long. Quindi al massimo puoi
crearti un tuo tipo personalizzato andando di malloc e implementarti
tutte le operazioni a mano.
Non ho parole...
-- 
Valentino Volonghi aka Dialtone
http://stacktrace.it
 -- Aperiodico di resistenza informatica
Blog: 
http://www.twisted.it/
GH3 Friend: 3523 0595 7480

   
scusa eh ma i g5 dov'erano montati????°?? i powermac g5 gia li abbiamo 
scordati??? :D

 Non ho parole...
abbe'

...
Nono, aspetta, non mi sono spiegato affatto, mi sa.
Io non intendo assolutamente nulla del genere, e infatti ho
puntualizzato, più di una volta, il fatto che non mi riferifo al fatto
che un processo a 32 bit chiamasse ESPRESSAMENTE e VOLONTARIAMENTE una
funziona a 64 bit.
Tutto quello di cui parlavo, fin dall'inizio, è il fatto che,
indirettamentre, un proceso a 32 bit in un ambiente a 64 bit (e, l
ripeto, inconsapevole di essere in un ambiente a 64 bit, dal suo punto
di vista gira su un OS a 32 bit) chiama una funzione in una libreria
dinamica (ad esempio una funzione d sistema) esattamente come farebbe
in un normale OS a 32 bit, passandoci o non passandoci dati (a 32 bit
MASSIMO, ovviamente), e l'OS "smista" (è chiaramente una
semplificazione, ma voglio chiarire nella maniera più banale il caso a
cui mi riferisco, viso che è una cosa molto banale e specifica) in
modi indipendenti dal controllo del processo originale, quello che ha
fatto la chiamata, che ne osserva il risultato.
Ad esempio io, processo a 32 bit, faccio una chiamata di fnzione,
chiamando una funzione delle API di sistema, per disegnare una
finestre, e il sistema operativo a 64 bit, anche se io sono a 32 bit,
lo fa utilizzando codice a 64 bit.
E' più chiaro adesso quello che intendevo (ma mi pare di aver fatto un
esempio simile anche più su, nel thread)?
Lo ripeto, non so come la cosa funzioni in Mac OS X (vabbeh, per
questo caso specifico  comunque diverso, visto che c'è un server
grafico indipendente dal kernel), ma su altri sistemi questa cosa è
normale.

 si ma lui c'ha la laurea, eh
Cavolo, per una volta che l'ho scritto in risposta a un tuo attacco
immotivato, continui ancora a fissarti su questa cosa?
Ma quanti anni hai?

On 21 Dic, 06:07, Goldrake Grifondoro

Ho saltato un "Intel": "montati sui primi Mac Intel"! -P

 wrote:

domanda fatta da uno che "attacco immotivato" per una battuta
ma scendi dal pero e sorridi qualchevolta

On 21 Dic, 17:56, 
uli...@despammed.com
 (uliano) wrote:

Veramente (e te l'ho scitto anche più su), è stata proprio questa la
mia primissima reazione quando tu hai risposto per la prima volta al
thread (anche se francamente non avevo capito che fosse una battuta, e
sinceramente non penso che volesse esserlo) e solo successivamente il
tono è cambiato.
Ho capito che non vuoi credermi quando ti dico che ci sono sistemi
dove eseguendo un processo a 32 bit se questo chiama funzioni di
sistema spesso vengono convertite (dal sistema, non è il processo
chiamante che lo fa "manualmente") in chiamate a funzioni analoghe a
64 bit, quando disponibili (in Windows x64 ad esempio c'è un
meccanismo apposito del kernel, e se non mi credi vedo magari di
cercarti qualche documento a riguardo), e ho capito, da quello che
dici, che a quanto pare in Mac OS X non funziona così, però direi che
sei tu che continui a insistere non volendo minimamente provare ad
ammettere che potrebbe esistere qualche sistema che si comporta
diversamente da quelli che conosci tu, ma soprattutto, leggi in quello
che scrivo (e l'hai fatto parecchie volte...) un senso che spesso non
è quello reale, o comunque non quello voluto.
Pur con tutta la calma e la buona volontà possibile, è difficile
riuscire a farsi capire in queste condizioni.

 riuscire a farsi capire in queste condizioni.
(rimane che sei permaloso abbestia, eh)

 (rimane che sei permaloso abbestia, eh)
Puoi insistere quanto vuoi, ma ci devo mettere 20 mail per spiegarti
una cosa che alla fine mi dici di aer capito, e in ogni mail ti devo
ripete 2-3 volte che non intendevo dire una certa cosa, sentendemo in
più ogni volta dire che sono un ignorante e che le lauree le regalano,
etc... puoi forse capire che dopo 1.2 mail un po' mi rompo... altro
che permaloso...

 qui.
ma quale cosa???
cioe' il tuo post originale che adesso riporto visto che sembri non
averlo capito nemmeno tu dice
"Sto utilizzando Leopard su un computer con processore Core 2 Duo,
quindi ho il supporto per i 64 bit.
C'è un modo per sapere se un certo programma, in esecuzione o meno,
gira a 64 bit, o almeno se sta utilizzando porzioni di codice (magari
singole librerie) a 64 bit?
Posso facilmente sapere se un programma è Intel, PowerPC o Universal,
ma non ho ancora trovato un modo per sapere se gira a 32 bit (immagino
che per architettura Intel quasi qualsiasi programma, a parte Logic e
FinalCut, girino solo a 32 bit) o 64.
Grazie"
vuoi dire che ti stavi chiedendo se quando il programma chiamava fopen
la libc sotto andava a chiamare una syscall che eseguiva pezzi del
kernel a 64 bit?
MI RIPETO, CON QUALE VANTAGGIO?
ad ogni modo se volevi dire quello ti consiglio la prossima volte di
esprimerlo differentemente perche' proprio non era chiaro, per nulla!
l'unico modo sensato in cui io sono riuscito a interpretarlo era se le
applicazioni userspace lincassero i framework (qui le librerie si
chiamano cosi', eh) a 64 bit qualora esistessro
e NO questa cosa non e' possibile, e, aggiungo, nemmeno desiderabile
ci sono 2 copie di ogni framework e le apps a 32 si lincano a quellia 32
quelle a 64 a quelli a 64, aggiungo che, oltre al poco senso generale
della cosa ci sono nche degli ottimi motivi perche' questo NON avvenga
il runtime 32 e' diverso dal runtime 64 nel quale sono state apportate
modifiche (decisamente migliorative) modificando anche le API
il fatto che le api siano state aggiornate se adesso puo' sembrare un
dolore nel sedere a medio lungo termine e' una ottima cosa: si e'
approfittato della cesura per buttare via roba legacy e adattare le api
per trarre ogni vantaggio possibile dai 64 bit che, ora sono tranne
poche applicazioni irrilevanti, ma domani e' meglio che vadano bene
senza vecchiume di retrocompatibilita' nel loro DNA

 senza vecchiume di retrocompatibilita' nel loro DNA
Su questo non posso che risponderti nulla, perché semplicemente non mi
riferivo a questo.
del resto anche negli altri sistemi operativi che ho citato è così.

 del resto anche negli altri sistemi operativi che ho citato è così.
cmq addio
era un pezzo che non trovavo uno noiosone come te, per il 2008 ho fatto
il pieno
auguri a 48 bit!

 32 che pensi che ti cambi? 
penso proprio che una calloc sia più veloce (il doppio precisamente) a 
64 bit che a 32...(non malloc però)

ullano, ho capito che hai preso la cosa a cuore, ma finché coninui a
sostenere che ho detto cose che non ho mai detto in realtà non ha
senso andare avanti.
Non ho mai affermato che io voglio che le cose funzionino in un certo
modo perché secondo me ci sarebbero benefici, ma ho solo chiesto se
anche sotto Mac OS X la cosa funziona così (ovvero come succede, per i
casi di cui ormai abbiamo parlato fino alla nausea, sotto Linux,
Windows e altri sistemi).
Non ho MAI negato che esistano librerie che non chiamini system calls.
Quello che ho scritto (nuovamente, più di una volta) è che
praticamente qualsiasi chiamata di libreria che si inerfaccia con un
sistema operativo moderno, sempre con la precisazione di riferirmi ai
soliti che ho citato innumerevoli volte (in particolare per gestire I/
O, memoria e risorse in genere) non può che chiamare, anche
indirettamente, una system call (visto che queste sono l'unica
interfaccia tra un processo e il sistema).
Potrei andare avanti con la lista delle cose che no ho detto ma... che
tu hai letto (e tra l'altro controbatti solo su certe come, ignorando
completamente altre cose che ti ho fatto notare o comunque cose che ho
scritto), preferendo attaccarmi su cose che magar non ho detto
piuttosto che difenderti da obiezioni che ti ho fatto), ma sospetto
che non servirebbe a nulla.
Questo non è un normale scambio di pareri o comunque una
conversazione. Ammetto anche che mi si facciano notare errori che
posso aver fatto o cose imprecise che ho detto, e ho già ammesso che
potevo essere più chiaro con la domanda (fermo restando che era
indirizzata a un NG NON sulla programmazione).
La risposta alla mia domanda iniziale (l'UNICO motivo per cui è nato
il thread) l'ho avuta. Ho appreso anche da te qualcosa su Mac OS X.
Che tu continui a girare intorno alle parole usate sostenendo che
secondo te la domanda iniziale non ha senso non mi interessa, anche
perché alla fine anche tu hai capito cosa ho chiesto, quindi eviterò
di rispondere a ogni tu singola obiezione perché è semplicemente una
perdita di tempo e di risorse (non solo mie e tue, ma del NG).
Non commenterò neanche la cosa che ti è stata fatta notare da p51d
dopo il tuo messaggio (cosa di cui, ripeto, si potrebbe discurete
molto, non è certo tanto banale quanto sembri, e sottolineo quel
sembri, tu).
Ciao.
PS. Ti chiedo di fare bene attenzione a cosa ho scritto nella mail e
al tono che ho usato: non vorrei che ti convincessi che ti ho dato
dell'ignorante o cose del genere...

 bit č meglio del chess a 32 bit.
Ma si, perchč fanno delle ottimizzazioni truzze basate sul fatto che una
maschera binaria per rappresentare certi aspetti di una scacchiera
occupa appunto 64bit.
:)
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 penso proprio che una calloc sia più veloce (il doppio precisamente)
se ti illudi che non usino istruzioni vettoriali...