WO1990005951A1 - Methode de traitement des interruptions anormales de logiciel involontaires - Google Patents

Methode de traitement des interruptions anormales de logiciel involontaires Download PDF

Info

Publication number
WO1990005951A1
WO1990005951A1 PCT/US1988/004061 US8804061W WO9005951A1 WO 1990005951 A1 WO1990005951 A1 WO 1990005951A1 US 8804061 W US8804061 W US 8804061W WO 9005951 A1 WO9005951 A1 WO 9005951A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
interrupt
program
user
exception
Prior art date
Application number
PCT/US1988/004061
Other languages
English (en)
Inventor
Heinrich Hummel
Original Assignee
Heinrich Hummel
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 Heinrich Hummel filed Critical Heinrich Hummel
Priority to PCT/US1988/004061 priority Critical patent/WO1990005951A1/fr
Publication of WO1990005951A1 publication Critical patent/WO1990005951A1/fr

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

Definitions

  • the invention refers to a method of handling software interrupt exceptions which are not caused on purpose but occur due to errorprone programs that are particularly processed on the INTEL-8028B (TM) or INTEL-80386 (TM) processor in case these processors operate in the so called PROTECTED MODE, whereby its basic principle can also be applied to the exception handling of unintended (software interrupt) exceptions of any other existing exception-detecting processor e.g. like MOTOROLA'S 68020 (TM) and whereby the method may even give the incentive for creating enhanced hardware processors that do support this method as well.
  • TM INTEL-8028B
  • TM INTEL-80386
  • TM INTEL 80286
  • TM INTEL 80286
  • interrupt 0 - Division by zero
  • interrupt 4 - INTO -detected overflow
  • interrupt 5 - exceeding a boundary range
  • interrupt 8 - double faults
  • interrupt 12 - stack errors
  • interrupt 13 all kind of errors that can be categorized as general protection errors (known as interrupt 13),
  • interrupt 16 - processor extension errors
  • this invention pursues to call a user task specific exception handler (see literature "INTEL 286 Operating System Writer's Guide” page 6-7 to 6-9) however claiming novelty for the way to do so highlighted by the execution of the interrupt return instruction before the user task specific exception handler has even been called.
  • the task gate may refer to a task descriptor in the global descriptor table, which will refer to a task state segment, which will refer to an interrupt task program.
  • This interrupt task program may save all data about the occurance of the exception, like the total stack segment of the interrupted task as well as the contents of its task state segment (which means essentially all register values), for a later failure report - which is reasonable but not significant for this invention -, then using the ALIAS-descriptor technique modify the task state segment of the interrupted task, particularly - the fields for CS and IP so that by executing the interrupt return instruction the interrupted task would continue at a system central address, let's call it Z,
  • the interrupt task program must also clear the TASK_SWITCHED bit in the machine status word.
  • the interrupt task program or programs that is or that are reached via the task gates for exception 6, 12, 13 must also pop the error code from the stack of the interrupt task prior switching back to the previously interrupted task.
  • the user task specific exception handler is to be called (its address may be stored in the registers BX and CX), eventually provided with the input (parameter) of the address of the datasegment that contains the data about the occurance of the exception, unless the user task hasn't been assigned the address of a specific exception handler.
  • a system master exception handler program may be called, by using a task gate, to provide more general reaction service.
  • the user task specific exception handler is supposed to investigate the current situation and deal with the problem appropriately, to do this in the adequate logical level (normally in the used high level programming language), then to determine the best suitable point of the task's program, let's call it a recovery point, and to "dump" there, not oust by setting code segment register (CS) and instruction pointer register (IP) to that point's address but by loading all stack data and all register values (inclusively CS and IP at last) as has been actual when the task's program flow passed that point the last time.
  • This kind of "dump" must have been supported by the user's program when it passed that program address in the regular processing by writing all the data, i.e.
  • Operating System service routines that are to be provided to the user, e.g. to "define a recovery point", which essentially means to save the actual register and stack values in a retrievable way, or to “dump to a recovery point”, which means to retrieve and load these values into registers and stack, or to initialize involved data.

Abstract

Des interruptions anormales de logiciel involontaires détectées par les microprocesseurs INTEL-80286 (R) ou INTEL-80386 (R) fonctionnant en mode protégées et connues sous la forme d'interruptions 0, 4, 5, 6, 8, 12, 13, 16 sont traitées en utilisant exclusivement des portes-tâches, en modifiant le segment-état-tâche de la tâche interrompue pendant que se déroule celle-ci, de sorte qu'APRES exécution de l'instruction de retour à un central du système, on peut faire intervenir le programme de traitement d'anomalies spécifiques à la tâche de l'utilisateur, et en utilisant une méthode pour sortir du programme de traitement d'anomalies spécifiques à la tâche de l'utilisateur afin de reprendre le fonctionnement normal à un stade approprié dans le programme que la tâche a déjà dépassé avant que se produise l'anomalie, qui consiste essentiellement à sauvegarder et à rapatrier toutes les valeurs de registre et les données empilées qui existaient au moment où la tâche a dépassé ce stade lors du traitement normal. Le même principe s'applique à d'autres processeurs dotés de capacité de détection d'anomalies. Un processeur futuriste est conçu qui fournit des instructions pour affecter des programmes de traitement d'anomalies spécifiques à la tâche de l'utilisateur pour créer et revenir à un stade ou point de récupération.
PCT/US1988/004061 1988-11-14 1988-11-14 Methode de traitement des interruptions anormales de logiciel involontaires WO1990005951A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US1988/004061 WO1990005951A1 (fr) 1988-11-14 1988-11-14 Methode de traitement des interruptions anormales de logiciel involontaires

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1988/004061 WO1990005951A1 (fr) 1988-11-14 1988-11-14 Methode de traitement des interruptions anormales de logiciel involontaires

Publications (1)

Publication Number Publication Date
WO1990005951A1 true WO1990005951A1 (fr) 1990-05-31

Family

ID=22208998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1988/004061 WO1990005951A1 (fr) 1988-11-14 1988-11-14 Methode de traitement des interruptions anormales de logiciel involontaires

Country Status (1)

Country Link
WO (1) WO1990005951A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0532334A2 (fr) * 1991-09-11 1993-03-17 International Business Machines Corporation Redressement d'erreur dans un système de traitement de l'information
US7305712B2 (en) 2002-11-18 2007-12-04 Arm Limited Security mode switching via an exception vector
US7849310B2 (en) 2002-11-18 2010-12-07 Arm Limited Switching between secure and non-secure processing modes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205370A (en) * 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4535456A (en) * 1982-02-26 1985-08-13 Robert Bosch Gmbh Method of detecting execution errors in program-controlled apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205370A (en) * 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4535456A (en) * 1982-02-26 1985-08-13 Robert Bosch Gmbh Method of detecting execution errors in program-controlled apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0532334A2 (fr) * 1991-09-11 1993-03-17 International Business Machines Corporation Redressement d'erreur dans un système de traitement de l'information
EP0532334A3 (en) * 1991-09-11 1993-11-24 Ibm Error recovery in an information processing system
US7305712B2 (en) 2002-11-18 2007-12-04 Arm Limited Security mode switching via an exception vector
US7849310B2 (en) 2002-11-18 2010-12-07 Arm Limited Switching between secure and non-secure processing modes

Similar Documents

Publication Publication Date Title
US4825358A (en) Method and operating system for executing programs in a multi-mode microprocessor
JP5680679B2 (ja) 例外イベントを取り扱うための装置および方法
US5701493A (en) Exception handling method and apparatus in data processing systems
EP1012715B1 (fr) Methode de changement de contexte assistee par le materiel
US5386563A (en) Register substitution during exception processing
Vyssotsky et al. Structure of the Multics supervisor
EP0197552A2 (fr) Méthode pour le traitement d'interruptions dans un système d'ordinateur numérique
JPH0512045A (ja) 計算機システムの動作継続方法および装置
JPH0114611B2 (fr)
US20050015672A1 (en) Identifying affected program threads and enabling error containment and recovery
US20220366036A1 (en) An apparatus and method for handling exceptions
WO1990005951A1 (fr) Methode de traitement des interruptions anormales de logiciel involontaires
EP0117930A1 (fr) Poste de travail interactif à microprocesseur auxiliaire pour protection de mémoire
JP4155052B2 (ja) エミュレータ、エミュレーション方法およびプログラム
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
US20020112202A1 (en) Fault vector pointer table
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
US5778207A (en) Assisting operating-system interrupts using application-based processing
JPH0484224A (ja) スタックエリア保護回路
JPH07210421A (ja) スレッド環境におけるデバッグ方法
JPH05127895A (ja) 汎用レジスタへの書込みプロテクト方式
JPS6195464A (ja) デ−タ保護方式
JPH01180656A (ja) メモリ保護装置
JPH04364545A (ja) メモリダンプ方法
JPH0651996A (ja) 情報処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE