FR2888016A1 - Systeme et procede d'optimisation automatique de la memoire virtuelle disponible - Google Patents
Systeme et procede d'optimisation automatique de la memoire virtuelle disponible Download PDFInfo
- Publication number
- FR2888016A1 FR2888016A1 FR0605047A FR0605047A FR2888016A1 FR 2888016 A1 FR2888016 A1 FR 2888016A1 FR 0605047 A FR0605047 A FR 0605047A FR 0605047 A FR0605047 A FR 0605047A FR 2888016 A1 FR2888016 A1 FR 2888016A1
- Authority
- FR
- France
- Prior art keywords
- bit
- address management
- application
- long address
- bit application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Executing Machine-Instructions (AREA)
Abstract
La présente invention concerne un système de traitement d'informations (100) incluant un processeur (110) apte à supporter un système d'exploitation 64 bits (122). Le système (100) inclut une ressource de mémorisation (120) communiquant avec le processeur (110) pour gérer la ressource de mémorisation (120) comme une mémoire virtuelle (200) pour des applications (124) exécutées par celui-ci. Le système (100) inclut une application 32 bits (124) pouvant être exécutée par le processeur (110) et un encapsuleur (126) pour déterminer automatiquement si l'application 32 bits (124) a une Gestion des Adresses Longues. Si l'encapsuleur (126) détermine que l'application 32 bits (124) n'a pas de Gestion d'Adresses Longues, l'encapsuleur (126) modifie automatiquement un indicateur de Gestion d'Adresses Longues (554) associé à l'application 32 bits (124) sélectionnée pour permettre à celle-ci d'exploiter la capacité d'adressage virtuel supplémentaire du système d'exploitation 64 bits (122).
Description
La présente invention concerne le domaine des systèmes informatiques et de
manière plus spécifique un système et un procédé pour optimiser automatiquement la mémoire virtuelle disponible.
Du fait de la valeur et de l'utilisation croissantes des informations, les utilisateurs et les entreprises cherchent des moyens supplémentaires pour traiter et mémoriser les informations. L'un des choix mis à la disposition des utilisateurs concerne les systèmes de traitement d'informations. Un système de traitement d'informations, d'une manière générale, traite, compile, mémorise, et/ou communique des informations ou des données à des fins commerciales, personnelles, ou autres, permettant ainsi aux utilisateurs d'exploiter la valeur des informations.
Du fait que les besoins et impératifs en termes de technologie et traitement d'informations varient entre différents utilisateurs ou différentes applications, les systèmes de traitement d'informations peuvent également varier en fonction du type d'informations traitées, de la manière par laquelle les informations sont traitées, de la quantité d'informations qui sont traitées, mémorisées, ou communiquées, et du degré de rapidité et d'efficacité avec lequel les informations peuvent être traitées, mémo-risées, ou communiquées. Les variations des systèmes de traitement d'informations permettent aux systèmes de traitement d'informations d'être généraux ou configurés pour un utilisateur spécifique ou une utilisation spécifique, telle que le traitement de transactions financières, les réservations de vols, la mémorisation de données d'entreprise, ou les communications globales. De plus, les systèmes de traitement d'informations peuvent inclure une variété de composants matériels et logiciels qui peu-vent être configurés pour traiter, mémoriser, et communiquer des informations et peuvent inclure un ou plusieurs systèmes informatiques, systèmes de mémorisation de don-
F
nées, et systèmes de gestion de réseau.
Certains systèmes de traitement d'informations incluent un système d'exploitation qui est capable d'exécuter des applications qui ont été conçues à l'origine pour être utilisées avec un système d'exploitation différent. Par exemple, certains systèmes de traitement d'informations utilisent un système d'exploitation 64 bits qui peut également exécuter des applications existantes conçues pour être utilisées avec un système d'exploitation 32 bits.
Par exemple, le système d'exploitation Windows [marque déposée] 64 bits assure le chargement, l'exécution et la gestion d'applications 32 bits via un sous-système appelé Windows-32-sur-Windows-64 (WOW64).
Un avantage de l'exécution d'une application 32 bits sur un sous-système WOW64 est que le sous-système WOW64 peut accroître la mémoire virtuelle disponible accessible par certaines applications 32 bits. En particulier, on sait que les applications 32 bits qui ont une "Gestion des Adresses Longues" peuvent tirer avantage de capacités d'adressage virtuel supplémentaires qui sont rendues disponibles par les systèmes d'exploitation 64 bits. En particulier, les applications 32 bits qui ont une Gestion des Adresses Longues et exécutées par un système d'exploitation 64 bits peuvent avoir une utilisation complète de quatre (4) Go d'espace d'adressage virtuel par opposition aux deux (2) Go typiques d'espace d'adressage virtuel disponible dans les applications 32 bits.
Cependant, afin qu'une application 32 bits exploite la capacité d'adressage virtuel accrue sur des plateformes de système d'exploitation 64 bits, l'application doit être codée à l'aide d'un commutateur de Gestion d'Adresses Longues ou l'utilisateur doit définir un indicateur de Gestion d'Adresses Longues pour chaque application 32 bits particulière en utilisant des outils de modification d'en-tête d'image. En résultat, l'augmentation de l'es- pace d'adresses virtuel requiert une quantité importante de temps, d'effort et d'expertise de l'administrateur. En résultat, très souvent, les applications 32 bits n'utilisent pas l'augmentation de l'espace d'adresses virtuel qui peut être disponible dans des applications 32 bits s'exécutant dans un environnement de système d'exploitation 64 bits.
Par conséquent, il est nécessaire de disposer d'un système et d'un procédé pour optimiser automatiquement la mémoire virtuelle disponible à des applications 32 bits s'exécutant dans un environnement de système d'exploitation 64 bits.
Dans un aspect, un système de traitement d'informations est décrit comme incluant un processeur apte à supporter un système d'exploitation 64 bits. Le système de traite-ment d'informations inclut également une ressource de mémorisation en communication avec le processeur qui est capable de gérer la ressource de mémorisation comme une mémoire virtuelle pour des applications exécutées par le processeur. Le système de traitement d'informations inclut également au moins une application 32 bits qui peut être exécutée par le processeur et un encapsuleur capable de déterminer automatiquement si une application 32 bits sélectionnée a une Gestion d'Adresses Longues. Si l'en- capsuleur déterminer que l'application 32 bits n'a pas de Gestion d'Adresses Longues, l'encapsuleur modifie un indicateur de Gestion d'Adresses Longues associé à l'application 32 bits sélectionnée.
Dans un autre aspect, on décrit un procédé qui inclut un encapsuleur destiné à être utilisé avec un système de traitement d'informations qui est capable d'exécuter un système d'exploitation 64 bits et ayant au moins une application 32 bits qui peut être exécutée par le système d'exploitation 64 bits. Le procédé inclut également la détermination automatique, avec l'encapsuleur, indiquant si une application 32 bits sélectionnée a une Gestion d'Adresses Longues. De plus, en réponse à la détermination indiquant si l'application 32 bits sélectionnée n'a pas de Gestion d'Adresses Longues, le procédé inclut la modification d'un indicateur de Gestion d'Adresses Longues associé à l'application 32 bits sélectionnée.
Dans encore un autre aspect, on décrit une application d'encapsuleur pour optimiser une mémoire virtuelle rendue disponible à une application 32 bits sur un système de traitement d'informations qui a un système d'exploitation 64 bits. L'encapsuleur peut déterminer automatiquement si une application 32 bits sélectionnée a une Gestion d'Adresses Longues et, en réponse à la détermination indiquant que l'application 32 bits sélectionnée n'a pas de Gestion d'Adresses Longues, modifier un indicateur de Gestion d'Adresses Longues associé à l'application 32 bits.
En d'autres termes, la présente invention porte sur un système de traitement d'informations comportant: un processeur apte à supporter un système d'exploitation 64 bits; une ressource de mémorisation en communication avec le processeur, le processeur étant apte à gérer la ressource de mémorisation en tant que mémoire virtuelle pour des applications exécutées par le processeur; au moins une application 32 bits opérationnelle pour être exécutée par le processeur; et un encapsuleur apte à dé-terminer automatiquement si une application 32 bits sélectionnée a une Gestion d'Adresses Longues et pour modi- fier un indicateur de Gestion d'Adresses Longues associé à l'application 32 bits sélectionnée en réponse à la détermination que l'application 32 bits sélectionnée n'a pas de Gestion d'Adresses Longues.
Selon diverses formes de réalisation subsidiaires avanta- geuses: le système d'exploitation 64 bits comporte un sous-système Windows-32-surWindows-64 apte à exécuter des applications 32 bits; l'encapsuleur est de plus apte à déterminer l'état de gestion d'adresses longues de la au moins une applica- tion 32 bits durant son utilisation initiale; le système comporte de plus une pluralité d'applications 32 bits, notamment avec un encapsuleur qui est de plus apte à déterminer si chaque application 32 bits a une Gestion d'Adresses Longues et, en réponse à la détermination qu'au moins une application 32 bits n'a pas de gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues associé à la au moins une application 32 bits; la au moins une application 32 bits est mémorisée dans une ressource de mémorisation en communication avec le processeur; Dans ce dernier cas: la ressource de mémorisation peut constituer une unité de disque dur; le système peut comporter de plus une table de pages dans la mémoire opérationnelle pour mémoriser des pages récupérées à partir de la ressource de mémorisation; et l'encapsuleur peut être mémorisé dans la ressource de mémorisation; l'encapsuleur est apte à interroger le sixième bit d'un en-tête PE associé à l'application 32 bits sélectionnée pour déterminer l'état de gestion d'adresses longues de l'application 32 bits.
La présente invention vise également un procédé compor- tant les étapes consistant à : fournir un encapsuleur utilisable dans un système de traitement d'informations apte à exécuter un système d'exploitation 64 bits et ayant au moins une application 32 bits opérationnelle pour être exécutée par le système d'exploitation 64 bits; déterminer automatiquement, à l'aide de l'encapsu- leur, si une application 32 bits sélectionnée a une gestion d'adresses longues; et, en réponse à la détermination que l'application 32 bits sélectionnée n'a pas de gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues associé à l'application 32 bits sélectionnée.
Selon diverses formes de mise en oeuvre subsidiaires avantageuses, le procédé comporte de plus les étapes consistant à : fournir l'encapsuleur pour l'utiliser dans un système de traitement d'informations apte à exécuter un sous-système Windows-32-sur-Windows-64 associé au système d'exploitation 64 bits; déterminer l'état de gestion d'adresses longues de l'application 32 bits sélectionnée durant son utilisation initiale; déterminer automatiquement à l'aide de l'encapsuleur si l'une quelconque d'une pluralité d'applications 32 bits a une gestion d'adresses longues et, en réponse à la détermination qu'au moins une application 32 bits n'a pas de gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues associé à au moins une application 32 bits; mémoriser la au moins une application 32 bits sur une ressource de mémorisation associée au système de traitement d'informations, et mémoriser l'encapsuleur sur la ressource de mémorisation; dans ce dernier cas, la détermination que la au moins une application 32 bits n'a pas une gestion d'adresses longues comporte de plus l'interrogation du sixième bit d'un en-tête PE associé à l'application 32 bits sélectionnée.
L'invention a également pour objet une application d'en- capsuleur pour optimiser une mémoire virtuelle disponible pour une application 32 bits sur un système de traitement d'informations ayant un système d'exploitation 64 bits, où l'encapsuleur est apte à déterminer automatiquement si une application 32 bits sélectionnée a une gestion d'adresses longues et, en réponse à la détermination que l'application 32 bits sélectionnée n'a pas une gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues associé à l'application 32 bits sélectionnée.
Selon diverses formes de mise en oeuvre subsidiaires avantageuses de cet encapsuleur: la détermination du point de savoir si une application 32 bits sélectionnée a une gestion d'adresses longues comporte l'interrogation du sixième bit d'un en-tête PE associé à l'application 32 bits sélectionnée; - l'encapsuleur est de plus apte à déterminer l'état de gestion d'adresses longues de la au moins une applica- tion 32 bits durant son utilisation initiale; - l'encapsuleur est de plus apte à déterminer l'état de gestion d'adresses longues d'une pluralité d'applications 32 bits associé à un système de traitement d'in- formations sélectionné.
La présente invention offre de nombreux avantages techniques importants. Un avantage technique consiste à fournir un encapsuleur dans un système de traitement d'informa- tions utilisant un système d'exploitation 64 bits pour déterminer si oui ou non une application 32 bits a une Gestion d'Adresses Longues. Cette détermination permet à chaque application 32 bits exécutée sur un système de traitement d'informations utilisant un système d'exploi- tation 64 bits d'être codée ou désignée en tant que Gestion d'Adresses Longues et de fournir une utilisation complète de l'espace d'adresses virtuel disponible. Des avantages supplémentaires vont mieux apparaître à l'homme du métier à partir des figures, de la description et des
revendications fournies ici.
Une compréhension plus complète et entière des présents modes de réalisation et leurs avantages peut être acquise en faisant référence à la description qui va suivre faite conjointement avec les dessins annexés, sur lesquels des références numériques analogues indiquent des caractéristiques analogues, et sur lesquels: - la figure 1 représente un système de traitement d'in-formations selon des enseignements de la présente des- cription, - la figure 2 représente un processeur et une mémoire virtuelle selon un mode de réalisation de la présente description, - la figure 3 montre un autre mode de réalisation d'un processeur d'un système de traitement d'informations et une mémoire selon un mode de réalisation de la présente description, - la figure 4 montre un ordinogramme d'un procédé selon des enseignements de la présente description, - la figure 5 montre une image de l'intérieur de la mémoire selon des enseignements de la présente description, et - la figure 6 montre une image d'Exécutable Portable (PE) selon des enseignements de la présente description. 25 Des modes de réalisation préférés de l'invention et ses avantages sont mieux compris en faisant référence aux figures 1 à 6 sur lesquelles des références numériques analogues font référence à des parties analogues et corres- pondantes et des noms d'éléments analogues à des éléments analogues et correspondants.
Dans le but de cette description, un système de traite-ment d'informations peut inclure tout dispositif ou en-semble de dispositifs opérationnels pour calculer, clas- ser, traiter, transmettre, recevoir, récupérer, émettre, commuter, mémoriser, afficher, manifester, détecter, en-registrer, reproduire, traiter, ou utiliser toute forme d'informations, d'intelligence, ou données à des fins commerciales, scientifiques, de commande ou autres. Par exemple, un système de traitement d'informations peut être un ordinateur individuel, un dispositif de mémorisation de réseau, ou tout autre dispositif adapté et peut varier en taille, forme, performance, fonctionnalité, et prix. Le système de traitement d'informations peut in- clure une mémoire à accès direct (RAM), une ou plusieurs ressources de traitement telles qu'une unité centrale de traitement (CPU) ou une logique de commande matérielle ou logicielle, une mémoire à lecture seule (ROM) et/ou d'autres types de mémoire non volatile. Des composants sup- plémentaires du système de traitement d'informations peu-vent inclure une ou plusieurs unités de disque, un ou plusieurs ports réseau pour communiquer avec des dispositifs externes ainsi que divers périphériques d'entrée/sortie (E/S), tels qu'un clavier, une souris, et un afficheur vidéo. Le système de traitement d'informations peut également inclure un ou plusieurs bus opérationnels pour transmettre des communications entre les divers composants matériels.
En faisant référence maintenant à la figure 1, on repré- sente un système de traitement d'informations selon la présente description, indiqué d'une manière générale par la référence numérique 100. Le système de traitement d'informations 100 inclut un processeur 110, un jeu de puces 112, un système d'entrée/sortie de base (BIOS) 114, une mémoire 116 et une unité de disque 120. Le jeu de pu-ces 112 est couplé au processeur 110, à l'unité de disque 120, au BIOS 114 et à la mémoire 116.
Le système 100 peut fonctionner en exécutant le système BIOS 114 d'un micrologiciel système (non expressément re-35 présenté) en réponse à une mise sous tension ou réinitia- lisation. Le système BIOS 114 identifie et initialise les composants du système 100 et amène un système d'exploitation 122 à s'amorcer. Le système d'exploitation 122 peut permettre à l'utilisateur du système 100 de lancer et d'exécuter une ou plusieurs applications 124 sur le système 100. Les applications 124 peuvent être mémorisées sur l'unité de disque dur 120 ou peuvent être mémorisées sur une ressource de mémorisation à distance couplée par voie de communication au système 100. Le système 100 peut être relié via un réseau à un système de traitement d'in-formations ou à des composants supplémentaires.
Dans le présent mode de réalisation, l'unité de disque dur 120 inclut le système d'exploitation 122, les applications 124 et un encapsuleur 126. Le système d'exploita- tion 122 est de préférence un système d'exploitation 64 bits qui peut également exécuter une ou plusieurs applications 32 bits. Le système d'exploitation 64 bits 122 peut être, par exemple, une Technologie Mémoire Etendue 64 (EM64T). Dans le mode de réalisation particulier, le système d'exploitation 122 comporte un soussystème Windows-32-sur-Windows-64 (WOW64) pour exécuter des applications 32 bits. L'encapsuleur 126 peut inclure de préférence un ensemble d'instructions exécutables qui peuvent être exécutées par le processeur 110 pour déterminer les caractéristiques de Gestion d'Adresses Longues d'une ou plusieurs applications 124. Dans un mode de réalisation préféré, l'encapsuleur 126 peut être intégré dans l'image en usine du système 100. L'encapsuleur 126 peut être appliqué à de multiples applications 124. Dans un autre mode de réalisation, de multiples encapsuleurs 126 peu-vent être fournis de manière à ce qu'un ou plusieurs encapsuleurs puissent être dédiés à une ou plusieurs applications particulières.
Les applications 124 incluent au moins une application 32 bits qui peut être exécutée par le système d'exploita- tion 122. Dans certains modes de réalisation, les applications 124 peuvent inclure une pluralité d'applications 32 bits qui peuvent être exécutées par le système d'exploitation 122. Les applications 124 peuvent également inclure des applications 64 bits qui peuvent être exécutées par le système d'exploitation 122. Une application de Windows 32 bits d'elle-même ne sera pas typiquement attentive à la présence du sous-système WOW64 et ne sait pas si elle s'exécute sur un système d'exploitation 32 bits, ou en mode de compatibilité sur un système d'exploitation 64 bits en utilisant un sous-système WOW64 ou un autre environnement similaire.
En faisant maintenant référence à la figure 2, un schéma représentant une CPU 110 en communication avec une mé- moire virtuelle 200 est représenté. La mémoire virtuelle 200 est une partie de mémoire 116. Dans le présent mode de réalisation, la mémoire 116 est une partie du disque dur 120. La mémoire virtuelle 200 inclut des pages 220, 230, et 240 mémorisées dans celle-ci. La mémoire vir- tuelle 200 peut recevoir des stocks de données 250 depuis la CPU 110 et peut également envoyer des charges de don-nées et des lots d'instructions 260 à la CPU 110. Dans certains modes de réalisation, la mémoire virtuelle 200 est gérée par le système d'exploitation 122.
En faisant maintenant référence à la figure 3, on représente un dessin représentant la CPU envoyant des stocks de données 250 et recevant des charges de données et des lots d'instructions 260 depuis la mémoire virtuelle 200. La mémoire virtuelle 200 est en communication avec une table de pages 210, qui à son tour est en communication avec une ressource de mémorisation 120. Dans le présent mode de réalisation, la ressource de mémorisation 120 peut être un disque dur. La table de pages 210 est opérationnelle pour envoyer des pages depuis l'unité de disque dur 120, les mémoriser dans la table de pages 210 et les transférer à la mémoire virtuelle 200. Des programmes mémorisés sur le disque dur 120 sont typiquement divisés en pages de taille fixe. Ces pages représentent la mémoire virtuelle pour ce programme. Seules les pages qui sont nécessaires sont mémorisées dans la mémoire physique. La table de pages 210 (qui peut être formée dans une mémoire, une mémoire cache ou un disque en fonction de l'implémentation) mémorise de préférence la liste de pages qui sont dans la mémoire physique et le mappage à partir de pages virtuelles en pages physiques.
En faisant maintenant référence à la figure 4, un ordinogramme représentant un procédé 300 selon les enseignements de la présente description est représenté. De préférence, le procédé 300 a lieu automatiquement sans au- cune implication d'un utilisateur ou d'un administrateur système et l'encapsuleur 126 effectue l'analyse de Gestion d'Adresses Longues durant l'utilisation initiale d'une application 32 bits sur le système 100. Le procédé 300 commence lorsque l'encapsuleur 126 est installé 310.
Dans le présent mode de réalisation, l'encapsuleur 126 est installé comme une partie des outils prévus pour être utilisés avec le système d'exploitation 64 bits. Ensuite, une application 124 est appelée par l'utilisateur 312. L'encapsuleur détermine tout d'abord si le système d'ex- ploitation est un système d'exploitation 64 bits qui peut également exécuter des applications 32 bits. Dans le pré-sent mode de réalisation, dans l'étape 314, l'encapsuleur détermine si le système d'exploitation 122 du système 100 incorpore un sous-système WOW64. Si l'application n'inclut pas de système d'exploitation WOW64, le procédé revient alors à l'étape 312 et attend que l'application suivante soit appelée.
Si le système d'exploitation est un système WOW64 316, alors les informations d'en-tête d'image de l'application exécutable 32 bits sont lues 320. Ensuite, le procédé dé- termine si l'application sélectionnée a une Gestion d'Adresses Longues 322. Si l'application a une Gestion d'Adresses Longues 326, alors le procédé revient à l'étape 312. Cependant, si l'application 32 bits sélec- tionnée n'est pas de Gestion d'Adresses Longues 324, le procédé procède à la modification de l'en-tête d'image pour établir un indicateur de Gestion d'Adresses Longues 328. Le procédé revient ensuite à l'étape 312 et attend la sélection d'une application par un utilisateur.
Dans le présent mode de réalisation préféré, des interrogations de l'encapsuleur 126 vérifieront le fichier d'image de Gestion d'Adresses Longues 554 pour déterminer si un indicateur de Gestion d'Adresses Longues a été établi pour une application sélectionnée.
En faisant maintenant référence à la figure 5, une image de Mémoire Interne est représentée et fait l'objet d'une référence généralement par la référence numérique 400. L'image de Mémoire Interne 400 est typiquement placée sur le disque dur 120 et peut être dans un Format d'Exécuta- ble Portable ou Format de Fichier d'Objet Commun (COFF). L'image de Mémoire Interne 400 inclut généralement un en-tête DOS 410, un en-tête d'exécutable portable (PE) 420, une table de section 430, une section de texte en points 440, une section de données en points 450 et d'au- tres sections 460. Dans le présent mode de réalisation, l'encapsuleur 126 détermine de préférence si une application 32 bits particulière est établie comme ayant une Gestion d'Adresses Longues en interrogeant six (6) bits de l'en-tête PE 420.
En faisant maintenant référence à la figure 6, une image d'exécutable portable standard est représentée d'une manière générale par la référence 500. L'image d'exécutable portable inclut un en-tête 512.EXE compatible MS-DOS 2.0, un identificateur OEM/informations OEM/Décalage de section d'en-tête PE 514, une table de programme de rem- placement & réallocation MS-DOS 2.0 514, un en-tête PE 516 (qui peut correspondre à l'en-tête PE 420 représenté sur la figure 5), des en-têtes de section 518 et des pages d'images 520. Les pages d'image 520 incluent des in-formations d'importation, des informations d'exportation, des informations de correction, des informations de ressource et des informations de débogage.
L'en-tête PE est représenté dans une forme étendue et inclut une machine 522, un nombre de sections 524, une es- tampille de date et heure 526, un pointeur vers une table de symboles 528, un nombre de symboles 530, une taille d'en-tête facultatif 540 et des caractéristiques 542. De plus, la section de caractéristiques 542 est étendue de manière à inclure les fichiers d'image suivants: 25 Le champ IMAGE_FILE_LARGE_ADDRESS_AWARE 554 (qui peut être également appelé l'indicateur de Gestion d'Adresses Longues) correspond au bits 6 de la section de caractéristiques 542 sous l'en-tête PE 516. Comme décrit ci-dessus, l'encapsuleur 126 peut de préférence modifier l'indicateur de Gestion d'Adresses Longues 554 d'une ap- IMAGE FILE RELOCS STRIPPED 544 IMAGE FILE EXECUTABLE IMAGE 546 IMAGE FILE LINE NUMS STRIPPED 548 IMAGE FILE LOCAL SYMS STRIPPED 550 IMAGE FILE AGGRESSIVE WS TRIM 552 IMAGE FILE LARGE ADDRESS AWARE 554 IMAGE FILE 16BIT MACHINE 556 IMAGE FILE BYTES REVERSED LO 558 IMAGE FILE 32BIT MACHINE 560 IMAGE FILE DEBUG STRIPPED 562 IMAGE FILE REMOVABLE RUN FROM SWAP 564 IMAGE FILE SYSTEM 566 IMAGE FILE DLL 568 IMAGE FILE UR SYSTEM ONLY 570 IMAGE FILE BYTES REVERSED HI 572 plication 32 bits en réponse à la détermination qu'une application 32 bits n'a pas de gestion d'adresses longues. Cette modification de l'indicateur de gestion d'adresses longues 554 améliore la performance de l'ap- plication 32 bits en tirant avantage de la capacité d'adressage virtuel supplémentaire.
Claims (20)
1. Système de traitement d'informations (100), caractérisé en ce qu'il comporte: un processeur (110) apte à supporter un système d'ex-ploitation 64 bits (122), - une ressource de mémorisation (120) en communication avec le processeur (110), le processeur (110) étant apte à gérer la ressource de mémorisation (120) en tant que mémoire virtuelle pour des applications (124) exécutées par le processeur (110), au moins une application 32 bits (124) opérationnelle pour être exécutée par le processeur (110), et un encapsuleur (126) apte à déterminer automatiquement si une application 32 bits {124) sélectionnée a une Gestion d'Adresses Longues et pour modifier un indicateur de Gestion d'Adresses Longues (554) associé à l'application 32 bits (124) sélectionnée en réponse à la détermination que l'application 32 bits (124) sé- lectionnée n'a pas de Gestion d'Adresses Longues.
2. Système de traitement d'informations (100) selon la revendication 1, caractérisé en ce que le système d'exploitation 64 bits (122) comporte un sous-système Win- dows-32-sur-Windows-64 (WOW64) apte à exécuter des appli- cations 32 bits (124).
3. Système de traitement d'informations (100) selon la revendication 1, caractérisé en ce que l'encapsuleur {126) est de plus apte à déterminer l'état de gestion d'adresses longues de la au moins une application 32 bits (124) durant son utilisation initiale.
4. Système de traitement d'informations (100) selon la revendication 1, caractérisé en ce qu'il comporte de plus une pluralité d'applications 32 bits (124).
5. Système de traitement d'informations (100) selon la revendication 4, caractérisé en ce que l'encapsuleur (126) est de plus apte à : déterminer si chaque application 32 bits (124) a une Gestion d'Adresses Longues, et en réponse à la détermination qu'au moins une application 32 bits (124) n'a pas de gestion d'adresses ion- gues, modifier un indicateur de gestion d'adresses longues (554) associé à la au moins une application 32 bits (124).
6. Système de traitement d'informations (100) selon la revendication 1, caractérisé en ce que la au moins une application 32 bits (124) est mémorisée dans une ressource de mémorisation (120) en communication avec le processeur (110).
7. Système de traitement d'informations (100) selon la revendication 6, caractérisé en ce que la ressource de mémorisation (120) constitue une unité de disque dur (120).
8. Système de traitement d'informations (100) selon la revendication 6, caractérisé en ce qu'il comporte de plus une table de pages (210) dans la mémoire (116) opérationnelle pour mémoriser des pages (220, 230, 240) récupérées à partir de la ressource de mémorisation (120).
9. Système de traitement d'informations (100) selon la revendication 6, caractérisé en ce que l'encapsuleur (126) est mémorisé dans la ressource de mémorisation (120).
10. Système de traitement d'informations (100) selon la revendication 1, caractérisé en ce que l'encapsuleur (126) est apte à interroger le sixième bit d'un en-tête PE (420) associé à l'application 32 bits (124) sélectionnée pour déterminer l'état de gestion d'adresses longues de l'application 32 bits (124).
11. Procédé caractérisé en ce qu'il comporte les étapes consistant à : fournir un encapsuleur (126) utilisable dans un système de traitement d'informations (100) apte à exécuter un système d'exploitation 64 bits (122) et ayant au moins une application 32 bits (124) opérationnelle pour être exécutée par le système d'exploitation 64 bits (122), - déterminer automatiquement, à l'aide de l'encapsuleur, si une application 32 bits (124) sélectionnée a une gestion d'adresses longues, et - en réponse à la détermination que l'application 32 bits (124) sélectionnée n'a pas de gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues (554) associé à l'application 32 bits (124) sélectionnée.
12. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus la fourniture de l'encapsuleur (126) pour l'utiliser dans un système de traitement d'in-formations (100) apte à exécuter un sous- système Windows-32-sur-Windows-64 associé au système d'exploitation 64 bits (122).
13. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus la détermination de l'état de gestion d'adresses longues de l'application 32 bits (124) sélectionnée durant son utilisation initiale.
14. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus les étapes consistant à : déterminer automatiquement, à l'aide de l'encapsuleur (126), si l'une quelconque d'une pluralité d'applica- tions 32 bits (124) a une gestion d'adresses longues, et en réponse à la détermination qu'au moins une application 32 bits (124) n'a pas de gestion d'adresses ion- gues, modifier un indicateur de gestion d'adresses longues (554) associé à au moins une application 32 bits (124).
15. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus les étapes consistant à : mémoriser la au moins une application 32 bits (124) sur une ressource de mémorisation (120) associée au système de traitement d'informations (100), et mémoriser l'encapsuleur (126) sur la ressource de mé- morisation (120).
16. Procédé selon la revendication 11, caractérisé en ce que la détermination que la au moins une application 32 bits {124) n'a pas une gestion d'adresses longues corn- porte de plus l'interrogation du sixième bit d'un en-tête PE (420) associé à l'application 32 bits (124) sélectionnée.
17. Application d'encapsuleur pour optimiser une mémoire virtuelle (200) disponible pour une application 32 bits (124) sur un système de traitement d'informations (100) ayant un système d'exploitation 64 bits (122), caractéri- sée en ce qu'elle comporte l'encapsuleur (126) apte à : déterminer automatiquement si une application 32 bits (124) sélectionnée a une gestion d'adresses longues, et en réponse à la détermination que l'application 32 bits (124) sélectionnée n'a pas une gestion d'adresses longues, modifier un indicateur de gestion d'adresses longues (554) associé à l'application 32 bits (124) sélectionnée.
18. Encapsuleur (126) selon la revendication 17, caractérisé en ce que la détermination du point de savoir si une application 32 bits (124) sélectionnée a une gestion d'adresses longues comporte l'interrogation du sixième bit d'un en-tête PE (420) associé à l'application 32 bits (124) sélectionnée.
19. Encapsuleur (126) selon la revendication 17, caractérisé en ce qu'il est de plus apte à déterminer l'état de gestion d'adresses longues de la au moins une application 32 bits (124) durant son utilisation initiale.
20. Encapsuleur (126) selon la revendication 17, caractérisé en ce qu'il est de plus apte à déterminer l'état de gestion d'adresses longues d'une pluralité d'applications 32 bits {124) associé à un système de traitement d'informations (100) sélectionné.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/147,565 US20060282606A1 (en) | 2005-06-08 | 2005-06-08 | System and method for automatically optimizing available virtual memory |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2888016A1 true FR2888016A1 (fr) | 2007-01-05 |
FR2888016B1 FR2888016B1 (fr) | 2009-09-25 |
Family
ID=36745412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0605047A Active FR2888016B1 (fr) | 2005-06-08 | 2006-06-07 | Systeme et procede d'optimisation automatique de la memoire virtuelle disponible |
Country Status (9)
Country | Link |
---|---|
US (1) | US20060282606A1 (fr) |
CN (1) | CN100444132C (fr) |
DE (1) | DE102006026474A1 (fr) |
FR (1) | FR2888016B1 (fr) |
GB (1) | GB2427050A (fr) |
HK (1) | HK1101720A1 (fr) |
IE (1) | IE20060421A1 (fr) |
SG (1) | SG128570A1 (fr) |
TW (1) | TW200710735A (fr) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8413136B2 (en) | 2009-05-08 | 2013-04-02 | Microsoft Corporation | Application virtualization |
US8788739B2 (en) * | 2009-06-29 | 2014-07-22 | Hewlett-Packard Development Company, L.P. | Hypervisor-based management of local and remote virtual memory pages |
US10242182B2 (en) * | 2009-10-23 | 2019-03-26 | Secure Vector, Llc | Computer security system and method |
US9454652B2 (en) * | 2009-10-23 | 2016-09-27 | Secure Vector, Llc | Computer security system and method |
US8775802B1 (en) | 2009-10-23 | 2014-07-08 | Secure Vector | Computer security system and method |
US8429429B1 (en) * | 2009-10-23 | 2013-04-23 | Secure Vector, Inc. | Computer security system and method |
CN105630599B (zh) * | 2014-10-28 | 2019-02-15 | 龙芯中科技术有限公司 | 基于32/64位混合操作系统的显存分配方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5826074A (en) * | 1996-11-22 | 1998-10-20 | S3 Incorporated | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register |
US6681239B1 (en) * | 1996-12-23 | 2004-01-20 | International Business Machines Corporation | Computer system having shared address space among multiple virtual address spaces |
US5899994A (en) * | 1997-06-26 | 1999-05-04 | Sun Microsystems, Inc. | Flexible translation storage buffers for virtual address translation |
US6330709B1 (en) * | 1998-03-30 | 2001-12-11 | International Business Machines Corporation | Virtual machine implementation for shared persistent objects |
US6301582B1 (en) * | 1998-03-30 | 2001-10-09 | International Business Machines Corporation | System and method for storage of shared persistent objects |
US6493816B1 (en) * | 1998-03-30 | 2002-12-10 | International Business Machines Corporation | Method and apparatus for encapsulating address translation for shared persistent virtual storage |
US6973562B1 (en) * | 2000-01-14 | 2005-12-06 | Advanced Micro Devices, Inc. | Establishing an operating mode in a processor |
US7574346B2 (en) * | 2000-10-30 | 2009-08-11 | Microsoft Corporation | Kernel emulator for non-native program modules |
US6845404B2 (en) * | 2002-02-21 | 2005-01-18 | Dell Products, L.P. | System, method and computer program product for selecting a mode of operation of a device in an information handling system |
-
2005
- 2005-06-08 US US11/147,565 patent/US20060282606A1/en not_active Abandoned
-
2006
- 2006-06-06 SG SG200603810A patent/SG128570A1/en unknown
- 2006-06-07 IE IE20060421A patent/IE20060421A1/en not_active Application Discontinuation
- 2006-06-07 GB GB0611224A patent/GB2427050A/en not_active Withdrawn
- 2006-06-07 FR FR0605047A patent/FR2888016B1/fr active Active
- 2006-06-07 DE DE102006026474A patent/DE102006026474A1/de not_active Ceased
- 2006-06-07 TW TW095120234A patent/TW200710735A/zh unknown
- 2006-06-08 CN CNB2006100879654A patent/CN100444132C/zh active Active
-
2007
- 2007-06-12 HK HK07106328.3A patent/HK1101720A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
FR2888016B1 (fr) | 2009-09-25 |
TW200710735A (en) | 2007-03-16 |
DE102006026474A1 (de) | 2007-01-25 |
GB0611224D0 (en) | 2006-07-19 |
CN100444132C (zh) | 2008-12-17 |
GB2427050A (en) | 2006-12-13 |
CN1881187A (zh) | 2006-12-20 |
IE20060421A1 (en) | 2007-01-24 |
HK1101720A1 (en) | 2007-10-26 |
US20060282606A1 (en) | 2006-12-14 |
SG128570A1 (en) | 2007-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2888016A1 (fr) | Systeme et procede d'optimisation automatique de la memoire virtuelle disponible | |
US20180287897A1 (en) | Application awareness for virtual infrastructure environments | |
US20070033322A1 (en) | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan | |
US8024433B2 (en) | Managing application resources | |
EP2791787B1 (fr) | Diffusion en mode continu de réseau autonome | |
FR2911411A1 (fr) | Systeme et procede de gestion d'objets suivant le modele cim d'informations communes | |
RU2006107184A (ru) | Способ и система для создания, хранения, управления и потребления специфичных культуре данных | |
CA2568747A1 (fr) | Acces a une memoire dans une partition logique | |
US20040109017A1 (en) | Decoupled hardware configuration manager | |
FR2860894A1 (fr) | Procede pour utiliser des indicateurs de fonction afin de determiner la compatibilite entre des revisions du bios et du materiel installe pendant une mise a jour de la memoire flash | |
FR2908002A1 (fr) | Systeme et procede de changement dynamique d'adaptateurs de protocole | |
US20200356400A1 (en) | Scalable and Secure Containers | |
US20090064189A1 (en) | Ontology driven contextual mediation | |
EP2124153A1 (fr) | Procédés et dispositif de mise en oeuvre de périphériques multifonction avec un gestionnaire de périphérique standard unique | |
EP1949228B1 (fr) | Compilation a la volee asynchrone | |
FR2873466A1 (fr) | Procede de programmation d'un controleur de dma dans un systeme sur puce et systeme sur puce associe | |
US20120284478A1 (en) | Managing storage extents and the obtaining of storage blocks within the extents | |
US11036431B2 (en) | Accessing persistent memory via load and store | |
Gkikopoulos et al. | Analysis and improvement of heterogeneous hardware support in docker images | |
KR20030037125A (ko) | 내장형 시스템을 위한 점진적 원격 로딩 장치 및 그 방법 | |
EP3791274B1 (fr) | Procédé et noeud de gestion d'une demande d'accélération de matériel au moyen d'un dispositif accélérateur. | |
US10372516B2 (en) | Message processing | |
CN117009308B (zh) | 基于兼容层的可执行文件加载方法及系统 | |
US11500747B2 (en) | Computer initialization debug message display system | |
US20070094001A1 (en) | Method and system for non-intrusive code coverage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |