À mesure que les besoins en mémoire augmentent rapidement, de plus en plus de systèmes nécessitent aujourd'hui des machines 64 bits pour accéder à une RAM encore plus grande. En mode protégé 386, un pointeur de mémoire se compose de deux parties: l'adresse de base (32 bits) spécifiée par un sélecteur de segment et l'adresse de décalage (32 bits) ajoutée à l'adresse de base. Pour re-compiler tous les programmes en 64 bits, il y a beaucoup de travail à faire, par exemple pour les programmes C/C++, le type `int 'dépendant de la machine (qui est 32 bits dans la machine 32 bits, et 64 bits dans la machine 64 bits) causera des problèmes si elle n'est pas utilisée correctement. Même s'il est en cours de reconstruction sans problème, les besoins en mémoire ne cessent de croître, par exemple, un jour, nous utiliserons des machines 128 bits, et devons-nous reconstruire tous les programmes pour les adapter à la nouvelle taille des mots?Étendre la valeur de l'adresse de base dans le sélecteur de 386 segments à la limite de la limite de 4 Go de RAM dans le système d'exploitation 32 bits?
Si nous étendons simplement l'adresse de base à 64 bits, ce qui rend un segment comme une fenêtre de 4 Go sur toute la RAM, nous n'avons même pas besoin d'un système d'exploitation 64 bits, n'est-ce pas? La plupart des applications/processus n'auront pas besoin d'accéder à la mémoire 4G +, côté serveur, par exemple si un serveur de fichiers utilise 20Go de RAM pour la mise en cache, il peut être divisé en 10 processus avec chaque accès 2Go, donc un pointeur 32 bits assez. Et mettre chacun dans un segment différent pour couvrir 20 Go de mémoire. Étendre la limite de segment est transparente pour les programmes de couche supérieure, ce qui devrait être fait seulement sur le CPU et le système d'exploitation, si nous pouvons laisser Linux prendre en charge l'allocation de mémoire sur différents segments 64 bits (actuellement l'adresse de base du segment) est encore 32 bits), nous pouvons facilement utiliser 1 To de RAM sur une machine 32 bits, n'est-ce pas?
Ai-je raison?
Quelle est la question? –