Hello
Notre prof d'OS nous a expliqué ceci:
Quand l'user 1 ouvre un programme, il y a ses différentes partie qui sont chargé en mémoire:
-La partie DATA du programme.
-La Pile.
-La partie CODE du programme.
Si un deuxième user réouvre le même programme : seul la pile et la partie DATA sera à nouveau chargé en mémoire. La partie CODE n'a pas besoin d'être rechargé car le CODE reste le même que pour l'utilisateur 1.
Dans la table des processus: il y a un pointeur qui indique où l'user1 est arrivé dans le CODE et où l'user2 est arrivé dans le CODE.
Notre prof nous a aussi expliqué que quand on ouvre un programme, l'entièrté du code du programme n'est pas charger en mémoire : il se charge au fur et a mesure de son éxécution.
Ma question: Imaginons que le pointeur de la table des processus pour l'user1 se trouve à la fin du CODE et que le pointeur de l'user2 se trouve au début du CODE. Dans ce cas, TOUT le code du programme devrait être chargé en mémoire --> perte de mémoire !
Dans ce cas, il serait plus intérressant de charger la partie CODE du programme 2 fois en mémoire, non ?
Thanks...







Répondre avec citation




Partager