KR100697988B1 - Apparatus and method for protecting system from excessive occurrence of interrupt - Google Patents
Apparatus and method for protecting system from excessive occurrence of interrupt Download PDFInfo
- Publication number
- KR100697988B1 KR100697988B1 KR1020050073640A KR20050073640A KR100697988B1 KR 100697988 B1 KR100697988 B1 KR 100697988B1 KR 1020050073640 A KR1020050073640 A KR 1020050073640A KR 20050073640 A KR20050073640 A KR 20050073640A KR 100697988 B1 KR100697988 B1 KR 100697988B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- mode
- polling
- interrupts
- limit threshold
- Prior art date
Links
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 정보 처리 시스템에서 과도하게 또는 비정상적으로 발생하는 인터럽트를 방지하여 시스템을 과부하로부터 방지하고 안정성을 유지하기 위한 과도한 인터럽트로부터 시스템을 보호하는 장치 및 그 방법에 관한 것으로, 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에서 과도한 인터럽트를 방지하는 본 발명에 의한 장치는, 인터럽트 모드에서 동작하며, 우선순위가 높은 인터럽트 처리 요구에 대하여 태스크 스위칭을 통해 인터럽트 처리를 수행한 후 이전의 태스크로 복귀하는 인터럽트 모드 처리부; 폴링 모드에서 동작하며, 소정의 주기에 의해 인터럽트 소스들을 순차적으로 감시하여 인터럽트 요구가 발생한 인터럽트 소스에 대하여 인터럽트 처리를 수행하는 폴링 모드 처리부; 소정의 시간 간격 내에 발생한 인터럽트의 수를 카운팅하는 인터럽트 카운터; 및 인터럽트 모드에서 인터럽트가 발생하면 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수를 확인하여 그 인터럽트 수가 소정의 상한 임계값보다 큰 경우 인터럽트 모드를 폴링 모드로 변환하여 폴링 모드 처리부를 동작시키고, 폴링 모드에서 소정의 주기에 따라 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수를 확인하여 그 인터럽트 수가 소정의 하한 임계값보다 작은 경우 폴링 모드를 인터럽트 모드로 변환하여 인터럽트 모드 처리부를 동작시키는 모드 제어부;를 포함하여 구성된다.The present invention relates to an apparatus and a method for protecting the system from excessive interruption to prevent excessive or abnormally occurring interruption in an information processing system to prevent the system from being overloaded and to maintain stability. An apparatus according to the present invention which prevents excessive interruption in an information processing system is operated in an interrupt mode, and interrupts to return to a previous task after performing interrupt processing through task switching for a high priority interrupt processing request. A mode processor; A polling mode processing unit which operates in a polling mode and sequentially monitors interrupt sources at predetermined intervals and performs interrupt processing on an interrupt source having an interrupt request; An interrupt counter that counts the number of interrupts that occur within a predetermined time interval; And when an interrupt occurs in the interrupt mode, check the number of interrupts generated within a predetermined time interval from the interrupt counter, and when the interrupt number is greater than the predetermined upper limit threshold, convert the interrupt mode to the polling mode to operate the polling mode processing unit, and the polling mode. A mode control unit which checks the number of interrupts generated within a predetermined time interval from the interrupt counter according to a predetermined period and converts the polling mode into an interrupt mode and operates an interrupt mode processing unit when the interrupt number is smaller than a predetermined lower limit threshold. It is configured by.
본 발명에 의하면, 과도하거나 비정상적인 인터럽트가 많이 발생하여 정상적 인 태스크의 수행이 어려울 수 있는 정보 처리 환경에서 동작하는 시스템에 적용되어, 일정 시간 내에 과도하게 많은 수의 인터럽트가 발생하는 것을 방지함으로써 정보 처리 시스템의 운영에 안정성을 유지할 수 있다.According to the present invention, it is applied to a system operating in an information processing environment in which a lot of excessive or abnormal interrupts are generated so that normal tasks may be difficult to perform, thereby preventing information from being generated by an excessively large number of interrupts within a predetermined time period. It can maintain stability in the operation of the system.
Description
도 1은 종래기술에 의한 인터럽트 처리 과정을 설명하는 흐름도이다.1 is a flowchart illustrating an interrupt processing procedure according to the prior art.
도 2는 본 발명에 의한 과도한 인터럽트로부터 시스템을 보호하는 장치의 기능을 설명하는 블록 구성도이다.2 is a block diagram illustrating the function of an apparatus for protecting a system from excessive interruption according to the present invention.
도 3은 본 발명에 의한 과도한 인터럽트로부터 시스템을 보호하는 방법을 설명하는 흐름도이다.3 is a flow chart illustrating a method of protecting a system from excessive interruption according to the present invention.
♣도면의 주요 부분에 대한 부호의 설명 ♣♣ Explanation of symbols for the main parts of the drawing ♣
10 : 인터럽트 모드 처리부 20 : 폴링 모드 처리부10: interrupt mode processing unit 20: polling mode processing unit
30 : 모드 제어부 40 : 인터럽트 카운터 30: mode control unit 40: interrupt counter
본 발명은 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에 관한 것으로, 보다 상세하게는 정보 처리 시스템에서 과도하게 또는 비정상적으로 발생하는 인터럽트를 방지하여 시스템을 과부하로부터 방지하고 안정성을 유지하기 위한 과도한 인터럽트로부터 시스템을 보호하는 장치 및 그 방법에 관한 것이다.The present invention relates to an information processing system employing a priority interrupt processing method, and more particularly, to prevent excessive or abnormally occurring interrupts in an information processing system and to prevent the system from being overloaded and to maintain stability. An apparatus and method for protecting a system from damages are provided.
인터럽트 메커니즘은 운영체제(OS)에 있어서 컴퓨터에서 예기하지 않았던 사건이 발생하더라도 컴퓨터의 동작이 중단되지 않고 업무 처리가 계속적으로 수행될 수 있도록 하는 컴퓨터의 기능, 즉, 컴퓨터의 명령 실행 중에서 이것과는 비동기적으로 또는 그 명령이 정상적으로 실행되지 않았을 때 발생하는 사건을 파악하여 현재의 루틴의 실행을 중단시키고, 이 사건을 처리하는 다른 루틴에 분기되게 하여, 이 처리 실행 완료 후에는 다시 원래의 루틴으로 복귀시켜 실행을 계속하도록 하는 기능이다. 이와 같은 인터럽트 메커니즘은 J. 폰 노이만이 제안한 초기의 컴퓨터엔 없었으나 현재는 거의 모든 컴퓨터에 갖추어져 있다. 이 메커니즘을 활용하면, 프로세서와 입출력 장치 등 사이에서 겉보기의 병렬처리(둘 이상의 프로세서를 동시에 수행시키는 것)가 가능하고, 또 오류 등의 이상 현상 발생을 쉽게 파악할 수 있으므로 인터럽트는 컴퓨터의 처리 효율 향상에 큰 도움이 된다. The interrupt mechanism is an asynchronous function of the computer, that is, the execution of the computer's instructions, that allows the operating system to continue to perform business operations without interrupting the computer's operation even when an unexpected event occurs in the operating system (OS). Determining what happens, either automatically or when the instruction was not executed normally, interrupting the execution of the current routine, branching to another routine that handles this event, and returning to the original routine after completion of this processing. To continue execution. Such an interrupt mechanism was not present in the early computers proposed by J. von Neumann, but is now available in almost every computer. This mechanism enables apparent parallelism between the processor and the I / O device, etc., and makes it easier to identify abnormalities such as errors. It is a great help.
인터럽트를 발생시키는 사건을 <인터럽트요인>이라 하는데, 주로 이 요인에 의거해서 분류하면 인터럽트는 다음과 같이 분류된다. An event that generates an interrupt is called an <interrupt factor>. When an interrupt is classified based on this factor, an interrupt is classified as follows.
① 외부인터럽트: 프로세서의 동작과는 비동기적인 외부 요인에 의해 발생하는 인터럽트이다. 이것에는 입출력인터럽트(입출력 기기의 동작 상태, 예컨대 동작 완료나 잘못된 동작 등에 따라 발생하는 인터럽트)를 비롯하여 타이머의 시간 완료 보고에 의한 인터럽트, 기기(장치)의 에러 등에 의한 기기인터럽트, 콘솔로부터의 인터럽트키 입력에 의한 오퍼레이터인터럽트, 다중처리시스템에 있어서 다른 프로세서로부터의 신호에 의한 인터럽트, 전원 이상에 의한 인터럽트 등이 있다. ① External Interrupt: This interrupt is caused by external factors that are asynchronous with the operation of the processor. These include I / O interrupts (interrupts that occur as a result of an I / O device's operation, such as completion of an operation or a faulty operation), interrupts by a timer's time completion report, device interrupts due to a device (device) error, or an interrupt key from the console. Operator interrupts by inputs, interrupts by signals from other processors in multiprocessing systems, interrupts by power failures, and the like.
② 내부인터럽트: 0으로 나누는 나눗셈, 오버플로우(overflow) 등의 비정상 적인 연산의 실행이나 인터럽트를 발생시키는 명령의 실행에 의한 인터럽트 등이 있다. 특히, 감독프로그램호출명령(SVC) 실행에 의해 발생하는 내부인터럽트를 감독프로그램호출인터럽트라 한다. (2) Internal interrupt: There are interrupts by execution of abnormal operation such as division by zero, overflow, or execution of an instruction that generates an interrupt. In particular, the internal interrupt caused by the execution of the supervised program call instruction (SVC) is called the supervised program call interrupt.
인터럽트가 발생한 경우에는 프로세서는 적어도 프로그램 계수기(program counter)를 포함한 프로그램상태워드(PSW)를 퇴피시키고, 인터럽트 처리루틴의 선두번지, 즉 인터럽트번지를 프로그램 계수기에 로드하여 인터럽트 처리루틴에 분기시킬 필요가 있다. 인터럽트번지는 인터럽트요인 전체에 대해 1개만, 또는 각 요인마다 1개씩, 또는 몇몇 요인의 그룹마다 1개씩 마련된다. 인터럽트번지 1개에 복수의 인터럽트 요인이 대응하는 경우에는, 이 처리루틴의 선두에서 상태를 살펴서 인터럽트를 발생시킨 요인을 특별히 지정하지 않으면 안된다. 이 동작을 폴링(polling)이라 한다. 각 인터럽트번지는 고정시켜도 되지만, 유연성을 갖게 하기 위해 주기억장치의 특정한 위치에 저장해 두고, 인터럽트 발생 때에는 인터럽트 요인에 대응하여 하드웨어가 자동적으로 그 위치의 번지를 발생시키는 간접적 방식이 채택되는 경우가 많다. 이상의 기본적 인터럽트 처리 메커니즘 이외에, 인터럽트요인마다 인터럽트마스크(interrupt mask)라는 1비트의 제어정보를 마련하여, 인터럽트 발생 때 실제로 인터럽트를 발생시킬 것인지, 무시할 것인지를 프로그램 쪽에서 선택할 수 있게 하는 메커니즘이나, 인터럽트에 우선 레벨을 할당하고 실제로 처리되고 있는 인터럽트보다 높은 레벨의 인터럽트는 그 처리 루틴에 더 인터럽트할 수 있게 한 다중레벨인터럽트의 메커니즘 등이 갖추어져 있는 것도 있다.In the event of an interruption, the processor needs to evade at least the program status word (PSW) including the program counter, load the first address of the interrupt processing routine, that is, the interrupt address into the program counter, and branch it to the interrupt processing routine. have. Only one interrupt address is provided for the entire interrupt factor, one for each factor, or one for each group of factors. When a plurality of interrupt factors correspond to one interrupt address, the factor that caused the interrupt must be specified specifically by looking at the state at the head of this processing routine. This operation is called polling. Each interrupt address may be fixed, but in order to be flexible, it is often stored in a specific location of the main memory, and when an interrupt occurs, an indirect method in which the hardware automatically generates the address of the location in response to an interrupt factor is often adopted. In addition to the basic interrupt handling mechanism described above, one bit of control information, called an interrupt mask, is provided for each interrupt factor, so that a program can select whether to actually generate or ignore an interrupt when an interrupt occurs. There are some mechanisms for multilevel interrupts that assign priority levels and allow higher level interrupts to interrupt their processing routines.
도 1에 도시된 바와 같이, 종래 기술에 의한 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에서는 인터럽트가 발생을 감지하면(S10) 인터럽트 처리 루틴이 우선권을 가지고 수행된다(S20). 또한 인터럽트 처리 루틴이 수행중인 경우에도 보다 높은 레벨의 인터럽트가 발생하면 그에 해당하는 인터럽트 처리 루틴이 우선권을 가지고 수행된다. 이와 같이 어떠한 태스크가 처리되는 중에 인터럽트가 발생하게 되면, 태스크 스위칭(task switching)이 발생하여 인터럽트 처리를 마치고 다시 이전의 태스크로 복귀하게 된다(S30). 이때, 과도하거나 비정상적인 인터럽트가 계속적으로 발생하게 되면 정보 처리 시스템에 과부하를 주거나 오버플로우를 발생시켜 정상적인 시스템이 다운될 수도 있게 된다.As shown in FIG. 1, in an information processing system adopting a prioritized interrupt processing scheme according to the prior art, when an interrupt is detected (S10), an interrupt processing routine is performed with priority (S20). Also, even when an interrupt processing routine is running, if a higher level interrupt occurs, the corresponding interrupt processing routine is executed with priority. As such, when an interrupt occurs while a task is being processed, task switching occurs to complete the interrupt process and return to the previous task (S30). At this time, if excessive or abnormal interrupts continue to occur, the normal system may be down due to an overload or overflow of the information processing system.
본 발명은 상기의 문제점을 해결하기 위하여 창안한 것으로, 과도하거나 비정상적인 인터럽트가 계속적으로 발생하게 되면 폴링 방식으로 전환하여 인터럽트 처리를 수행함으로써 정보 처리 시스템의 운영에 안정성을 유지할 수 있는 과도한 인터럽트로부터 시스템을 보호하는 장치 및 그 방법을 제공함을 그 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and when excessive or abnormal interrupts are continuously generated, the system switches from a polling method to an interrupt process to perform an interrupt process, thereby preventing the system from being excessively interrupted to maintain stability in the operation of the information processing system. It is an object of the present invention to provide an apparatus and a method for protecting the same.
상기의 목적을 달성하기 위하여, 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에서 과도한 인터럽트를 방지하는 본 발명에 의한 장치는, 인터럽트 모드에서 동작하며, 우선순위가 높은 인터럽트 처리 요구에 대하여 태스크 스위칭을 통해 인터럽트 처리를 수행한 후 이전의 태스크로 복귀하는 인터럽트 모드 처리부; 폴링 모드에서 동작하며, 소정의 주기에 의해 인터럽트 소스들을 순차적으로 감시하여 인터럽트 요구가 발생한 인터럽트 소스에 대하여 인터럽트 처리를 수행하는 폴링 모드 처리부; 소정의 시간 간격 내에 발생한 인터럽트의 수를 카운팅하는 인터럽트 카운터; 및 인터럽트 모드에서 인터럽트가 발생하면 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수를 확인하여 그 인터럽트 수가 소정의 상한 임계값보다 큰 경우 인터럽트 모드를 폴링 모드로 변환하여 폴링 모드 처리부를 동작시키고, 폴링 모드에서 소정의 주기에 따라 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수를 확인하여 그 인터럽트 수가 소정의 하한 임계값보다 작은 경우 폴링 모드를 인터럽트 모드로 변환하여 인터럽트 모드 처리부를 동작시키는 모드 제어부;를 포함하여 구성된다.In order to achieve the above object, the apparatus according to the present invention which prevents excessive interruption in an information processing system adopting a priority interrupt processing method operates in an interrupt mode and performs task switching for a high priority interrupt processing request. An interrupt mode processor configured to return to a previous task after performing interrupt processing; A polling mode processing unit which operates in a polling mode and sequentially monitors interrupt sources at predetermined intervals and performs interrupt processing on an interrupt source having an interrupt request; An interrupt counter that counts the number of interrupts that occur within a predetermined time interval; And when an interrupt occurs in the interrupt mode, check the number of interrupts generated within a predetermined time interval from the interrupt counter, and when the interrupt number is greater than the predetermined upper limit threshold, convert the interrupt mode to the polling mode to operate the polling mode processing unit, and the polling mode. A mode control unit which checks the number of interrupts generated within a predetermined time interval from the interrupt counter according to a predetermined period and converts the polling mode into an interrupt mode and operates an interrupt mode processing unit when the interrupt number is smaller than a predetermined lower limit threshold. It is configured by.
상기의 다른 목적을 달성하기 위하여, 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에서 과도한 인터럽트를 방지하는 본 발명에 의한 방법은, (a) 인터럽트 모드에서 인터럽트의 발생을 감지하는 단계; (b) 인터럽트 모드에서 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수와 소정의 상한 임계값를 비교하여, 상한 임계값보다 작거나 같은 경우 우선순위가 높은 인터럽트 처리 요구에 대하여 태스크 스위칭을 통해 인터럽트 처리를 수행한 후 이전의 태스크로 복귀하고, 상한 임계값보다 큰 경우 인터럽트 모드를 폴링 모드로 변환하는 단계; (c) 폴링 모드에서 인터럽트 소스들을 순차적으로 감시하여 인터럽트 요구가 발생한 인터럽트 소스에 대하여 인터럽트 처리를 수행하는 단계; 및 (d) 폴링 모드에서 인터럽트 카운터로부터 소정의 시간 간격 내에 발생한 인터럽트 수와 소정의 하한 임계값를 비교하여, 하한 임계값보다 작거나 같은 경우 폴링 모드를 인터럽트 모드로 변환하고, 하한 임계값보다 큰 경우 폴링 모드를 계속 유지하는 단 계;를 포함하여 구성된다.In order to achieve the above another object, a method according to the present invention for preventing excessive interruption in an information processing system employing a priority interrupt processing method, comprising: (a) detecting the occurrence of an interrupt in an interrupt mode; (b) In interrupt mode, the number of interrupts generated within a predetermined time interval from the interrupt counter is compared with a predetermined upper limit threshold value, and interrupt processing is performed through task switching for an interrupt processing request having a higher priority when it is less than or equal to the upper limit threshold value. Returning to a previous task after performing the step, and converting the interrupt mode to the polling mode when the threshold value is greater than the upper limit threshold value; (c) sequentially monitoring the interrupt sources in the polling mode and performing interrupt processing on the interrupt source on which the interrupt request has occurred; And (d) comparing the number of interrupts generated within a predetermined time interval from the interrupt counter in the polling mode with a predetermined lower limit threshold value, converting the polling mode to an interrupt mode when it is less than or equal to the lower limit threshold value, and being greater than the lower limit threshold value. And maintaining the polling mode.
이하에서, 본 발명에 따른 과도한 인터럽트로부터 시스템을 보호하는 장치에 대한 바람직한 실시예를 첨부된 도면에 의거하여 상세하게 설명하기로 한다.Hereinafter, a preferred embodiment of an apparatus for protecting a system from excessive interruption according to the present invention will be described in detail with reference to the accompanying drawings.
도 2에 의하면, 본 발명에 의한 과도한 인터럽트로부터 정보 처리 시스템을 보호하는 장치는 인터럽트 모드 처리부(10), 폴링 모드 처리부(20), 모드 제어부(30) 및 인터럽트 카운터(40)를 포함하여 정보 처리 시스템(도시되지 않음)에 구현된다. 본 발명이 구현되는 정보 처리 시스템은 인터럽트 메커니즘을 구현하고 있는 일반적인 컴퓨터 시스템을 모두 포함한다.2, an apparatus for protecting an information processing system from excessive interruption according to the present invention includes an
인터럽트 모드 처리부(10)는 인터럽트 모드에서 동작하며, 우선순위가 높은 인터럽트 처리 요구에 대하여 태스크 스위칭을 통해 인터럽트 처리를 수행한 후 이전의 태스크로 복귀하는 것으로, 인터럽트 모드에서만 동작한다는 점을 제외하면 일반적인 정보 처리 시스템에서의 전형적인 인터럽트 처리부와 다르지 아니하다. 따라서, 이에 대한 구체적인 설명은 생략하기로 한다.The interrupt
폴링 모드 처리부(20)는 폴링 모드에서 동작하며, 소정의 주기에 의해 인터럽트 소스들을 순차적으로 감시하여 인터럽트 요구가 발생한 인터럽트 소스에 대하여 인터럽트 처리를 수행한다. 따라서, 폴링 모드 처리부(20)는 폴링 모드에서 감시되어야 하는 모든 인터럽트 소스들을 관리하고, 소정의 주기에 따라 해당 인터럽트 소스에 폴링 신호를 부여함으로써 인터럽트 요구가 발생한 인터럽트 소스가 있는지 여부를 확인한다. 확인하는 인터럽트 소스로부터 인터럽트 요구가 있는 경우, 폴링 모드 처리부(20)는 해당 인터럽트 소스에 대한 인터럽트 서비스를 수행한 후, 다음 인터럽트 소스에 폴링 신호를 부여하게 된다. 따라서, 아무리 자주 인터럽트가 발생하더라도 폴링 모드에서는 폴링 모드 처리부(20)가 미리 정해진 주기에 따라 인터럽트 요구를 확인하게 되므로 시스템이 과도한 인터럽트로 인하여 다운되는 상황은 발생하지 아니한다. The polling
인터럽트 카운터(40)는 모드 제어부(30)의 요청에 의해 인터럽트 소스 그룹별로 소정의 시간 간격 내에 발생한 인터럽트의 수(Count#)를 카운팅한다. 여기서, 인터럽트 소스 그룹은 인터럽트를 발생하는 하나 또는 2 이상의 인터럽트 소스들을 그룹화한 것이다.The
모드 제어부(30)는 인터럽트 소스 그룹별로 인터럽트 모드와 폴링 모드를 토글 형식으로 관리한다. 또한 모드 제어부(30)는 인터럽트 모드에서 인터럽트가 발생하면 인터럽트 카운터(40)로부터 소정의 시간 간격 내에 발생한 인터럽트 수(Count#)를 확인하여 그 인터럽트 수(Count#)가 소정의 상한 임계값(TH_UP)보다 큰 경우 인터럽트 모드를 폴링 모드로 변환하여 폴링 모드 처리부(20)를 동작시킨다. 또한, 모드 제어부(30)는 폴링 모드에서 소정의 주기에 따라 인터럽트 카운터(40)로부터 소정의 시간 간격 내에 발생한 인터럽트 수(Count#)를 확인하여 그 인터럽트 수(Count#)가 소정의 하한 임계값(TH_DOWN)보다 작은 경우 폴링 모드를 인터럽트 모드로 변환하여 인터럽트 모드 처리부(10)를 동작시킨다.The
이하에서, 도 3을 참조하여 우선권 인터럽트 처리 방식을 채택하고 있는 정보 처리 시스템에서 과도한 인터럽트를 방지하는 방법에 대하여 상세히 설명하기로 한다.Hereinafter, a method of preventing excessive interruption in an information processing system adopting a priority interrupt processing method will be described in detail with reference to FIG. 3.
먼저, 인터럽트 모드에서 인터럽트의 발생을 감지하면(S100), 모드 제어부(30)는 인터럽트 카운터(30)로부터 소정의 시간 간격 내에 발생한 인터럽트 수(Count#)와 소정의 상한 임계값(TH_UP)를 비교하여(S110), 상한 임계값(TH_UP)보다 작거나 같은 경우 우선순위가 높은 인터럽트 처리 요구에 대하여 태스크 스위칭을 통해 인터럽트 처리를 수행한 후 이전의 태스크로 복귀한다(S160). First, when detecting the occurrence of an interrupt in the interrupt mode (S100), the
이에 반해, 상한 임계값(TH_UP)보다 큰 경우, 모드 제어부(30)는 인터럽트 모드를 폴링 모드로 변환한다(S120). 폴링 모드에서는 인터럽트 소스들을 순차적으로 감시하여 인터럽트 요구가 발생한 인터럽트 소스에 대하여 인터럽트 처리를 수행한다(S130).On the contrary, when it is larger than the upper limit threshold TH_UP, the
폴링 모드에서 모드 제어부(30)는 인터럽트 카운터(30)로부터 소정의 시간 간격 내에 발생한 인터럽트 수(Count#)와 소정의 하한 임계값(TH_DOWN)를 비교하여(S140), 하한 임계값(TH_DOWN)보다 작거나 같은 경우 폴링 모드를 인터럽트 모드로 변환한 후(S150), S100 단계로 되돌아 간다. 이에 반해, 하한 임계값(TH_DOWN)보다 큰 경우, 모드 제어부(30)는 폴링 모드를 계속 유지하여 S130 단계로 되돌아 간다.In the polling mode, the
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위 에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope will be construed as being included in the present invention.
본 발명에 의하면, 과도하거나 비정상적인 인터럽트가 많이 발생하여 정상적인 태스크의 수행이 어려울 수 있는 정보 처리 환경에서 동작하는 시스템에 적용되어, 일정 시간 내에 과도하게 많은 수의 인터럽트가 발생하는 것을 방지함으로써 정보 처리 시스템의 운영에 안정성을 유지할 수 있다.According to the present invention, an information processing system is applied to a system operating in an information processing environment in which excessive or abnormal interrupts are generated and it is difficult to perform normal tasks, thereby preventing an excessive number of interrupts from occurring within a predetermined time. It can maintain the stability of the operation.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050073640A KR100697988B1 (en) | 2005-08-11 | 2005-08-11 | Apparatus and method for protecting system from excessive occurrence of interrupt |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050073640A KR100697988B1 (en) | 2005-08-11 | 2005-08-11 | Apparatus and method for protecting system from excessive occurrence of interrupt |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070019136A KR20070019136A (en) | 2007-02-15 |
KR100697988B1 true KR100697988B1 (en) | 2007-03-23 |
Family
ID=41563944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050073640A KR100697988B1 (en) | 2005-08-11 | 2005-08-11 | Apparatus and method for protecting system from excessive occurrence of interrupt |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100697988B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310917B2 (en) | 2015-06-09 | 2019-06-04 | Hanwha Aerospace Co., Ltd. | Apparatus and method for processing data |
KR102550903B1 (en) * | 2022-11-04 | 2023-07-03 | 이동휘 | CHATTERING PREVENTING SWITCH FOR SMART FARM, and CONTROL METHOD THEREOF |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620154B2 (en) * | 2020-01-02 | 2023-04-04 | International Business Machines Corporation | Suppressing interrupts to an application thread |
US11586569B2 (en) * | 2021-07-23 | 2023-02-21 | EMC IP Holding Company, LLC | System and method for polling-based storage command processing |
WO2024128433A1 (en) * | 2022-12-15 | 2024-06-20 | 국민대학교산학협력단 | Hybrid interrupt processing device and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1143245A (en) | 1997-07-24 | 1999-02-16 | Mitsubishi Electric Corp | Recording paper holder and printer device using this |
KR19990080251A (en) * | 1998-04-14 | 1999-11-05 | 김영환 | Interrupt Loss Prevention Device |
-
2005
- 2005-08-11 KR KR1020050073640A patent/KR100697988B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1143245A (en) | 1997-07-24 | 1999-02-16 | Mitsubishi Electric Corp | Recording paper holder and printer device using this |
KR19990080251A (en) * | 1998-04-14 | 1999-11-05 | 김영환 | Interrupt Loss Prevention Device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310917B2 (en) | 2015-06-09 | 2019-06-04 | Hanwha Aerospace Co., Ltd. | Apparatus and method for processing data |
KR102550903B1 (en) * | 2022-11-04 | 2023-07-03 | 이동휘 | CHATTERING PREVENTING SWITCH FOR SMART FARM, and CONTROL METHOD THEREOF |
Also Published As
Publication number | Publication date |
---|---|
KR20070019136A (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6662204B2 (en) | Thread control system and method in a computer system | |
JP4882845B2 (en) | Virtual computer system | |
US6862688B2 (en) | Fault handling system and fault handling method | |
US7328367B2 (en) | Logically partitioned computer system and method for controlling configuration of the same | |
US9021172B2 (en) | Data processing apparatus and method and method for generating performance monitoring interrupt signal based on first event counter and second event counter | |
KR100697988B1 (en) | Apparatus and method for protecting system from excessive occurrence of interrupt | |
US7444450B2 (en) | Method and system for detecting excessive interrupt processing for a processor | |
JP2010271993A (en) | Interrupt processing apparatus and method | |
JP2008234520A (en) | Software behavior monitoring device, software behavior monitoring system and its program | |
CN110781053A (en) | Method and device for detecting memory degradation errors | |
JP2019095893A (en) | Semiconductor device | |
CN101221518B (en) | Method, device and system for preventing timing device overflow of hardware watchdog | |
US6338151B1 (en) | Input/output recovery which is based an error rate and a current state of the computer environment | |
JP2010186242A (en) | Computer system | |
JP4761229B2 (en) | Operation management apparatus, operation management method and program | |
JP5768503B2 (en) | Information processing apparatus, log storage control program, and log storage control method | |
US6336193B1 (en) | Input/output recovery method which is based upon an error rate and a current state of the computer environment | |
US20050166089A1 (en) | Method for processing a diagnosis of a processor, information processing system and a diagnostic processing program | |
JP2006277690A (en) | Cluster system, cluster switching method, and cluster switching control program | |
JP2008015704A (en) | Multiprocessor system | |
US6338145B1 (en) | Input/output recovery system which is based upon an error rate and a current state of the computer environment | |
CN100557576C (en) | The method and apparatus that operating system failure detects | |
JP3859564B2 (en) | Event notification task control processing method and method, and program | |
US7523358B2 (en) | Hardware error control method in an instruction control apparatus having an instruction processing suspension unit | |
CN113778763A (en) | Intelligent switching method and system for three-party interface service fault |
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 | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130304 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150304 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |