Method for improving the performance of safe language multitasking

   
   

A system and method are provided for isolating the execution of a plurality of applications which access shared data. A limited number of special classes encapsulate data that should be shared by all classes in the multitasking system. Static fields of all classes, including the special classes, are virtualized such that each application has its own copy of static fields and class monitors. However, a special class has special program code associated with it, such that an invocation of any of the methods of the special class causes a switch of an application ID associated with the thread (referred to herein as an effective thread application ID or TA-ID) to a constant value. Thus, the applications may access a single, shared copy of the special class. The TA-ID may be changed back to the original value upon exiting one of the methods. Although one instance of identifier-switching is typically more costly than one instance of determining whether a class is special, the identifier-switching may be performed only for special classes rather than for all classes. The common case may therefore be optimized.

Un système et une méthode sont donnés pour isoler l'exécution d'une pluralité d'applications qui accèdent à des données partagées. Un nombre limité de classes spéciales encapsulent les données qui devraient être partagées par toutes les classes dans le traitement multitâche. Les champs statiques de toutes les classes, y compris les classes spéciales, sont virtualized tels que chaque application a sa propre copie des champs et des moniteurs statiques de classe. Cependant, une classe spéciale a le code spécial de programme lié à elle, telle qu'une invocation d'un quelconque des méthodes de classe spéciale cause un commutateur d'une identification d'application liée au fil (désigné ci-après sous le nom d'une identification ou d'un TA-ID efficace d'application de fil) à une valeur constante. Ainsi, les applications peuvent accéder à une copie simple et partagée de la classe spéciale. Le TA-ID peut être changé de nouveau à la valeur originale lors d'annuler une des méthodes. Bien qu'un exemple de la marque-commutation soit en général plus coûteux qu'un exemple de déterminer si une classe est spéciale, la marque-commutation peut être exécutée seulement pour les classes spéciales plutôt que pour toutes les classes. Le cas commun peut donc être optimisé.

 
Web www.patentalert.com

< Multimedia direct communication system linked with HTTP protocol

< Virtual machine support for multiple applications

> Software-based architecture for communication and cooperation among distributed electronic agents

> Subtilisin variants

~ 00158