Fast traps for computer software instrumentation

G - Physics – 06 – F

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

G06F 11/30 (2006.01) G06F 9/30 (2006.01) G06F 9/318 (2006.01) G06F 9/40 (2006.01) G06F 9/44 (2006.01)

Patent

CA 2226224

A computer program or a computer process is instrumented by replacing a native computer instruction with a trapping computer instruction which is the size of the native computer instruction and which, when executed, causes a trap to the kernel. A trap handler in the kernel determines that the inserted trapping computer instruction caused the trap and transfers control to a user trap handler. The user trap handler maps the trap site to a patch of instrumentation computer instructions. When the trapping computer instruction is executed, the trap handler transfers control from the kernel to the user trap handler which in turn transfers control to the patch. As a result, processing can be transferred from a source address of the computer process to a destination address of the computer process which is further from the source address than can be reached by a branching computer instruction of the size of the replaced native computer instruction. Native computer instructions in sufficient proximity to corresponding patches of instrumentation computer instructions can be replaced with branching computer instructions of the size of the native computer instruction and which transfer control to those corresponding patches. Other native computer instructions are replaced with trapping computer instructions which transfer control to corresponding patches through traps to the kernel. The user trap handler handles unanticipated traps particularly efficiently by mapping all trap sites other than those corresponding to inserted trapping computer instructions to a default patch which processes unanticipated traps. Therefore, anticipated traps are not slowed by logic verifying that the trap is anticipated. Native computer instructions which are a single byte in length are replaced with a selected, single-byte, privileged computer instruction, e.g., HALT, and the kernel trap handler transfers control to the user trap handler if a trap is caused by the selected privileged computer instruction and a user trap handler is installed. Efficiency is transferring control of a computer process through a trap to the kernel is further improved by doing substantially no more in response to a trap to the kernel than retrieving information regarding the state of the computer process prior to the trap, making that information accessible to the computer process, and transferring control back to the computer process.

Un programme ou un processus informatique est réalisé en remplaçant une instruction originelle par une instruction piège de même taille qui, une fois exécutée, crée un piège pour un noyau. Un pilote de prise en charge des pièges incorporé au noyau détermine que l'instruction piège insérée a créé le piège et transfert le contrôle à un pilote utilisateur. Ce pilote établit la correspondance entre le site du piège et un ensemble d'instructions. Quand l'instruction piège est exécutée, le pilote de prise en charge des pièges transfère le contrôle du noyau au pilote utilisateur, lequel transfère à son tour le contrôle à l'ensemble d'instructions. Le traitement peut alors être transféré de l'adresse source du processus informatique à une adresse de destination du processus informatique qui est plus éloignée de l'adresse source que les adresses que peut atteindre une instruction de branchement de la taille de l'instruction originelle remplacée. Les instructions originelles suffisamment rapprochées des ensembles d'instructions correspondants peuvent être remplacées par des instructions de branchement de même taille qui transfèrent le contrôle à ces ensembles correspondants. Les autres instructions originelles sont remplacées par des instructions pièges qui transfèrent le contrôle à des ensembles d'instructions correspondants par l'intermédiaire des pièges du noyau. Le pilote utilisateur prend en charge les pièges non prévus de façon particulièrement efficace en mettant en correspondance tous les sites de piégeage autres que ceux qui correspondent aux instructions pièges insérées avec un ensemble d'instructions implicites qui traitent les pièges non prévus. Par conséquent, ces pièges ne sont pas ralentis par le circuit logique qui vérifie si le piège est prévu. Les instructions originelles d'une longueur d'un seul octet sont remplacées par une instruction privilégiée d'un seul octet sélectionnée, par exemple HALT, et, si un pilote utilisateur été installé, le pilote de prise en charge des pièges du noyau lui transfère le contrôle quand un piège est causé par l'instruction privilégiée sélectionnée. L'efficacité du transfert du contrôle d'un processus informatique au noyau par l'intermédiaire d'un piège est améliorée, en réponse à un piège du noyau, en récupérant seulement l'information sur l'état du processus avant l'interruption, en rendant cette information accessible au processus et en retransférant le contrôle au processus.

LandOfFree

Say what you really think

Search LandOfFree.com for Canadian inventors and patents. Rate them and share your experience with other people.

Rating

Fast traps for computer software instrumentation does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Fast traps for computer software instrumentation, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Fast traps for computer software instrumentation will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFCA-PAI-O-1411275

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.