PDA

View Full Version : Kernel di Leopard e 64 bit: MA DOVE!


idt_winchip
30-10-2007, 11:31
http://www.apple.com/macosx/technology/64bit.html
Ora, la pagina della Apple dice che tutto il sistema incluse le fondamenta UNIX sono a 64 bit...

...

...E allora per quale motivo il kernel e' a 32 bit???

Apple => :sofico:

Provate a controllare voi stessi:

http://img520.imageshack.us/img520/9200/immagine1wl7.png

Tutte queste WWDC per osannare leopard a 64 bit e poi ci ritroviamo con un sistema a 32bit??
Per la vostra gioia ecco una delle poche applicazioni a 64 bit:
http://img155.imageshack.us/img155/9040/immagine2eh3.png

Gli scacchi!! :asd: :sofico:

Eh sì..noi apple siamo proprio avanti.. -.- ..

Gli faceva fatica ricompilare un kernel a 64bit per quei pochi modelli di mac intel disponibili? Non è che hanno miliardi di drivers da riscrivere..i nuovi modelli intel si contano sulle dita.

Mah..:muro:

sam_88
30-10-2007, 13:18
Edit.

SalgerKlesk
30-10-2007, 13:24
Scusa, ma a te cosa frega come è realizzato? Le applicazioni a 64 girano a 64? Si... e allora? Il bello di OSX è che fai tutto easy integrato e tu ti fai problemi?

Boh... :mbe:

alexbau
30-10-2007, 13:34
probabilmente lo introdurranno nelle prossime versioni, ad ogni modo mi spiegheresti a cosa ti servono i 64bit?

Alex

Massimo87
30-10-2007, 13:47
non è il fatto di "a cosa ti servono", ma tanto il fatto che hanno fatto du OO così nel WWDC dicendo che il SO sarebbe stato nativo a 64Bit.. mentre ora, almeno la parte fondamentale com il kernel è ancora un semplice 32bit ;)

alexbau
30-10-2007, 14:00
beh tutto sommato un sistema a 32bit e` piu` snello di uno a 64, o meglio: le istruzioni a 64 non vengono mai utilizzate se non da specifiche applicazioni che noi utenti consumer non utilizziamo (a meno che qualcuno di voi non abbia un db Oracle in casa)... in pratica i registri di memoria a 64 bit utilizzerebbero solo 32 bit e gli sltri sarebbero sempre settati a 0, in quanto non utilizzati... in questo modo il sistema si deve smazzare 32bit di registro inutili e cio` lo rallenta (anche se impercettibilmente)... di sicuro un sistema a 64bit non va piu` veloce di uno a 32.

Che poi il marketing Apple abbia ipertrofizzato una feature non fa neanche piu` notizia...



Alex

Kaji Ryoji
30-10-2007, 21:05
beh tutto sommato un sistema a 32bit e` piu` snello di uno a 64, o meglio: le istruzioni a 64 non vengono mai utilizzate se non da specifiche applicazioni che noi utenti consumer non utilizziamo (a meno che qualcuno di voi non abbia un db Oracle in casa)... in pratica i registri di memoria a 64 bit utilizzerebbero solo 32 bit e gli sltri sarebbero sempre settati a 0, in quanto non utilizzati... in questo modo il sistema si deve smazzare 32bit di registro inutili e cio` lo rallenta (anche se impercettibilmente)...

Direi di no, non e' assolutamente detto che un sistema a 32 bit sia piu' snello di uno a 64 bit.
Tanto per cominciare, i 64 bit sono molto utili per velocizzare operazioni che si fanno abitualmente anche in casa (applica un filtro con photoshop o un effetto con imovie, per dire) e assolutamente non solo per grossi applicativi server. Seconda cosa, se un'applicazione eventualmente non sfrutta appieno i 64 bit il problema e' sull'occupazione di memoria che aumenta, non certo sulla velocita' che rimane invariata.
Mi trovi comunque daccordo sul fatto che se un'applicazione non ha bisogno di sfruttare la "potenza in piu'", compilarla a 32 bit e' la scelta giusta per risparmiare qualcosina.
Tuttavia, qui non si parla di applicazioni qualsiasi (che e' anche plausibile che non siano tutte a 64 bit), ma bensi' del kernel che proprio un componente secondario non e'. E si parla del fatto che la Apple ha sbandierato finora un "sistema completamente a 64 bit" e ora si scopre che proprio il suo nucleo e' rimasto fermo a 32.

di sicuro un sistema a 64bit non va piu` veloce di uno a 32.

o_O
Non mi trovo molto daccordo con questa frase... Seguendo questo ragionamento torniamo tutti ai computer a 8 bit che son piu' veloci :asd:

kalebbo
30-10-2007, 22:51
http://www.apple.com/macosx/technology/64bit.html
Ora, la pagina della Apple dice che tutto il sistema incluse le fondamenta UNIX sono a 64 bit...

...

...E allora per quale motivo il kernel e' a 32 bit???

Apple => :sofico:

Provate a controllare voi stessi:

http://img520.imageshack.us/img520/9200/immagine1wl7.png

Tutte queste WWDC per osannare leopard a 64 bit e poi ci ritroviamo con un sistema a 32bit??
Per la vostra gioia ecco una delle poche applicazioni a 64 bit:
http://img155.imageshack.us/img155/9040/immagine2eh3.png

Gli scacchi!! :asd: :sofico:

Eh sì..noi apple siamo proprio avanti.. -.- ..

Gli faceva fatica ricompilare un kernel a 64bit per quei pochi modelli di mac intel disponibili? Non è che hanno miliardi di drivers da riscrivere..i nuovi modelli intel si contano sulle dita.

Mah..:muro:

Non è così. La Apple non ha mai sbandierato che il kernel sarebbe stato a 64 bit, ma che OS X avrebbe pienamente e nativamente supportato applicazioni (anche con GUI) a 64 bit, attraverso l'uso di framework nativi a 64 bit. Chiara la differenza? Kernel != applicazioni.
Leggiti l'ottima recensione di Leopard ad opera di Siracusa: http://arstechnica.com/reviews/os/mac-os-x-10-5.ars/6

sirus
30-10-2007, 23:53
Effettivamente le applicazioni a 64 bit incluse sono veramente poche, mi sarei aspettato almeno il kernel compilato per x86-64. :(

darkbasic
01-11-2007, 10:35
Ma stiamo scherzando? Ma cos'è questa porcheria? :doh:
Bel modo per avere il doppio delle librerie caricate in memoria :muro:
:banned:

Cisto
01-11-2007, 11:27
Beh ma si sapeva da tempo immemore scusate... lasciando perdere i toni encomiastici della pagina di presentazione di Leopard (è solo pubblicità), i 64 bit sono abilitati sul layer unix su solo un certo numero di librerie o interfacce; il kernel, che è e rimarrà a 32 bit, è stato strutturato in modo tale da abilitare l'allargamento degli indirizzi per solo questi processi, rimanendo comunque compatibile con i driver e i kexts. Il supporto a 64 bit è invece pienamente presente dei 2 maggiori framework, carbon e cocoa, per "invogliare" gli sviluppatori a migrare verso tale architettura; in soldoni lo stack API è quasi totalmente disponibile a 64 bit, ma il kernel è a 32 bit.

Cmq le applicazioni oggi disponibili sono per il 99,9% a 32 bit, la scelta di apple mi sembra perfettamente sensata; per un kernel full64 direi che se ne possa riparlare tranquillamente per la prossima release dell'OS.

idt_winchip
01-11-2007, 12:51
Beh ma si sapeva da tempo immemore scusate... lasciando perdere i toni encomiastici della pagina di presentazione di Leopard (è solo pubblicità), i 64 bit sono abilitati sul layer unix su solo un certo numero di librerie o interfacce; il kernel, che è e rimarrà a 32 bit, è stato strutturato in modo tale da abilitare l'allargamento degli indirizzi per solo questi processi, rimanendo comunque compatibile con i driver e i kexts. Il supporto a 64 bit è invece pienamente presente dei 2 maggiori framework, carbon e cocoa, per "invogliare" gli sviluppatori a migrare verso tale architettura; in soldoni lo stack API è quasi totalmente disponibile a 64 bit, ma il kernel è a 32 bit.

Cmq le applicazioni oggi disponibili sono per il 99,9% a 32 bit, la scelta di apple mi sembra perfettamente sensata; per un kernel full64 direi che se ne possa riparlare tranquillamente per la prossima release dell'OS.

Prendendo quello che trovo dal sito di apple:
Leopard offre potenza a 64 bit in un unico OS universale. Ora i framework Cocoa, la grafica, lo scripting e le fondamenta UNIX del sistema Mac sono tutti a 64 bit. E poiché potrete usufruire di piena compatibilità e prestazioni inalterate con gli applicativi e i driver a 32 bit, non dovrete aggiornare l’intero sistema solo per utilizzare un’unica applicazione a 64 bit.

Salto generazionale.
Ora che l’intero sistema operativo è a 64 bit, potrete sfruttare appieno i chip Xeon in Mac Pro e Xserve. Usufruirete di maggiore potenza di elaborazione (fino a 3GHz) senza essere limitati all’uso di applicativi a linea di comando, server e motori computazionali.

Se mi dicono che le fondamenta unix del sistema sono tutte a a 64 bit la prima cosa che mi viene a pensare è che almeno il kernel sia a 64bit (dopotutto il kernel non fa parte delle fondamenta del sistema operativo?).
Guardando la possibilità di poter utilizzare drivers a 32 bit con leopard a 64 mi chiedevo infatti come fosse stato possibile tutto ciò..beh...adesso ho capito ma prima credevo che ci fosse una soluzione avanzata per far girare moduli del kernel a 32 nel sistema a 64 bit come se fossero nativi.
Prima di provare con mano leopard credevo che il kernel il sistema mac os e almeno le applicazioni apple fossero stati ricompilati full 64bit..o almeno questo è quello che si capisce dal sito apple.
Vabbè..non c'è niente di male..vorrà dire che sarà per la realase 10.6..ma potevano almeno dirlo in modo chiaro che il sistema era ancora funzionante a 32bit.

manowar84
01-11-2007, 13:42
Prendendo quello che trovo dal sito di apple:
Leopard offre potenza a 64 bit in un unico OS universale. Ora i framework Cocoa, la grafica, lo scripting e le fondamenta UNIX del sistema Mac sono tutti a 64 bit. E poiché potrete usufruire di piena compatibilità e prestazioni inalterate con gli applicativi e i driver a 32 bit, non dovrete aggiornare l’intero sistema solo per utilizzare un’unica applicazione a 64 bit.

Salto generazionale.
Ora che l’intero sistema operativo è a 64 bit, potrete sfruttare appieno i chip Xeon in Mac Pro e Xserve. Usufruirete di maggiore potenza di elaborazione (fino a 3GHz) senza essere limitati all’uso di applicativi a linea di comando, server e motori computazionali.

Se mi dicono che le fondamenta unix del sistema sono tutte a a 64 bit la prima cosa che mi viene a pensare è che almeno il kernel sia a 64bit (dopotutto il kernel non fa parte delle fondamenta del sistema operativo?).
Guardando la possibilità di poter utilizzare drivers a 32 bit con leopard a 64 mi chiedevo infatti come fosse stato possibile tutto ciò..beh...adesso ho capito ma prima credevo che ci fosse una soluzione avanzata per far girare moduli del kernel a 32 nel sistema a 64 bit come se fossero nativi.
Prima di provare con mano leopard credevo che il kernel il sistema mac os e almeno le applicazioni apple fossero stati ricompilati full 64bit..o almeno questo è quello che si capisce dal sito apple.
Vabbè..non c'è niente di male..vorrà dire che sarà per la realase 10.6..ma potevano almeno dirlo in modo chiaro che il sistema era ancora funzionante a 32bit.

non è il fatto di "a cosa ti servono", ma tanto il fatto che hanno fatto du OO così nel WWDC dicendo che il SO sarebbe stato nativo a 64Bit.. mentre ora, almeno la parte fondamentale com il kernel è ancora un semplice 32bit ;)


STRA-quotoneeeeee! apple? stavolta.... :nonsifa:

brunoinformatica4
01-11-2007, 14:54
Beh ragazzi purtroppo stavolta bisogna dirlo, qui hanno toppato!

Non possiamo sempre lodare e non possiamo sempre ragionare come dei fan.
Poi questa è una critica costruttiva, non si sta mica sparando a zero su Leopard

SalgerKlesk
01-11-2007, 15:24
Le applicazioni 32 funzionano perfettamente? Si.
Le applicazioni 64 funzionano perfettamente? Si.
Entrambi i binari compilati per 32 o 64 sfruttano al massimo le possibilità offerte dall'architettura? Si.
Il tutto avviene in maniera trasparente all'utente? Si.

Dov'è che hanno toppato? :mbe:

manowar84
01-11-2007, 15:49
Le applicazioni 32 funzionano perfettamente? Si.
Le applicazioni 64 funzionano perfettamente? Si.
Entrambi i binari compilati per 32 o 64 sfruttano al massimo le possibilità offerte dall'architettura? Si.
Il tutto avviene in maniera trasparente all'utente? Si.

Dov'è che hanno toppato? :mbe:

dal sito della apple:

Ora che l’intero sistema operativo è a 64 bit

il kernel (già, in fondo è solo il cuore del sistema operativo :p) non è a 64 bit, non mi pare difficile da capire dove hanno "toppato" :)

fotomodello
01-11-2007, 16:37
scusate un attimo...

aldilà della considerazione sul fatto che le applicazioni a 64 girano ugualmente anche se pare che il kernel sia a 32 bit....

la cosa rilevante e da stabilire è se la apple dichiara che leopard è a 64 bit oppure se dichiara di supportare le applicazioni a 64 bit

nel primo caso pare ingannevole l'atteggiamento della mela, nel secondo assolutamente no

int main ()
01-11-2007, 17:00
incredibile -.- che delusione ragà...

kalebbo
01-11-2007, 17:39
Beh ma si sapeva da tempo immemore scusate... lasciando perdere i toni encomiastici della pagina di presentazione di Leopard (è solo pubblicità), i 64 bit sono abilitati sul layer unix su solo un certo numero di librerie o interfacce; il kernel, che è e rimarrà a 32 bit, è stato strutturato in modo tale da abilitare l'allargamento degli indirizzi per solo questi processi, rimanendo comunque compatibile con i driver e i kexts. Il supporto a 64 bit è invece pienamente presente dei 2 maggiori framework, carbon e cocoa, per "invogliare" gli sviluppatori a migrare verso tale architettura; in soldoni lo stack API è quasi totalmente disponibile a 64 bit, ma il kernel è a 32 bit.

Cmq le applicazioni oggi disponibili sono per il 99,9% a 32 bit, la scelta di apple mi sembra perfettamente sensata; per un kernel full64 direi che se ne possa riparlare tranquillamente per la prossima release dell'OS.

Carbon, sebbene ne fosse stato fatto il porting a 64 bit, è rimasto a 32bit per "forzare" il passaggio a Cocoa.
Tutti gli altri che si lamentano si vadano a studiare un pò di sistemi operativi, si documentino e poi tornino a inveire con argomentazioni convincenti.
Secondo me questa volta alla Apple, almeno su questo fronte, non hanno sbagliato nulla.

lollo_rock
01-11-2007, 17:41
Carbon, sebbene ne fosse stato fatto il porting a 64 bit, è rimasto a 32bit per "forzare" il passaggio a Cocoa.
Tutti gli altri che si lamentano, si vadano a studiare un pò di sistemi operativi, si documentino e poi tornino a schiamazzare.
Questa volta alla Apple, almeno su questo fronte, non hanno sbagliato nulla.

una delle prime affermazioni sensate di tutto il 3d

sirus
01-11-2007, 17:43
Pensandoci bene è normale che non tutte le applicazioni siano a 64 bit. A suo tempo vidi dei benchmark di browser compilati a 64 bit confrontati a browser compilati a 32 bit, i primi erano addirittura più lenti perché in alcuni casi avere dei tipi e degli indirizzi più grandi (dove questi "miglioramenti" non sono utili porta svantaggi).
Per quanto riguarda il kernel la mancata compilazione a 64 bit immagino dipenda da questioni di compatibilità con i driver; tutte le macchine Apple, siano essere 32 o 64 bit utilizzano driver 32 bit, aver avuto un binario a 64 bit per il kernel avrebbe significato avere un set di driver aggiuntivo (che viene fornito dal produttore e non da Apple ovviamente) e molto probabilmente non sarebbe stato sufficiente ricompilare il solo driver ma si sarebbe resa necessario una riscrittura dello stesso.

M@n
05-11-2007, 20:44
Riesumo questo 3d per una domanda.
Se non erro il Mac Pro puo' montare qualcosa come 16 Giga di ram, ebbene come fa un OS a 32 bit (Tiger di sicuro, Leopard se ne e' discusso proprio qui) a vedere piu' di 4 giga?:confused:

manowar84
05-11-2007, 21:06
Riesumo questo 3d per una domanda.
Se non erro il Mac Pro puo' montare qualcosa come 16 Giga di ram, ebbene come fa un OS a 32 bit (Tiger di sicuro, Leopard se ne e' discusso proprio qui) a vedere piu' di 4 giga?:confused:

da quello che sapevo (e non sono sicuro), mi pare che il limite dei 4gb sia superabile basta pensare che windows 2000 datacenter edition può indirizzare 32gb di memoria fisica!

sirus
05-11-2007, 21:16
Riesumo questo 3d per una domanda.
Se non erro il Mac Pro puo' montare qualcosa come 16 Giga di ram, ebbene come fa un OS a 32 bit (Tiger di sicuro, Leopard se ne e' discusso proprio qui) a vedere piu' di 4 giga?:confused:
Il sistema che permette di fare questo si chiama PAE, Physical Address Extension. Permette ai sistemi a 32 bit di utilizzare più di 4 GB di memoria RAM, lo svantaggio consiste in un abbassamento delle prestazioni.

Criceto
05-11-2007, 21:17
Effettivamente le applicazioni a 64 bit incluse sono veramente poche, mi sarei aspettato almeno il kernel compilato per x86-64. :(

Il kernel non può essere a 64 bit altrimenti non andrebbero i drivers a 32 bit. E quindi niente "magia" di un sistema unico 32/64 bit (un'esclusiva di Apple).

Comunque (non so come) riesce ad indirizzare 64 bit e le applicazioni (SE SERVE, e di solito non è così) possono essere a 64 bit... quindi di che lamentarsi?

Edit: ho letto dopo gli altri post dove ti rispondi da solo :D

sirus
05-11-2007, 21:21
Edit: ho letto dopo gli altri post dove ti rispondi da solo :D
Ogni tanto penso alle cazzate che sparo... sono arrivato dopo alla conclusione che in Mac OS X 10.5 i driver sono tutti a 32 bit al contrario che in Windows Vista 64 bit.

EDIT: ecco come si possono gestire più di 4 GB di memoria RAM con un gestore della memoria a 32 bit: PAE (http://en.wikipedia.org/wiki/Physical_Address_Extension).

Criceto
05-11-2007, 21:43
EDIT: ecco come si possono gestire più di 4 GB di memoria RAM con un gestore della memoria a 32 bit: PAE (http://en.wikipedia.org/wiki/Physical_Address_Extension).

Non credo utilizzi quel sistema, per due motivi:
- perchè è una feature degli x86 e il sistema misto va anche sui PowerPC
- perchè le applicazioni possono indirizzare i 64 bit, non c'è solo l'indirizzamento esteso del kernel (questo c'era anche in Panther, ma le applicazioni erano max 32 bit come nel PAE).

sirus
05-11-2007, 21:56
Non credo utilizzi quel sistema, per due motivi:
- perchè è una feature degli x86 e il sistema misto va anche sui PowerPC
- perchè le applicazioni possono indirizzare i 64 bit, non c'è solo l'indirizzamento esteso del kernel (questo c'era anche in Panther, ma le applicazioni erano max 32 bit come nel PAE).
Allora non vorrei che si faccia uso di un meccanismo completamente software, se così fosse ci sarebbero dei decrementi prestazionali. Una soluzione software mi sembra l'unica che permetta di essere utilizzata su sistemi x86/x86-64 e PPC/PPC64.

Criceto
05-11-2007, 22:06
Allora non vorrei che si faccia uso di un meccanismo completamente software, se così fosse ci sarebbero dei decrementi prestazionali. Una soluzione software mi sembra l'unica che permetta di essere utilizzata su sistemi x86/x86-64 e PPC/PPC64.

Non so come fanno. Magia? Solo Apple è riuscita a fare una cosa simile.

Forse bisognerebbe chiedere a John Siracusa di ArsTechnica (come sempre ottima la sua review di Leopard (http://arstechnica.com/reviews/os/mac-os-x-10-5.ars) anche se continua ad avere delle fisse contro il Finder) o leggersi il libro di 1000 e passa pagine (http://www.osxbook.com/) del guru indiano Amit Singh... :)