La façon dont les données sont stockées sur le disque affecte la durée totale du service d'E/S.
Supposons que chaque piste soit divisée en 10 blocs physiques et que chaque bloc stocke 1 enregistrement logique. Les enregistrements logiques R1, R2,..., R10 sont stockés sur la même piste. La séquence d'arrangement des enregistrements est celle indiquée dans le tableau suivant : (Apprentissage recommandé : Tutoriel vidéo frontal Web)
Supposons que la vitesse de rotation du disque est de 20 ms/cycle et que la tête est actuellement au début de R1. Si le système traite ces enregistrements de manière séquentielle, en utilisant un seul tampon, et que le temps de traitement de chaque enregistrement est de 4 ms, le temps maximum pour traiter ces 10 enregistrements est de 204 ms si le stockage des informations est optimisé et distribué, le temps minimum pour traiter 10 enregistrements ; est de 60 ms.
Tout d'abord, à partir de la vitesse du disque de 20 ms/cycle, on peut savoir qu'il faut 2 ms pour lire un enregistrement.
Une chose à noter est :
La condition préalable au traitement d'un enregistrement est de le lire. Lors du traitement du premier enregistrement, il doit d'abord être lu puis traité, donc le temps requis pour traiter R1 est de 2 ms + 4 ms. Lorsque R1 est traité, la tête a été tournée vers la position R4 et elle doit être ajustée. à ce moment-là, pour accéder à la position R2, vous devez passer par R5, R6, R7, R8, R9, R10, R1, ce qui prend 16 ms. De plus, il faut 2 ms pour lire R2 et 4 ms pour traiter les données. . Le temps de traitement total de R2 doit être de 22 ms.
Par analogie, le temps de traitement de ces 10 enregistrements est
2+4+(16+2+4)×9=204ms
D'après l'analyse ci-dessus, nous Comme vous le savez, la plupart du temps est consacré au recul de la tête magnétique.
Afin de réduire cette consommation de temps, l'ordre de rangement peut être optimisé. L'ordre de rangement optimisé doit être : R1, R8, R5, R2, R9, R6, R3, R10, R7, R4. De cette façon, lorsque R1 est traité, la tête atteint la position R2. Lisez R2 directement, traitez R2 et après avoir traité R2, la tête atteint à nouveau la position de R3. Par analogie, le temps de lecture et de traitement de chaque enregistrement est de : 2ms+4ms=6ms, donc le temps total est de (2+4)×10=60ms.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!