Je pense que votre question reflète une incompréhension fondamentale de la façon dont les choses fonctionnent dans un système d'exploitation. Des choses comme "buffers" et "stack" ont tendance à ne pas être définies par le système d'exploitation. Le système d'exploitation divise la mémoire en noyaux et en zones utilisateur (certains systèmes ont des zones protégées supplémentaires).
La disposition de la zone utilisateur est généralement définie par l'éditeur de liens. L'éditeur de liens crée des exécutables qui indiquent au chargeur comment configurer l'espace d'adressage. Divers lieurs ont différents niveaux de contrôle. En règle générale, les paramètres de l'éditeur de liens par défaut regrouper les sections de programme comme quelque chose comme:
-Lire/exécuter
-Lire/no execute
-Lire/écriture/initialisé
-Lire/écriture/demande zéro
Parmi les lieurs, vous pouvez créer plusieurs sections de programme avec ces attributs.
Vous demandez:
« Si j'ai un tampon de caractères contenant la chaîne « Bonjour tout le monde », au lieu de « H » étant placé à l'adresse la plus basse, il est placé à l'adresse la plus élevée, et ainsi de suite. "
Dans une machine neu neumann, la mémoire est indépendante de son utilisation. Le même bloc de mémoire peut être interprété simultanément comme une chaîne, un virgule flottante, un entier ou une instruction. Vous pouvez placer votre lettre dans l'ordre de votre choix, mais la plupart des bibliothèques de logiciels ne les reconnaissent pas dans l'ordre inverse. SI vos propres bibliothèques peuvent gérer les chaînes stockées à l'envers, faites-vous plaisir. "Ma question est - si la chaîne d'entrée était assez longue, quelles choses pourraient être remplacées?"
Cela pourrait être n'importe quoi."Y at-il des fonctions de bibliothèque qui existent entre le tas et la pile qui pourraient être remplacées?"
Cela dépend de ce que votre éditeur de liens a fait.
"Les variables de segment peuvent-elles être remplacées?"
Le tas peut être écrasé.
« Je suppose que les variables dans les données et les sections bss peuvent être remplacés, mais est le segment de texte protégé contre les écritures?
En général, oui.
Tout système d'exploitation particulier que vous demandez au sujet? Je ne Je pense que les normes C spécifient la disposition de la mémoire dans un processus, donc cela peut varier d'un système à l'autre – harmic