void pm_clean (struct physical_memory *pm, FILE *backstore, struct page page_table[NUM_PAGES]) { for(int i=0;i<NUM_PAGES;i++){ if(page_table[i].flags==dirty){ pm_backup_frame(pm,backstore,page_table[i].frame_number,i); } } // Enregistre l'état de la mémoire physique. if (pm->log) { for (unsigned int i = 0; i < PHYSICAL_MEMORY_SIZE; i++) { if (i % 80 == 0) fprintf (pm->log, "%c\n", pm->memory[i]); else fprintf (pm->log, "%c", pm->memory[i]); } } }
void pm_clean (struct physical_memory *pm, struct page *page_table) { // Assurez vous d'enregistrer les modifications apportées au backing store! for (int i = 0; i < NUM_PAGES; i++) if(page_table[i].flags & 0x2) //if dirty, save it pm_backup_frame(pm, page_table[i].frame_number, i); // Enregistre l'état de la mémoire physique. if (pm->log) { for (unsigned int i = 0; i < PHYSICAL_MEMORY_SIZE; i++) { if (i % 80 == 0) { fprintf (pm->log, "%c\n", pm->memory[i]); } else { fprintf (pm->log, "%c", pm->memory[i]); } } } }