KR970016949A - Thread exception handling system and method - Google Patents

Thread exception handling system and method Download PDF

Info

Publication number
KR970016949A
KR970016949A KR1019950032209A KR19950032209A KR970016949A KR 970016949 A KR970016949 A KR 970016949A KR 1019950032209 A KR1019950032209 A KR 1019950032209A KR 19950032209 A KR19950032209 A KR 19950032209A KR 970016949 A KR970016949 A KR 970016949A
Authority
KR
South Korea
Prior art keywords
exception
thread
handler
user
handling
Prior art date
Application number
KR1019950032209A
Other languages
Korean (ko)
Other versions
KR100297744B1 (en
Inventor
박정형
Original Assignee
김광호
삼성전자 주식회사
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 김광호, 삼성전자 주식회사 filed Critical 김광호
Priority to KR1019950032209A priority Critical patent/KR100297744B1/en
Publication of KR970016949A publication Critical patent/KR970016949A/en
Application granted granted Critical
Publication of KR100297744B1 publication Critical patent/KR100297744B1/en

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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

본 발명은 쓰레드 예외처리 시스템 및 방법에 관한 것으로서, 데이타처리시스템에서 쓰레드 단위로 예외를 처리하는 프로세스, 프로세스와 운영체제를 실행하는 프로세서, 하드웨어 인터럽트 테이블, 커널 예외 디스패쳐, 시스템 예외 처리기로 이루어진 쓰레드 예외처리 시스템에 있어서, 상기 프로세서는 예외 레코드와 예의 처리기 포인터를 갖는 쓰레드; 예외처리 루틴 테이블; 및 사용자 예외 디스패쳐를 포함함을 특징으로 하고, 그 방법은 예외 발생을 알려주는 과정; 예외를 판별하는 과정; 사용자 예외이면 예외 레코드와 비교하는 과정; 같으면 예외 처리기 포인터를 통해 예외를 처리하고, 같지 않으면 예외처리 루틴 테이블에서 예외를 찾아, 예외 레코드에 기록하고 포인터를 예외 처리기 포인터에 기록한 후 예외를 처리하고, 해당되는 예외가 없으면 시스템 예외 처리기에서 예외를 처리하는 과정을 포함함을 특징으로 한다.The present invention relates to a thread exception handling system and method, comprising: a thread exception process comprising a process for handling exceptions on a per-thread basis in a data processing system, a processor running a process and an operating system, a hardware interrupt table, a kernel exception dispatcher, and a system exception handler. A processing system, comprising: a thread having an exception record and an example processor pointer; Exception handling routine tables; And a user exception dispatcher, the method comprising: informing of an exception occurrence; Determining an exception; Comparing the exception record with the user exception; If it is equal, the exception is handled by the exception handler pointer; if it is not equal, the exception is found in the exception routine table, recorded in the exception record, the pointer is written to the exception handler pointer, and the exception is handled. It characterized in that it comprises a process of processing.

본 발명에 의하면, 프로세스 단위의 스케줄링보다 높은 병렬성을 지원하며, 쓰레드의 단위가 작아져서 스케쥴링에서 부담이 줄어들며, 빠른 시간내에 처리 루틴을 처리할 수 있어서 시간적인 장점이 있다.According to the present invention, it supports higher parallelism than the scheduling of process units, reduces the load in scheduling due to the smaller unit of threads, and has the advantage of being able to process processing routines in a short time.

Description

쓰레드 예외처리 시스템 및 방법Thread exception handling system and method

본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음Since this is an open matter, no full text was included.

제1도는 시스템 내부의 운영체제에서 수행되는 연산의 흐름을 나타낸 예외처리 시스템의 블럭도.1 is a block diagram of an exception handling system showing a flow of operations performed in an operating system inside a system.

Claims (3)

사용자 어드레스 영역 및 시스템 어드레스 영역으로 이루어진 어드레스 영역을 갖는 메모리 시스템에서 운용되는 멀티 타스킹, 멀티 쓰레드 운영체제에 의해 제어되는 데이타 처리시스템에서 사용자 어드레스 영역에 저장되어 시스템 자원을 할당받아 복수의 쓰레드를 가지고 있으며 예외가 발생했을 때 쓰레드 단위로 예외를 처리하는 프로세스, 사용자 어드레스 영역에서 상기 프로세스를 선택적으로 실행하고 시스템 어드레스 영역에서 운영체제를 선택적으로 실행하는 프로세서, 상기 프로세스의 쓰레드에서 예외가 발행했을 때 상기 예외가 하드웨어 인터럽트인지를 판별하는 하드웨어 인터럽트 테이블, 상기 예외가 커널 예외인지 사용자 예외인지를 판별하여 디스패치하는 커널 예외 디스패쳐, 커널 예외이면 이를 처리하는 시스템 예외 처리기로 이루어진 쓰레드 예외처리 시스템에 있어서, 상기 프로세스는 가장 최근에 처리한 예외를 저장하고 있는 예외 레코드와 상기 예외를 처리한 예외 처리기의 주소를 저장하고 있는 예외 처리기 포인터를 포함하고 있는 쓰레드; 사용자 어드레스 영역에서 발생하는 예외를 처리하는 예외처리 루틴들을 저장하고 있는 예외처리 루틴 테이블; 상기 커널 예외 디스패쳐에서 예외가 사용자 예외일 때 이를 넘겨받아 상기 쓰레드의 예외 레코드에 저장된 예외와 비교하여 같으면 상기 쓰레드의 예외 처리기 포인터를 구동하고, 다르면 상기 예외처리 루틴 테이블에서 해당되는 예외를 찾게 하고, 상기 예외처리 루틴 테이블에도 없으면 시스템 예외처리기를 구동하여 예외를 처리하게 하는 사용자 예외 더스패쳐를 포함함을 특징으로 하는 쓰레드 예외처리 시스템.In a data processing system controlled by a multi-threaded, multi-threaded operating system operating in a memory system having an address area composed of a user address area and a system address area, the system resource is allocated to system resources and has a plurality of threads. A process that handles exceptions on a per-thread basis when an exception occurs, a processor that selectively runs the process in the user address area and optionally runs an operating system in the system address area, and when the exception is issued by a thread of the process Hardware interrupt table to determine whether it is a hardware interrupt, a kernel exception dispatcher that determines and dispatches whether the exception is a kernel exception or a user exception, and a system exception processing that processes the kernel exception. In the thread exception handling system of the process is the thread that contains the most recently processed the exception handler pointer that stores the exception and stores the address of the exception handler to process the exception as the exception record in the; An exception handling routine table that stores exception handling routines for handling exceptions occurring in the user address area; When the exception is a user exception in the kernel exception dispatcher, the exception is passed to the exception stored in the thread's exception record, and if it is the same, the exception handler pointer of the thread is found. If it is different, the exception handling routine table is found. And a user exception dispatcher for driving an exception by operating a system exception handler if not present in the exception handling routine table. 제1항에 있어서, 상기 예외처리 루틴 테이블은 쓰레드의 고유번호(ID)를 나타내는 쓰레드 고유번호; 예외의 종류를 나타내는 예외; 예외 처리를 하는 예외처리기를 구성요소로 하는 쓰레드 예외처리 시스템.The system of claim 1, wherein the exception handling routine table comprises: a thread unique number representing a unique number (ID) of a thread; An exception indicating the type of exception; A thread exception handling system whose component is an exception handler that handles exceptions. 멀티 타스킹, 멀티 쓰레드 운영체제에 의해 제어되는 데이타 처리 시스템에서의 쓰레드 예외처리 방법에 있어서, 쓰레드에서 정상적으로 작업을 수행하다가 예외가 발생했을 때 프로세서가 운영체제에게 예외가 발생했음을 알려주는 과정; 상기에서 발생한 예외가 하드웨어 인터럽트인지 커널 예외인지 아니면 사용자 예외인지를 판별하는 과정; 사용자 예외이면 이를 쓰레드에서 가장 최근에 처리된 예외가 저장되어 있는 쓰레드의 예외 레코드와 비교하는 과정; 상기 비교 과정에서 같으면 가장 최근에 처리된 예외를 처리하는 예외 처리기의 포인터가 저장되어 있는 쓰레드의 예외 처리기 포인터를 액세스하여 예외를 처리하고, 상기 비교 과정에서 같지 않으면 예외 처리 루틴 테이블에서 해당되는 예외를 찾아, 해당 예외를 상기 쓰레드의 예외 레코드에 기록하고 예외 처리기의 포인터는 상기 쓰레드의 예외 처리기 포인터에 기록한 후 예외를 처리하고, 상기 예외 처리 루틴 테이블에 해당되는 예외가 존재하지 않으면 시스템 예외 처리기에서 예외를 처리하는 과정을 포함함을 특징으로 하는 쓰레드의 예외 처리 방법.A thread exception handling method in a data processing system controlled by a multitasking and multithreaded operating system, the method comprising: informing a operating system of an exception when an exception occurs while a thread normally executes a task; Determining whether the generated exception is a hardware interrupt, a kernel exception, or a user exception; If it is a user exception, comparing it with the exception record of the thread that stores the most recently handled exception in the thread; If the comparison is the same, the exception handler pointer of the thread where the exception handler that handles the most recently handled exception is stored is accessed to handle the exception. If the comparison is not the same, the exception is handled in the exception handling routine table. Locates the exception in the thread's exception record, and the exception handler's pointer writes to the thread's exception handler pointer to handle the exception, and if no exception exists in the exception handling routine table, the system exception handler Exception handling method of a thread, characterized in that it comprises a process of processing. ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: The disclosure is based on the initial application.
KR1019950032209A 1995-09-27 1995-09-27 System and method for processing thread exception KR100297744B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950032209A KR100297744B1 (en) 1995-09-27 1995-09-27 System and method for processing thread exception

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950032209A KR100297744B1 (en) 1995-09-27 1995-09-27 System and method for processing thread exception

Publications (2)

Publication Number Publication Date
KR970016949A true KR970016949A (en) 1997-04-28
KR100297744B1 KR100297744B1 (en) 2001-10-24

Family

ID=37528213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950032209A KR100297744B1 (en) 1995-09-27 1995-09-27 System and method for processing thread exception

Country Status (1)

Country Link
KR (1) KR100297744B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100401613B1 (en) * 2000-12-26 2003-10-11 현대자동차주식회사 Method for real-time processing of general purpose operating system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305455A (en) * 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100401613B1 (en) * 2000-12-26 2003-10-11 현대자동차주식회사 Method for real-time processing of general purpose operating system

Also Published As

Publication number Publication date
KR100297744B1 (en) 2001-10-24

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
CA1305799C (en) Logical resource partitioning of a data processing system
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
US6314471B1 (en) Techniques for an interrupt free operating system
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US8079035B2 (en) Data structure and management techniques for local user-level thread data
US3984820A (en) Apparatus for changing the interrupt level of a process executing in a data processing system
US4020471A (en) Interrupt scan and processing system for a data processing system
US20080148259A1 (en) Structured exception handling for application-managed thread units
JP2006500639A5 (en)
DE69429226T2 (en) Send commands to multiple processing units
WO2001097160A1 (en) Method and data processing system for emulating virtual memory working spaces
KR970016945A (en) Multi-instruction execution method and superscalar microprocessor
US6763328B1 (en) Method and data processing system for emulating virtual memory utilizing threads
US20070106845A1 (en) Stack caching systems and methods
US5815701A (en) Computer method and apparatus which maintains context switching speed with a large number of registers and which improves interrupt processing time
KR20100016347A (en) Thread de-emphasis instruction for multithreaded processor
US6883085B2 (en) Handling of coprocessor instructions in a data processing apparatus
US7069414B2 (en) Page handling efficiency in a multithreaded processor
KR970016949A (en) Thread exception handling system and method
EA200000546A1 (en) COMPUTER SYSTEM
KR960011669A (en) Central Processing Unit
JPH0668725B2 (en) Device for responding to interrupt condition in data processing system and method for responding to asynchronous interrupt condition
JPH06110857A (en) Program dispatching system
JP2008243203A (en) Workload control in virtualized data processing environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080429

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee