Pagination sur demande
Bonjour,
Après de maintes reflexions sur un exercice dont je n'arrive pas à trouver la solution, je vous soumets ci après l'énoncé pour une eventuelle aide.
Merci par avance.
Enoncé de l'exercice :
Soit un système d'exploitation qui utilise une pagination sur demande et où les pages ont des tailles de 4 KO. Nous supposeront que l'ordinateur utilisé n'utilise pas de mémoire cache, un étudiant doit écrire un segment de programme qui fait la somme de tous les éléments d'une très grande matrice, il teste les 2 algorithmes suivants :
Algorithme 1 Algorithme 2
Somme :=0; Somme :=0;
Pour j=1 à 10000 Pour i=1 à 10000
faire faire
Pour i=1 à 10000 Pour j=1 à 10000
faire faire
Somme := Somme+A[i,j]; Somme := Somme+A[i,j];
fait fait
fait fait
expliquer pourquoi en utilisant l'algorithme 1, il obtient un temps d'execution beaucoup plus long qu'avec l'algorithme 2.
Après de maintes reflexions sur un exercice dont je n'arrive pas à trouver la solution, je vous soumets ci après l'énoncé pour une eventuelle aide.
Merci par avance.
Enoncé de l'exercice :
Soit un système d'exploitation qui utilise une pagination sur demande et où les pages ont des tailles de 4 KO. Nous supposeront que l'ordinateur utilisé n'utilise pas de mémoire cache, un étudiant doit écrire un segment de programme qui fait la somme de tous les éléments d'une très grande matrice, il teste les 2 algorithmes suivants :
Algorithme 1 Algorithme 2
Somme :=0; Somme :=0;
Pour j=1 à 10000 Pour i=1 à 10000
faire faire
Pour i=1 à 10000 Pour j=1 à 10000
faire faire
Somme := Somme+A[i,j]; Somme := Somme+A[i,j];
fait fait
fait fait
expliquer pourquoi en utilisant l'algorithme 1, il obtient un temps d'execution beaucoup plus long qu'avec l'algorithme 2.
Configuration: Windows XP Opera 9.20