@Elwood
Si, si il faut tout réécrire, toutes nos structures systèmes possèdent des pointeurs, si on passe à l'adressage 64 bits il faut agrandir ces structures pour voir accueillir 32 bits supplémentaires (par pointeur).
Et là je ne parle pas des structures TagItem qui sont utilisées par beaucoup de composants du système (y compris Reaction) et qui sont très typées 32bits (on passe des entiers longs 32bits qui parfois représentent des adresses mémoire).
Les API actuelles d'AmigaOS supposent que ce qu'un processus alloue sera accessible par d'autres processus, notamment lorsque l'on passe des paramètres à des fonctions systèmes : le programme appelant alloue la structure puis passe l'adresse à la fonction système (c'est le cas des Messages Exec qui sont alloués par un programme puis son adresse est déposé dans le port de Message de l'application destinatrice du message). Quand c'est exécuté dans le contexte de l'application pas de problème on reste dans le même espace d'adressage, par contre quand c'est, par exemple, exécuté dans le contexte de l'input.device bein ça coince : l'input.device étant un processus à part entière il aurait un espace d'adressage à lui...
Et même en imaginant qu'on le fasse on perdrait automatiquement la compatibilité avec tout ce qui se faisait auparavant : la compatibilité 68k évidemment, mais aussi la compatibilité PPC de tout ce qui aurait été écrit avant passage au 64 bits (ben oui un exemple tout bête : la structure Exec "List" n'aurait plus la même taille du coup le programme s'attendrait à avoir X octets mais n'en recevrait que Y (ou l'inverse) et ce serait catastrophique il lirait ou écrirait au delà de la zone mémoire et c'est le crash.
Concernant l'adressage privé ce serait tout à fait possible (et désirable) c'est la protection mémoire, chaque processus pourrait avoir 4Go virtuels à sa disposition, la seule contrainte c'est qu'il faudrait qu'à tout instant seulement 4Go physiques soient utilisés. Je verrais bien ça comme du swap mémoire, mais au lieu que cela se fasse sur disque on le ferait dans une zone mémoire étendue (ExtMem).
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM