Cette fonction affecte-t-elle les performances du fichier mappé en mémoire?SetFileBandwidthReservation affecte-t-il les performances du fichier mappé en mémoire?
Voici le problème que je dois résoudre:
J'ai deux applications concurrentes pour l'accès au disque: « lecteur » et « updater ». Le système entier fonctionne sur Windows Server 2008 R2 x64
"Updater" accède constamment au disque de manière linéaire, en mettant à jour les données. Le système est configuré de telle sorte que le programme de mise à jour possède toujours des données infinies à mettre à jour. Considérons qu'il est en constante approximation d'une solution d'un énorme ensemble d'équations qui occupe tout le lecteur de disque de 2 To. Updater utilise ReadFile et WriteFile pour traiter les données de manière linéaire. "Reader" est parfois appelé par l'utilisateur pour obtenir des données. Habituellement, l'utilisateur lirait plusieurs blocs de 4 Ko du disque et s'arrêterait. Parfois, l'utilisateur doit lire jusqu'à 100 Mo de manière séquentielle. Dans des cas exceptionnels jusqu'à plusieurs gigaoctets. Reader mappe les fichiers en mémoire pour obtenir les données dont il a besoin. Ce que je voudrais accomplir, c'est que le "lecteur" ait la priorité absolue pour que "updater" s'arrête complètement si nécessaire afin que "reader" puisse obtenir les besoins de l'utilisateur de données aussitôt que possible.
Ce problème peut-il être résolu en utilisant les appels SetPriorityClass et SetFileBandwidthReservation? Je ne voudrais vraiment pas mettre la connexion de synchronisation dans "lecteur" et "updater" et plutôt avoir le système d'exploitation s'occuper des priorités.