FR2587518A1 - Systeme de machine virtuelle pour le traitement d'exceptions ou d'interruptions - Google Patents

Systeme de machine virtuelle pour le traitement d'exceptions ou d'interruptions Download PDF

Info

Publication number
FR2587518A1
FR2587518A1 FR8613072A FR8613072A FR2587518A1 FR 2587518 A1 FR2587518 A1 FR 2587518A1 FR 8613072 A FR8613072 A FR 8613072A FR 8613072 A FR8613072 A FR 8613072A FR 2587518 A1 FR2587518 A1 FR 2587518A1
Authority
FR
France
Prior art keywords
execution
mode
processing unit
saving
control program
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
Application number
FR8613072A
Other languages
English (en)
Other versions
FR2587518B1 (fr
Inventor
Hisao Takane
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of FR2587518A1 publication Critical patent/FR2587518A1/fr
Application granted granted Critical
Publication of FR2587518B1 publication Critical patent/FR2587518B1/fr
Expired 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/45533Hypervisors; Virtual machine monitors
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

SELON L'INVENTION, ON PREVOIT UN SYSTEME DE MACHINE VIRTUELLE COMPORTANT UN PROGRAMME DE COMMANDE 13 POUR COMMANDER L'EXECUTION D'UNE MULTITUDE DE SYSTEMES D'EXPLOITATION 12 SUR UN SYSTEME INFORMATIQUE COMPRENANT UNE MEMOIRE PRINCIPALE 3 POUR L'EXECUTION D'UN PROCESSUS PREDETERMINE A UNE INSTRUCTION SPECIFIQUE; CELLE-CI COMPRENANT UNE ETAPE D'INSTAURATION DE MODE POUR INSTAURER UN MODE SE AFIN D'EXECUTER L'UN DES SYSTEMES D'EXPLOITATION DANS L'UNITE DE TRAITEMENT INFORMATIQUE 1; UNE ETAPE DE JUGEMENT POUR JUGER SI OUI OU NON LA VALEUR DE LA ZONE DRAPEAU DE L'INSTRUCTION SPECIFIQUE A UNE VALEUR PRESCRITE; UNE ETAPE DE SAUVEGARDE POUR SAUVEGARDER LES CONTENUS DE REGISTRES 14 DANS L'UNITE DE TRAITEMENT INFORMATIQUE DANS UNE SECONDE ZONE DE SAUVEGARDE 32 COMMANDEE PAR LEDIT SYSTEME D'EXPLOITATION EN REPONSE A L'IDENTIFICATION AVEC LA VALEUR PRESCRITE A L'ETAPE DE JUGEMENT; ET UNE ETAPE POUR DEMARRER L'EXECUTION DUDIT SYSTEME D'EXPLOITATION APRES SAUVEGARDE A LADITE ETAPE DE SAUVEGARDE OU EN REPONSE A L'IDENTIFICATION AVEC UNE VALEUR AUTRE QUE LA VALEUR PRESCRITE A L'ETAPE DE JUGEMENT.

Description

La présente invention-concerne un système-de machine virtuelle pour traiter des exceptions ou des interruptions se produisant en cours de l'exécution d'un programme de système d'exploitation.
En général, dans un système de machine virtuelle, l'exécution directe de toutes les instructions par le système d'exploitation (SE) n'est pas permise. Par conséquent, lorsqu'une instruction privilégiée, telle qu'une instruction permettant de désigner une opération d'entréejsortie, doit être exécutée, il est nécessaire de simuler avec un programme de commande l'opération désignée par l'instruction privilégiée, ce qui se traduit par une interruption dans le programme de commande provenant du système SE. Par ailleurs, la commande temporaire est effectuée sous le programme de commande pour une interruption à l'issue de l'opération d'en tréejs#rtie, l'exécution d'une instruction indéfinie, ou le traitement d'une exception de programme due à un débordement, se traduisant par une interruption dans le programme de commande provenant du système d'exploitation.Pour un système de machine virtuelle, on propose un procédé pour ramener la commande au système d'exploitation après l'exécution de la simulation par le programme de commande. On trouvera des détails de ce procédé dans un article de P.H. Gum ayant pour titre : "Systemy370 Extended Architecture : Facilities for Virtual Machines" (Architecture étendue du sys tème/370 :installations pour machines virtuelles) publié dans le numéro de novembre de 1'IBM Journal of Research & Development, Vol. 27, n0 6, pp. 530-544.
Cependant, cet article ne propose rien de spécifique sur l'endroit et le programme devant sauvegarder 11 état de l'unité de traitement informatique, sur ce qui récupère rz 1'inòrmation sauLvegardée après 1'exécution de la simulation par le programme de commande et sur ce qui se chargera ensuite de la commande.
Par conséquent, la présente invention a pour objet un système de machine virtuelle, qui réduira le temps système du programme de commande et améliorera les performances du système.
Selon la présente invention, on prévoit un système de machine virtuelle comprenant un programme de commande pour commander l'exécution d'une multitude de systèmes d'exploitation (SE) sur un système informatique comportant une mémoire centrale et pour exécuter un processus prédéterminé à une instruction spécifique.
L'instruction spécifique concernant l'exécution du processus prédéterminé comprend : une étape de stockage pour stocker les données d'une première zone de sauvegarde commandée par le programme de commande dans un registre de l'unité de traitement informatique;
- une étape d'instauration de mode pour instaurer un mode SE afin d'exécuter l'un des SE dans l'unité de traitement informatique;
- une étape de jugement afin de déterminer si oui ou non la valeur du champ de référence de l'instruction spécifique est une valeur prescrite;
- une étape de sauvegarde afin de sauvegarder les contenus de registres dans l'unité de traitement informatique dans une seconde zone de sauvegarde commandée par ledit SE en réponse à une identification avec la valeur prescrite à l'étape de jugement; et
- une étape pour démarrer l'exécution du SE après sauvegarde à l'étape de sauvegarde ou en réponse à l'identification avec une valeur autre que la valeur prescrite à l'étape de jugement.
La présente invention sera bien comprise lors de la description suivante faite en liaison avec les dessins cijoints dans lesquels-:
La figure 1 est un schéma sous forme de blocs d'un mode de réalisation préféré de la présente invention;
La figure 2 illustre la structure du logiciel à la base du mode de réalisation; et
La figure 3 illustre la relation entre un système d'exploitation 12, un programme de commande 13 et des instructions de mode en système d'exploitation de machine virtuelle pour démarrage < SEMVD) dans le présent mode de réalisation.
En figures l à 3, les mêmes numéros de référence représentent , respectivement, les mêmes éléments de la structure.
En liaison avec la figure 2, dans le logiciel utilisé dans un mode de réalisation de la présente invention,soit un programme de commande (PC) soit un travail (job) est exécuté sous la commande d'un système d'exploitation principal (SEP).
Une multitude de systèmes d'exploitation asservis (SEA) sont exécutés sous ce programme de commande PC. Un travail (job) est exécuté sous la commande de chacun des systèmes d'exploitation asservis SEA. Ainsi, le logiciel utilisé dans ce mode de réalisation présente une structure multi-niveau.
En liaison maintenant avec la figure 1, le mode de réalisation de la présente invention comprend une unité centrale 1 (UC), un moyen 2 d'accès en mémoire (Mk4) et une mémoire principale (MP) 3. L'unité centrale 1 comprend en outre un registre de mode 11, (RM), des registres 14 pour stocker l'information d'état de l'unité centrale 1 et un registre d'instructions 15. Un système d'exploitation 12 (SE) de l'unité centrale 1 est exécuté dans un mode SE chargé dans le registre de mode 11. En outre, un programme de commande 13 APC) de lfunitF-cenLra-le 1 est exécuté dans un mode PC chargé dans le registre de mode 11.
La mémoire principale 3 comporte au moins une première zone de sauvegarde 31 ou une seconde zone de sauvegarde 32. Bien qu'en figure 1 on ait seulement représenté une unité centrale 1 afin de simplifier la description, s'il y a n unités centrales de traitement (n > 2), la mémoire principale 3 comportera n premières zones de sauvegarde 31 et n secondes zones de sauvegarde 32. La première zone de sauvegarde 31 est commandée par le programme de commande 13, alors que la seconde zone de sauvegarde 32 l'est par le système d'exploitation 12. L'information d'état de l'unité centrale 1 stockée dans le groupe de registres 14 est entrée dans les première et seconde zones de sauvegarde 31 et 32 via le moyen 2 d'accès en mémoire.Dans l'unité centrale 1 en réponse à la désignation du mode par le contenu du registre de mode 11 et à une instruction chargée dans le registre d'instructions 15, soit le système d'exploitation 12 soit le programme de commande 13 est exécuté alors qu'il y a accès à la mémoire principale 3 par le moyen 2 d'accès en mémoire.
En liaison maintenant avec la figure 1 ainsi qu'avec la figure 3, dans le mode de réalisation préféré de la présente invention, pendant l'exécution d'un travail par l'unité centrale 1 sous la commande du système d'exploitation 12, l'unité 1 passe du mode SE au mode PC en réponse à la génération d'une exception de programme ou d'une interruption, et démarre l'exécution du programme de commande 13. Conformément à ce programme 13, il y a exécution d'une simulation de l'exception de programme ou de l'interruption. Après llexécu- tion de cette simulation, une instruction de mode en système d'exploitation de machine virtuelle pour démarrage (SEMVD) est exécutée.Cette instruction de mode SEMVD, qui est une instruction permettant de démarrer l'exécution du système d'exploitation 12 dans le système de machine virtuelle, comporte une zone de code d'opération et une zone drapeau.
Lorsque la commande passe du programme de commande 13 au système d'exploitation 12, il peut être spécifié selon le contenu de la zone drapeau Si le reste du travail précédemment effectué doit être pris en charge pour que son exécution soit poursuivie immédiatement ou pour que l'exécution soit reprise à l'issue de l'exécution du traitement de l'exception de programme ou de l'interruption.
On décrira maintenant en détail le fonctionnement du mode de réalisation préféré de la présente invention en liaison avec la figure 1.
Tout d'abord, dans l'unité centrale 1, le mode SE es instauré dans le registre de mode 11, et un travail est exécuté dans le bloc 121 sous la commande du système d'exploitation 12. Alors, soit un programme d'exception, soit une inter ruption se produit dans le bloc 122. En réponse à cette occurrence, dans le bloc 123, l'information d'état de l'unité centrale 1 est sortie du groupe de registres 14 et sauvegardée via le moyen 2 d'accès en mémoire dans la première zone de sauvegarde 31, qui est accessible pour le programme de commande 13. Ensuite, dans le bloc 124, le contenu du registre de mode Il est modifié pour passer du mode SE au mode PC, et la commande est transmise au programme 13 (PC).
Le programme de commande 13, tout d'abord dans le bloc 131, exécute la simulation d'une exception de programme ou d'une interruption. Après les exécutions de cette simulation, l'instruction SEMVD en provenance du registre d'instructions 15 est exécutée par la commande de commande 13 dans les blocs 132 à 136. Lorsqu'une instruction qui ne peut être exécutée sous la commande du système d'exploitation 12 doit être exécutée par le programme de commande 13, "00" est désigné pour la zone drapeau de l'instruction SEMVD. Dans tous les autres cas, "IX",c'est-à-dire soit 11 soit 10 est désigné comme zone drapeau. A l'instruction SEMVD, dans le bloc 132, l'information d'état de la première zone de sauvegarde 31 est chargée dans le groupe de registres 14 via le moyen 2 d'accès en mémoire.Ensuite, dans le bloc 133, le contenu du registre de mode 11 est modifié pour passer du mode PC au mode SE . Alors, dans le bloc 134, il est jugé si oui ou non le contenu de la zone drapeau de l'instruction
SEMVD est l100ll, Si le contenu de cette zone est "ou", la commande passera au bloc 136 dans lequel le système d'exploitation 12 est actionné en conformité avec le contenu chargé de la première zone de sauvegarde 31 dans le groupe de registres 14. En réponse à cette action, dans le bloc 126 du système d'exploitation 12 commence l'exécution du reste du travail effectué précédemment dans le bloc 121.Ou, si le contenu de la zone drapeau est jugé comme étant soit "10" soit "11" dans le bloc 134, la commande passera du bloc 134 au bloc 135,dans lequel l'information d'état de l'unité centrale 1 stockée dans le groupe de registres 14 est sortie via le moyen 2 d'accès en mémoire pour être entrée dans la seconde zone de sauvegarde 32 qui est accessible pour le système d'exploitation 12.
Ensuite dans le bloc 136,le contenu du groupe de registres 14 est partiellement modifié et le système d'exploitation 12 est actionné. En réponse à cette action, dans le bloc 125 du système d'exploitation 12, il y a exécution du traitement de l'exception de programme ou de l'interruption par le système d'exploitation 12. A l'issue de l'exécution de ce traitement de l'exception de programme ou de l'interruption, le reste du travail effectué précédemment dans le bloc 121 l'est dans le bloc 126.
Selon la présente invention, il est possible, dans le cas de l'occurrence d'une exception de programme ou d'une interruption, dont le traitement nécessite l1exé- cution sous la commande d'un système d'exploitation, que l'unité de traitement informatique effectue le passage d'un programme de commande au système d'exploitation, dont un transfert d'une première zone de sauvegarde à une seconde zone de sauvegarde, à une simple instruction SEMVD.
Il en résulte qu'on peut réduire le temps système du programme de commande tout en améliorant les performances du système de machine virtuelle.
La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de modifications et de variantes qui apparaîtront à l'homme de l'art.

Claims (2)

REVENDICATIONS
1 - Système de machine virtuelle comportant un programme de commande (PC, 13) pour la commande de l'exécution d'une multitude de systèmes d'exploitation (SE, 12) sur un système informatique équipé d'une mémoire principale (MP,3), caractérisé en ce qu'il comprend
- une unité de traitement informatique (1) pour la sauvegarde, en réponse à l'occurrence d'une exception de programme ou d'une interruption dans un mode SE pour l'exécu- tion des systèmes d'exploitation, d'un état au moment d'une telle occurrence dans une première zone de sauvegarde (31), commandée par le programme de commande, et pour le passage du mode SE au mode PC pour l'exécution dudit programme de commande; et
- un moyen de programme de commande (13) pour exécuter la simulation de l'exception de programme ou de l'interruption en réponse à l'occurrence de l'exception de programme ou de l'interruption et soit
- le rétablissement de l'unité de traitement informatique au mode SE, après stockage de la donnée de la première zone de sauvegarde (31) dans des registres (15) à l'intérieur de l'unité de traitement informatique, afin d'actionner l'un des systèmes d'exploitation (12), soit
- le rétablissement de l'unité de traitement informatique au mode SE, après stockage de la donnée de la première zone de sauvegarde (31) dans des registres à l'intérieur de l'unité de traitement informatique, et la sauvegarde de la donnée de l'unité de traitement informatique dans une seconde zone de sauvegarde (32) commandant ce système particulier d'exploitation, afin d'actionner cedit système particulier.
2 - Système de machine virtuelle comportant un programme de commande (13) pour la commande de l'exécution d'une multitude de systèmes d'exploitation (SE, 12) sur un système informatique équipé d'une mémoire principale (3) et pour l'exécution d'un processus prédéterminé à une instruction spécifique cette instruction spécifique comprenant les étapes prédéterminées suivantes
- une étape d'instauration de mode pour instaurer un mode SE afin d'exécuter l'un des systèmes d'exploitation dans l'unité de traitement informatique (1);
- une étape de jugement pour juger si oui ou non la valeur de la zone drapeau de l'instruction spécifique a une valeur prescrite; ;
- une étape de sauvegarde pour sauvegarder les contenus de registres (14) dans l'unité de traitement informatique dans une seconde zone de sauvegarde (32) commandée par ledit système d'exploitation en réponse à l'identification avec la valeur prescrite à l'étape de jugement; et
- une étape pour démarrer l'exécution dudit système d'exploitation après sauvegarde à ladite étape de sauvegarde ou en réponse à l'identification avec une valeur autre que Ja valeur prescrite à l'étape de jugement.
FR8613072A 1985-09-18 1986-09-18 Systeme de machine virtuelle pour le traitement d'exceptions ou d'interruptions Expired FR2587518B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20704585 1985-09-18

Publications (2)

Publication Number Publication Date
FR2587518A1 true FR2587518A1 (fr) 1987-03-20
FR2587518B1 FR2587518B1 (fr) 1989-09-08

Family

ID=16533291

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8613072A Expired FR2587518B1 (fr) 1985-09-18 1986-09-18 Systeme de machine virtuelle pour le traitement d'exceptions ou d'interruptions

Country Status (2)

Country Link
JP (1) JPS62276634A (fr)
FR (1) FR2587518B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0621535A2 (fr) * 1993-04-23 1994-10-26 Advanced Micro Devices, Inc. Traitement d'interruptions

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3974480A (en) * 1974-05-08 1976-08-10 Francois Gernelle Data processing system, specially for real-time applications
US4250546A (en) * 1978-07-31 1981-02-10 Motorola, Inc. Fast interrupt method
EP0024434A1 (fr) * 1979-02-21 1981-03-11 Fujitsu Limited Systeme de machine virtuelle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61184643A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd 仮想計算機の起動制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3974480A (en) * 1974-05-08 1976-08-10 Francois Gernelle Data processing system, specially for real-time applications
US4250546A (en) * 1978-07-31 1981-02-10 Motorola, Inc. Fast interrupt method
EP0024434A1 (fr) * 1979-02-21 1981-03-11 Fujitsu Limited Systeme de machine virtuelle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 17, no. 7, décembre 1974, pages 1915-1916, New York, US; T.R. EDEL: "Intelligent input/output interrupt processing" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0621535A2 (fr) * 1993-04-23 1994-10-26 Advanced Micro Devices, Inc. Traitement d'interruptions
EP0621535A3 (fr) * 1993-04-23 1995-02-08 Advanced Micro Devices Inc Traitement d'interruptions.

Also Published As

Publication number Publication date
FR2587518B1 (fr) 1989-09-08
JPS62276634A (ja) 1987-12-01

Similar Documents

Publication Publication Date Title
USRE40092E1 (en) Method for quickly booting a computer system
KR101255382B1 (ko) 운영체제에 친숙한 부트로더
US6996821B1 (en) Data processing systems and method for batching tasks of the same type in an instruction cache
KR101249693B1 (ko) 서브루틴 복귀 메카니즘 선택
US6128751A (en) Electronic apparatus and method for patching a fixed information
JP2982875B2 (ja) スレーブ制御装置
US20060031669A1 (en) Boot method and system
US5363502A (en) Hot stand-by method and computer system for implementing hot stand-by method
CN102436393B (zh) 任务处理装置
FR2752631A1 (fr) Procede de chargement d&#39;un systeme d&#39;exploitation
US7657716B2 (en) Save and restore of a protected area
FR2587518A1 (fr) Systeme de machine virtuelle pour le traitement d&#39;exceptions ou d&#39;interruptions
EP0240606A2 (fr) Système de traitement en pipeline et microprocesseur utilisant le système
US6367002B1 (en) Apparatus and method for fetching instructions for a program-controlled unit
CN100492299C (zh) 一种嵌入式软件开发的方法及系统
US20030140082A1 (en) Patch processing system and method
JPS63106836A (ja) 異ア−キテクチヤ・エミユレ−シヨン方式
JP3462245B2 (ja) 中央演算処理装置
JPS6376028A (ja) 仮想計算機システムにおける命令ステツプ実行制御方式
US4511983A (en) Apparatus for controlling microinstructions stored in a data processing unit memory
JPS6148741B2 (fr)
KR100222620B1 (ko) 다중 프로그램의 다운로드 방법
JPH0736510A (ja) プログラマブルコントローラ
JPH02186460A (ja) プログラムロード方式
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법

Legal Events

Date Code Title Description
ST Notification of lapse