FR2837294A1 - Dispositif pour accelerer l'interpretation d'un programme en langage interprete - Google Patents

Dispositif pour accelerer l'interpretation d'un programme en langage interprete Download PDF

Info

Publication number
FR2837294A1
FR2837294A1 FR0203075A FR0203075A FR2837294A1 FR 2837294 A1 FR2837294 A1 FR 2837294A1 FR 0203075 A FR0203075 A FR 0203075A FR 0203075 A FR0203075 A FR 0203075A FR 2837294 A1 FR2837294 A1 FR 2837294A1
Authority
FR
France
Prior art keywords
intermediate code
program
interpretation
virtual machine
interpreted language
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.)
Withdrawn
Application number
FR0203075A
Other languages
English (en)
Inventor
Yedder Selim Ben
Ludovik Davidovic
Menno Lindwer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to FR0203075A priority Critical patent/FR2837294A1/fr
Priority to CN03805709.3A priority patent/CN1290011C/zh
Priority to EP03706807A priority patent/EP1485803A1/fr
Priority to JP2003575275A priority patent/JP2005520236A/ja
Priority to US10/506,831 priority patent/US20050125790A1/en
Priority to PCT/IB2003/000881 priority patent/WO2003077126A1/fr
Priority to AU2003208515A priority patent/AU2003208515A1/en
Publication of FR2837294A1 publication Critical patent/FR2837294A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

La présente invention conoeme un dispositif (10) pour accélérer l'interprétation d'un programme en langage interprété, ledit programme comprenant un code intermédiaire exécutable par une machine virtuelle et étant exécuté sous forme de tâches successives, ledit dispositif comprenant des moyens d'acheminement (13) aptes à extraire un code intermédiaire courant d'une mémoire (11) pour le charger dans des moyens de stockage (16). Lors d'une requête de changement de tâches, les moyens d'acheminement (13) sont aptes à inhiber l'extraction du code intermédiaire courant et à charger dans les moyens de stockage (16) un code intermédiaire réservé destiné à effectuer une sauvegarde d'un contexte de la machine virtuelle.

Description

reference dans la base de donnees (52).
DESCRIP I ION
Domaine technique de ['invention La presente invention concerne un dispositif pour accelerer ['interpretation d'un programme en langage interprete, ledit programme comprenant un code intermediaire executable par une machine virtuelle et etant execute sous forme de taches successives, ledit dispositif comprenant des moyens d'acheminement apses a extraire un code
intermediaire courant d'une memoire pour le charger dans des moyens de stockage.
Wile trouve notamment son application dans les langages de programmation portables, de type lAVA par exemple, et plus particulierement dans ['interpretation et
['execution de tels langages de programmation.
Un tel dispositif peut etre integre dans des recepteurs-decodeurs de television numerique (en anglais 'set-top-boxes'), des telephones mobiles ou tout autre appareii apte a
executer des programmes ecrits dans un tel langage de programmation.
Etat de la technique anterieure Le langage JAVA est un langage de programmation dit interprete. Son principal avantage est d'etre entierement portable ou multi-plateforme, un programme ecrit dans un tel langage pouvant etre execute dans un environnement autre que celui pour lequel il a ete congu. Une des raisons de son succes est sa possibilite d'insertion au sein d'une page html (en anglais'HyperText Markup Language') sous forme d'une application executable (en
anglais'applet') par le biais d'une machine virtuelle.
Un programme en langage JAVA est apte a generer un code intermediaire (en anglais tbytecode') entre le code source et le code binaire executable. Le code intermediaire est execute gr3ce a une machine virtuelle. Ce code intermediaire n'est done pas directement comprehensible par le processeur, ce qui peut provoquer certaines lenteurs dans ['execution
du programme.
Des dispositifs permettant d'accelerer le traitement des machines virtuelles de maniere a interpreter plus rapidement du code intermediaire vent connus de l'etat de la technique anterieure. La demande de brevet PCT WO/9918484 decrit un tel dispositif appeie interpreteur pour machine virtuelle. Un interpreteur pour machine virtuelle est generalement un preprocesseur, place entre une memoire contenant du code intermediaire et un processeur, qui permet de traduire le code intermediaire en un jeu dinstructions executables
par le processeur.
Dans un tel environnement, un changement de t3ches, d'une tache JAVA presente vers une nouvelle tache JAVA=, peut se produire a un instant arbitraire, et notamment au cours de la traduction d'un code intermediaire. De maniere conventionneile, les t3ches vent gerees par un systeme d'exploitation et le systeme d'exploitation amene le processeur a sauvegarder son etat propre ainsi que l'etat de tout element materiel (en anglais 'hardware') concerne, comme celui de l'interpreteur pour machine virtuelle dans notre cas, lors d'un
changement de taches. Cette sauvegarde est effectuee a partir d'une routine de sauvegarde.
Ainsi, lors d'un changement de fiches, un ensemble de registres, representant l'etat de l'interpreteur pour machine virtuelle et lietat diun processeur a ['instant de changement de taches, est sauvegarde de maniere a etre restaure ulterieurement afin de representer l'etat
de la nouvelle t3che JAVA_.
Or, les routines de sauvegarde permettant de sauvegarder les etats d'elements materiels peuvent prendre des centaines de cycles d'horloge, c'est-a-dire des dizaines de millisecondes, par changement de taches. Une telle operation presente done ['inconvenient
d'etre particulierement lente.
Expose de ['invention La presente invention a pour but de proposer un dispositif pour accelerer ['interpretation d'un programme en langage interprete, qui soit plus rapide que ltetat de la
technique anterieure lors d'un changement de taches.
A cet effet, ledit dispositif est remarquable en ce qu'il comprend des moyens d'acheminement qui vent apses a inhiber ['extraction du code intermediaire courant et a charger dans les moyens de stockage un code intermediaire reserve destine a effectuer une sauvegarde d'un contexte de la machine virtuelle, lors d'une requete de changement de taches. Ainsi, le dispositif pour accelerer 11nterpretation d'un prog ram me en langage interprete est apte a assurer lui-meme un changement de taches, a la place du systeme d'exploitation. Pour cela, il utllise un code objet reserve qui permet de ne sauvegarder qu'un contexte de la machine virtuelle, ledit contexte comprenant certains parametres, comme un indicateur de pile par exemple (en anglais 'stack pointer'), qui seront utiles lors du traitement
du prochain code intermediaire courant apres le changement de taches.
Un tel mecanisme permet en outre de traiter les codes intermediaires de fason continue, sans interrompre le traitement d'un code intermediaire courant, et done de faire un changement de taches dans un etat stable du systeme d'exploitation. Ainsi, il ntest plus necessaire de sauvegarder les registres du dispositif pour accelerer ['interpretation du langage interprete et du processeur, contrairement a ce qui etait fait dans l'etat de la
technique anterieure.
La presente invention concerne egalement un appareil apte a executer un programme selon un langage interprete et comprenant le dispositif pour accelerer
['interpretation du langage interprete.
Breve description des dessins
Ces aspects de ['invention ainsi que d'autres aspects plus detailles apparatront plus
clairement grace a la description suivante de plusieurs modes de realisation de ['invention,
donnes a titre d'exemples non limitatifs et en regard des dessins annexes parmi lesquels: - la Fig. 1 represente un premier mode de realisation de ['invention ou un nombre predetermine de codes intermediaires est execute entre deux changements de thches, et - la Fig. 2 represente un second mode de realisation de ['invention ou un delai
predetermine s'ecoule entre deux changements de taches.
Expose detaille d'au moins un mode de realisation de ['invention La presente invention a ete developpee dans le cadre de la conception d'un interpreteur pour machine virtuelle permettant d'accelerer ['interpretation du langage JAVA_. Il apparaA'tra cependant a l'homme du metier qutelle est applicable a d'autres langages de programmation a partir du moment ou ils vent apses a generer un code intermediaire entre le code source et le code binaire executable, iedit code intermediaire devant etre interprete afin d'etre execute par un processeur. Il peut s'agir, par exemple, du
langage LISP ou du langage C# de Windows XP.
Un code intermediaire JAVATM comprend une mnemonique, correspondent par exemple a une instruction de type addition ou soustraction, et eventuellement un ou piusieurs operandes, correspondent a un argument de type constante par exemple. Une mnemonique est codee sur 8 bits, et les 256 mnemoniques ainsi autorisees ne vent pas toutes utilisees. Il reste done certains codes intermediaires qui peuvent etre reserves par la machine virtuelle JAVA_ pour un usage interne. Ces codes intermediaires reserves ne peuvent etre utilises par la suite pour un autre usage. La presente invention propose d'utiliser un de ces codes intermediaires reserves afin de gerer un changement de t3ches
JAVA_.
De plus, l'interpreteur pour machine virtuelle est apte a assurer luimeme un changement de taches JAVA_, a la place du systeme d'exploitation. Ainsi, lors d'un changement de taches, il est apte a remplacer un code intermediaire courant par le code intermediaire reserve. L'execution du code intermediaire reserve genere un appel de fonction permettant a un logiciel de gestion temporelle de taches (en anglais 'scheduler') de sauvegarder un contexte de la machine virtuelle, correspondent generalement a un ensemble de parametres comprenant un indicateur de pile, un indicateur global (en anglais global pointer'), un compteur de programme (en anglais 'program counter') et un indicateur de structure JAVA_ (en anglais']AVATM frame pointer'). Ces parametres vent ensuite
restaures lors de ltexecution du prochain code intermediaire courant.
Ainsi, le temps de latence du au changement de taches se trouve reduit, et permet
une execution du code intermediaire sans interruption.
Dans un premier mode de realisation, illustre a la Fig. 1, l'interpreteur pour machine virtuelle VMI (10) permet d'etablir une correspondence (en anglais'to map') entre une tra nche de tem ps (en angla is 'time slice') et un temps d'execution d'un nom bre predetermine
n de codes intermediaires courants entre deux changements de taches successifs.
Pour cela, l'interpreteur pour machine virtuelle VMI (10) comprend un compteur BCC (12) de codes intermediaires courants, apte a indiquer a un circuit de controle CONT (14) une adresse d'une memoire MEM (11), ladite adresse correspondent a un code intermediaire courant a extraire de ladite memoire pour le charger dans un registre BCREG(16) de code intermediaire. L'interpreteur pour machine virtuelle VMI(10) comprend des moyens d'acheminement (13), lesdits moyens comportant, outre le circuit de contr81e CONT (14), un compteur d'acheminement COUN (21) dont la valeur initiale predeterminee n, correspondent au nombre de codes intermediaires a executer entre deux changements de t3ches, est
initialement chargee via un registre REG (22).
Le circuit de controle CONT (14) vient incrementer le compteur BCC (12) apres un traitement d'un code intermediaire courant, afin de pouvoir pointer sur le prochain code intermediaire courant. A chaque fois qu'un code intermediaire courant est achemine de la memoire MEM (11) vers le registre BCREG(16), le circuit de controle CONT (14) vient
egalement decrementer le compteur d'acheminement COUN (21).
Quand le nombre de codes intermediaires courants achemines est plus grand que la valeur initiale predeterminee n, i.e. Ie compteur d'acheminement COUN (21) a pour valeur zero, le compteur BCC(12) n'est pas incremente par le circuit de controle CONT (14), et un code intermediaire courant est remplace par un code intermediaire reserve appele 'software trap bytecode'et extrait d'un registre swr (23) par le circuit de controte CONT (14) afin d'etre charge dans le registre BCREG (16). Une porte (15) realisant la fonction tou'symbolise le fait que le registre BCREG(16) soit apte a recevoir, soit un code intermediaire courant dans le cas general, soit un code intermediaire reserve lors d'un changement de taches. Ce code intermediaire reserve est apte a generer un appel de fonction permettant de sauvegarder et de restaurer un contexte de la machine virtuelle pour le traitement du
prochain code intermediaire courant.
L'interpreteur pour machine virtuelle comprend egaiement un module de traduction TRAN (17) des codes intermediaires courants fonctionnant selon un principe connu de l'homme du metier et faisant notamment appel a des tables de traduction. Le code issu du module de traduction TRAN (17) est ensuite transmis a un processeur PROC (18), soit sous forme de code executable, soit sous forme de code intermediaire reserve apte a generer la sauvegarde. Ainsi, l'interpreteur pour machine virtuelle VMI (10) selon ['invention fonctionne sans interruption et un nombre predetermine de codes intermediaires est execute entre deux
changements de taches JAVA_ successifs.
Dans un second mode de realisation, illustre a la Fig. 2, l'interpreteur pour machine virtuelle VMI (10) est apte a gerer ['execution de codes intermediaires courants a llnterieur d'une tranche de temps de duree predeterminee egale a une duree fixe a laquelle s'ajoute un laps de temps correspondent a la fin de ['execution du dernier code intermediaire courant. Pour cela, ledit interpreteur comprend un registre d/interruption INREG (24) apte a recevoir une interruption d'une horloge (19) externe ou interne. Lorsqu'une interruption correspondent a une requete de changement de taches est demandee, le registre d'interruption INREG (24) est active par l'horloge (9). Lors du traitement du prochain code intermediaire, le circuit de controle CONT (14) ne va alors pas incrementer le compteur BCC (12) et un code intermediaire courant est remplace par un code intermediaire reserve extrait d'un registre SWT (23) par le circuit de contffile CONT (14). Le registre BCREG (16) resoit ainsi le code intermediaire reserve a la place d'un code intermediaire courant, ce code intermediaire reserve etant apte a generer un appel de fonction permettant de sauvegarder
un contexte de la machine virtuelle.
L'interpreteur pour machine virtuelle VMI (10) tel que decrit dans les deux modes de realisation peut etre incorpore dans un circuit integre programmable, par exempie un circuit
de type FPGA (en anglais 'Field Programmable Gate Array').
Un tei interpreteur pour machine virtuelle peut etre integre dans des decodeurs video, des recepteurs-decodeurs de television numerique, des posses de television, des telephones mobiles, des assistants numeriques personnels ou tout autre appareil apte a
execute r des prog ra mmes ecrits en la ngage JAVA_ ou da ns tout a utre la ngage i nterprete.
Aucun signe de reference entre parentheses dans le present texte ne doit etre interprete de fagon limitative. Le verbe "comprendre" et ses conjugaisons dolvent egalement etre interpretes de fason large, c'est-adire comme n'excluant pas la presence non seulement d'autres elements ou etapes que ceux listes apres iedit verbe, mais aussi d'une pluralite d'elements ou d'etapes deja listes apres ledit verbe et precedes du mot "un" ou unell.

Claims (4)

REVEN DICA1IONS
1. Dispositif (10) pour accelerer ['interpretation d'un programme en langage interprete, ledit programme comprenant un code intermediaire executable par une machine virtuelle et etant execute sous forme de taches successives, ledit dispositif comprenant des moyens d'acheminement (13) apses a extraire un code intermediaire courant d'une memoire (11) pour le charger dans des moyens de stockage (16) cara*erise en ce que les moyens d'acheminement (13) vent apses a inhiber ['extraction du code intermediaire courant et a charger dans les moyens de stockage (16) un code intermediaire reserve destine a effectuer - 10 une sauvegarde d'un contexte de la machine virtuelle, lors d'une requete de changement de taches.
2. Dispositif (10) pour accelerer ['interpretation d'un programme en langage interprete selon la revendication 1, caracterise en ce que les moyens d'acheminement (13) comprennent un compteur d'acheminement (21) initialise a une valeur predeterminee correspondent au nombre de codes intermediaires courants a traiter entre deux changements de taches successifs et decremente a chaque fois qutun code intermediaire courant est extrait de la memoire (11), le code intermediaire reserve etant charge dans les
moyens de stockage (16) lorsque le compteur d'acheminement (21) a pour valeur zero.
3. Dispositif (10) pour accelerer ['interpretation d'un programme en langage interprete selon la revendication 1, caracterise en ce que les moyens d'acheminement (13) comprennent un registre d/interruption (24) apte a etre active lors d'une requete de changement de taches de sorte que le code intermediaire reserve soit charge dans les
moyens de stockage (16).
4. Appareil apte a executer des programmes selon un langage interprete et
comprenant un dispositif selon l'une des revendications 1 a 3 pour accelerer ['interpretation
du langage interprete.
FR0203075A 2002-03-12 2002-03-12 Dispositif pour accelerer l'interpretation d'un programme en langage interprete Withdrawn FR2837294A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FR0203075A FR2837294A1 (fr) 2002-03-12 2002-03-12 Dispositif pour accelerer l'interpretation d'un programme en langage interprete
CN03805709.3A CN1290011C (zh) 2002-03-12 2003-03-03 用于加速解释用解释性语言写的程序的设备
EP03706807A EP1485803A1 (fr) 2002-03-12 2003-03-03 Dispositif pour accelerer l'interpretation d'un programme ecrit dans un langage interprete
JP2003575275A JP2005520236A (ja) 2002-03-12 2003-03-03 インタプリタ言語で書かれたプログラムの解釈の速さを増すための装置
US10/506,831 US20050125790A1 (en) 2002-03-12 2003-03-03 Device for accelerating the interpretation of a program written in an interpreted language
PCT/IB2003/000881 WO2003077126A1 (fr) 2002-03-12 2003-03-03 Dispositif pour accelerer l'interpretation d'un programme ecrit dans un langage interprete
AU2003208515A AU2003208515A1 (en) 2002-03-12 2003-03-03 A device for accelerating the interpretation of a program written in an interpreted language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0203075A FR2837294A1 (fr) 2002-03-12 2002-03-12 Dispositif pour accelerer l'interpretation d'un programme en langage interprete

Publications (1)

Publication Number Publication Date
FR2837294A1 true FR2837294A1 (fr) 2003-09-19

Family

ID=27772062

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0203075A Withdrawn FR2837294A1 (fr) 2002-03-12 2002-03-12 Dispositif pour accelerer l'interpretation d'un programme en langage interprete

Country Status (7)

Country Link
US (1) US20050125790A1 (fr)
EP (1) EP1485803A1 (fr)
JP (1) JP2005520236A (fr)
CN (1) CN1290011C (fr)
AU (1) AU2003208515A1 (fr)
FR (1) FR2837294A1 (fr)
WO (1) WO2003077126A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747989B1 (en) 2002-08-12 2010-06-29 Mips Technologies, Inc. Virtual machine coprocessor facilitating dynamic compilation
US7030536B2 (en) * 2003-12-29 2006-04-18 General Electric Company Micromachined ultrasonic transducer cells having compliant support structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292883B1 (en) * 1997-10-02 2001-09-18 U.S. Philips Corporation Converting program-specific virtual machine instructions into variable instruction set
US6298434B1 (en) * 1997-10-02 2001-10-02 U.S. Philips Corporation Data processing device for processing virtual machine instructions

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802373A (en) * 1996-01-29 1998-09-01 Digital Equipment Corporation Method for providing a pipeline interpreter for a variable length instruction set
US6094528A (en) * 1996-10-24 2000-07-25 Sun Microsystems, Inc. Method and apparatus for system building with a transactional interpreter
US6308318B2 (en) * 1998-10-07 2001-10-23 Hewlett-Packard Company Method and apparatus for handling asynchronous exceptions in a dynamic translation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292883B1 (en) * 1997-10-02 2001-09-18 U.S. Philips Corporation Converting program-specific virtual machine instructions into variable instruction set
US6298434B1 (en) * 1997-10-02 2001-10-02 U.S. Philips Corporation Data processing device for processing virtual machine instructions

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MANN D: "SPEED SYSTEM OPERATION BY MATCHING CPU TO NEED", ELECTRONIC DESIGN, PENTON PUBLISHING, CLEVELAND, OH, US, vol. 40, no. 22, 2 November 1992 (1992-11-02), pages 44,46,48,50,, XP000320265, ISSN: 0013-4872 *
MUIR A: "Silicon based Java", MICRO JAVA NETWORK, 24 October 2001 (2001-10-24), XP002229533, Retrieved from the Internet <URL:http://www.microjava.com/jvm/hardware/native/ajile2> [retrieved on 20030131] *
O'CONNOR J-M ET AL: "PICOJAVA -I: THE JAVA VIRTUAL MACHINE IN HARDWARE", IEEE MICRO, IEEE INC. NEW YORK, US, vol. 17, no. 2, 1 March 1997 (1997-03-01), pages 45 - 53, XP000686468, ISSN: 0272-1732 *

Also Published As

Publication number Publication date
CN1290011C (zh) 2006-12-13
US20050125790A1 (en) 2005-06-09
AU2003208515A1 (en) 2003-09-22
JP2005520236A (ja) 2005-07-07
CN1639685A (zh) 2005-07-13
WO2003077126A1 (fr) 2003-09-18
EP1485803A1 (fr) 2004-12-15

Similar Documents

Publication Publication Date Title
EP2641168B1 (fr) Procédé d&#39;approvisionnement de microprogramme dans un environnement de services sans système d&#39;exploitation (os)
US8418139B2 (en) System and method for updating initialization parameters for application software from within a software development environment
US7073053B1 (en) Method and apparatus for a boot progression scheme for reliably initializing a system
US9489029B2 (en) Operating system independent network event handling
US20170161493A1 (en) Executing Native-Code Applications in a Browser
EP1914630A1 (fr) Procédé et système pour gérer des exécutables à bibliothèques partagées
CN109194606B (zh) 攻击检测系统、方法、计算机设备及存储介质
WO2006055445A2 (fr) Transmission en continu locale/distante hybride
WO2011036377A1 (fr) Systeme et procede de gestion de l&#39;execution entrelacee de fils d&#39;instructions
CN104866293B (zh) 一种对Android应用程序扩展功能的方法及装置
JP5391918B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
EP1619590A1 (fr) Procédé de programmation d&#39;un controleur de DMA dans un système sur puce et système sur puce associé
EP3113019A1 (fr) Compression d&#39;un code machine à base de règles générées par une machine virtuelle
FR2837294A1 (fr) Dispositif pour accelerer l&#39;interpretation d&#39;un programme en langage interprete
FR2805371A1 (fr) Emulation logicielle transparente comme alternative au blocage de bus materiel
WO2013139015A1 (fr) Systèmes et procédés de traitement d&#39;émulation hybride et de fonction noyau
CN114490270A (zh) 数据采集方法和装置
Bhatia et al. Remote customization of systems code for embedded devices
EP2031512B1 (fr) Gestionnaire de processus amélioré
Elphinstone et al. Lazy queueing and direct process switch—merit or myths?
CN104620563B (zh) 一种用于减少计算设备的网络使用的方法和系统
US8055888B2 (en) Initialisation of a pipelined processor
CN115225718A (zh) 安卓系统的网络请求数据获取方法及相关装置
CN115688098A (zh) 一种基于代码分析的链路展示方法、装置以及设备
Troelsen Processes, AppDomains, Contexts, and CLR Hosts

Legal Events

Date Code Title Description
ST Notification of lapse