KR101300806B1 - Apparatus and method for handling abnormal processing in multi process system - Google Patents

Apparatus and method for handling abnormal processing in multi process system Download PDF

Info

Publication number
KR101300806B1
KR101300806B1 KR1020070005015A KR20070005015A KR101300806B1 KR 101300806 B1 KR101300806 B1 KR 101300806B1 KR 1020070005015 A KR1020070005015 A KR 1020070005015A KR 20070005015 A KR20070005015 A KR 20070005015A KR 101300806 B1 KR101300806 B1 KR 101300806B1
Authority
KR
South Korea
Prior art keywords
time
list
reboot
malfunction
information
Prior art date
Application number
KR1020070005015A
Other languages
Korean (ko)
Other versions
KR20080067739A (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 KR1020070005015A priority Critical patent/KR101300806B1/en
Publication of KR20080067739A publication Critical patent/KR20080067739A/en
Application granted granted Critical
Publication of KR101300806B1 publication Critical patent/KR101300806B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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 or look ahead
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 다중 프로세스(Process) 시스템의 오동작 처리에 관한 것으로, 유휴 시간(Idle Time) 감시 대상 프로세스 정보, 상기 유휴 시간의 임계값 정보, 재부팅(Rebooting) 예외 프로세스 목록 정보를 저장하는 저장부와, 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면 오동작이 발생하였음을 판단하는 판단부와, 상기 오동작 발생 시, 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있으면, 상기 가장 오래 수행된 프로세스를 종료하도록 처리하는 처리부를 포함하여, 다중 프로세스 시스템에서 프로세스의 유휴 시간을 통해 오동작을 감지하고, 비정상 프로세스만을 중단하여 시스템을 정상 상태로 복구함으로써, 프로세스들의 동작 시간 및 상태의 실시간 확인 및 재부팅없는 시스템 복구가능하다.The present invention relates to a malfunction processing of a multi-process system, comprising: a storage unit storing idle time monitoring process information, threshold information of the idle time, and rebooting exception process list information; A determination unit that determines that a malfunction has occurred when the idle state of the target process continues above the threshold value; and, when the malfunction occurs, the process that has been performed for the longest time in the reboot exception process list is included in the reboot exception process list. Including multi-processing processing to terminate the long-running process, by detecting the malfunction through the idle time of the process in the multi-process system, and restores the system to the normal state by stopping only the abnormal process, real-time of the operation time and state of the processes System recovery without confirmation and reboot is possible.

다중 프로세스(Multi Process), 오동작(Abnormal Precess), Process Starvation Multi Process, Abnormal Precess, Process Starvation

Description

다중 프로세스 시스템에서 오동작 처리 장치 및 방법{APPARATUS AND METHOD FOR HANDLING ABNORMAL PROCESSING IN MULTI PROCESS SYSTEM}Apparatus and method for handling malfunctions in multi-process systems {APPARATUS AND METHOD FOR HANDLING ABNORMAL PROCESSING IN MULTI PROCESS SYSTEM}

도 1은 본 발명에 따른 다중 프로세스 시스템 장치의 블록 구성을 도시하는 도면, 및1 is a block diagram illustrating a multi-process system apparatus according to the present invention; and

도 2는 본 발명의 실시 예에 따른 다중 프로세스 시스템에서 오동작 감지 및 처리 절차를 도시하는 도면.2 is a diagram illustrating a malfunction detection and processing procedure in a multi-process system according to an exemplary embodiment of the present invention.

본 발명은 다중 프로세스(Process) 시스템에 관한 것으로, 특히 다중 프로세스 시스템에서 프로세서 스케줄링의 오동작을 감지하여 처리하기 위한 장치 및 방법에 관한 것이다.The present invention relates to a multi-process system, and more particularly, to an apparatus and method for detecting and processing a malfunction of processor scheduling in a multi-process system.

다중 프로세스 환경에서는 소프트웨어가 기능 단위 또는 작업 단위로 구분되어 프로세스라 칭해지며, 상기 각 프로세스는 독자적으로 동작한다. 여기서, 상기 각 프로세스는 운영체제에서 설정된 우선 순위를 가지고, 상기 우선 순위에 따라 순환적으로 처리된다. 즉, 상기 각 프로세스들은 우선 순위에 의해 스케줄링된 결과에 따라 중앙 처리 장치(CPU : Central Processing Unit)를 점유하며 해당 기능을 수행한다.In a multi-process environment, software is divided into functional units or task units and called a process, and each process operates independently. Here, each process has a priority set in the operating system and is cyclically processed according to the priority. That is, each of the processes occupies a central processing unit (CPU) according to a result scheduled by priority and performs a corresponding function.

이때, 특정 프로세서가 상기 중앙 처리 장치를 독점하게 되면, 시스템은 비정상적인 상태가 되어 정상적인 역할을 수행할 수 없게 된다. 예를 들어, 외부 장치의 원격 접속 또는 디버그(Debug) 단말로의 접속이 불가능한 고장 상태가 지속 될 수 있다. 따라서, 다중 프로세스 시스템에서 상기 오동작을 감지하고, 시스템을 정상 상태로 복구하기 위한 대안이 제시되어야 한다.At this time, if a specific processor monopolizes the central processing unit, the system may be in an abnormal state and may not perform a normal role. For example, a failure state in which an external device cannot be connected to a remote terminal or a debug terminal can be maintained. Therefore, an alternative for detecting the malfunction in a multi-process system and restoring the system to a normal state should be presented.

따라서, 본 발명의 목적은 다중 프로세스 시스템에서 특정 프로세스가 시스템을 독점하는 현상을 감지하여 상기 시스템을 정상 상태로 복구하기 위한 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an apparatus and method for recovering a system to a normal state by detecting a phenomenon in which a specific process monopolizes the system in a multi-process system.

본 발명의 다른 목적은 다중 프로세스 시스템에서 프로세스의 유휴 시간을 감시함으로써 시스템의 오동작 상황을 감지하기 위한 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for detecting a malfunction state of a system by monitoring an idle time of a process in a multi-process system.

본 발명의 또 다른 목적은 다중 프로세스 시스템에서 오동작 발생 시 시스템 재부팅없이 비정상 프로세스만을 중단시킴으로써 시스템을 정상 상태로 복구하기 위한 장치 및 방법을 제공함에 있다.It is still another object of the present invention to provide an apparatus and method for restoring a system to a normal state by stopping only an abnormal process without a system reboot when a malfunction occurs in a multi-process system.

상기 목적을 달성하기 위한 본 발명의 제 1 견지에 따르면, 다중 프로세 스(Process) 시스템 장치는, 유휴 시간(Idle Time) 감시 대상 프로세스 정보, 상기 유휴 시간의 임계값 정보, 재부팅(Rebooting) 예외 프로세스 목록 정보를 저장하는 저장부와, 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면 오동작이 발생하였음을 판단하는 판단부와, 상기 오동작 발생 시, 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있으면, 상기 가장 오래 수행된 프로세스를 종료하도록 처리하는 처리부를 포함하는 것을 특징으로 한다.According to a first aspect of the present invention for achieving the above object, the multi-process system device, the idle time monitoring process information, the threshold information of the idle time, the rebooting (Rebooting) exception A storage unit which stores process list information, a determining unit which determines that a malfunction occurs when the idle state of the target process continues above the threshold value, and when the malfunction occurs, the process that has been performed the longest for a unit time is rebooted. If included in the exception process list, characterized in that it comprises a processing unit for processing to terminate the longest process.

상기 목적을 달성하기 위한 본 발명의 제 2 견지에 따르면, 다중 프로세스 시스템에서 오동작 처리 방법은, 유휴 시간 감시 대상 프로세스 정보, 상기 유휴 시간의 임계값 정보, 재부팅 예외 프로세스 목록 정보를 설정하는 과정과, 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면, 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있는지 확인하는 과정과, 상기 가장 오래 수행된 프로세스를 종료시키는 과정을 포함하는 것을 특징으로 한다.According to a second aspect of the present invention for achieving the above object, the malfunction processing method in a multi-process system, the process of setting the idle time monitoring target process information, the threshold information of the idle time, reboot exception process list information, If the idle state of the target process continues above the threshold, checking whether the longest running process is included in the reboot exception process list for a unit time, and terminating the longest running process; It is characterized by.

이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단 된 경우 그 상세한 설명은 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하 본 발명은 다중 프로세스 시스템에서 다수의 프로세스 처리 시 특정 프로세스가 처리되지 않는 오류 상황을 감지 및 처리하기 위한 기술에 대한 기술에 대해 설명한다.Hereinafter, the present invention describes a technique for detecting and processing an error situation in which a specific process is not processed when processing a plurality of processes in a multi-process system.

우선, 본 발명은 오동작 상황 및 처리 방안에 대해 간략히 설명한다.First, the present invention briefly describes a malfunctioning situation and a processing method.

본 발명에서 고려되는 오동작 상황은 높은 우선 순위의 프로세스가 시스템을 독점함으로 인해 낮은 우선 순위의 프로세스가 수행되지 못하는 상황을 의미한다. 즉, 우선 순위에 관계없이 각 프로세스가 일정 시간 내에 반드시 수행되어야 시스템이 정상적인 역할을 수행하는 것이며, 특정 프로세스가 수행되지 못한다면 시스템은 고장 상태로 간주된다. The malfunction situation considered in the present invention means a situation in which a low priority process cannot be performed because a high priority process monopolizes the system. In other words, regardless of the priority, each process must be performed within a certain time period in order for the system to perform its normal role. If a specific process cannot be performed, the system is considered to be in a failure state.

따라서, 본 발명은 낮은 우선 순위를 갖는 프로세스의 유휴 시간(Idel Time)이 소정 기준 시간이상 지속되면 오동작 상황이라 판단하여, 가장 오래 시스템을 점유한 프로세스를 중단함으로써 시스템을 정상 상태로 복구한다. 이때, 해당 프로세스를 중단함으로써 항상 시스템이 정상 상태로 복구된다고 보장할 수 없다. 따라서, 해당 프로세스를 중단함으로써 시스템이 정상 상태로 복구되는 프로세스들을 구분하여, 경우에 따라 모든 프로세스들을 중단하고 시스템을 재부팅하여야 한다.Therefore, when the idle time of the process having the low priority lasts more than a predetermined reference time, the present invention determines that the system is in a malfunction state, and restores the system to the normal state by stopping the process that occupies the system for the longest time. At this time, stopping the process does not guarantee that the system will recover to its normal state at all times. Therefore, it is necessary to distinguish the processes in which the system is restored to its normal state by stopping the process, and in some cases, stop all the processes and reboot the system.

이하, 본 발명은 상술한 방식에 따라 오동작 감지 및 처리를 수행하는 다중 프로세스 시스템의 구성 및 동작 절차를 도면을 참조하여 상세히 설명한다.Hereinafter, a configuration and an operation procedure of a multi-process system for performing malfunction detection and processing in the above-described manner will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 다중 프로세스 시스템 장치의 블록 구성을 도시하고 있다.1 shows a block diagram of a multi-process system apparatus according to the present invention.

상기 도 1에 도시된 바와 같이, 상기 다중 프로세스 시스템 장치는 제어부(101), 프로세스 스케줄러(103), 저장부(105), 오동작 판단부(107) 및 오동작 처리부(109)를 포함하여 구성된다.As illustrated in FIG. 1, the multi-process system apparatus includes a control unit 101, a process scheduler 103, a storage unit 105, a malfunction determination unit 107, and a malfunction processing unit 109.

상기 제어부(101)는 각 프로세스를 처리하는 기능을 수행하며, 상기 프로세스 스케줄러(103), 저장부(105), 오동작 판단부(107) 및 오동작 처리부(109)를 제어한다. 상기 프로세스 스케줄러(103)는 다수의 프로세스들의 우선 순위를 판단하여 상기 제어부(101)의 프로세스 처리 순서 및 처리 시간을 결정한다.The controller 101 performs a function of processing each process, and controls the process scheduler 103, the storage 105, the malfunction determining unit 107, and the malfunction processing unit 109. The process scheduler 103 determines the priority of a plurality of processes to determine a process processing order and a processing time of the controller 101.

상기 저장부(105)는 상기 프로세스 처리 중에 임시적으로 발생하는 데이터 및 상기 프로세스 처리에 필요한 데이터 등을 저장한다. 특히, 상기 저장부(105)는 본 발명에 따라 오동작 감지를 위한 초기화 설정 정보를 저장한다. 다시 말해, 상기 저장부(105)는 유휴 시간을 감시할 대상 프로세스, 상기 유휴 시간의 임계값, 재부팅 예외 프로세스 목록 등을 입력받아 저장한다. 여기서, 상기 재부팅 예외 프로세스는 오동작 발생 시 재부팅없이 해당 프로세스만을 중단함으로써 시스템의 정상 복구가 가능한 프로세스를 의미한다. 또한, 상기 설정 정보들은 시스템 운용자로부터 입력되는 정보들이다. 즉, 상기 설정 정보들은 시스템의 운용 방침에 따라 외부에서 결정되어 입력된다.The storage unit 105 stores data temporarily generated during the process processing, data necessary for the process processing, and the like. In particular, the storage unit 105 stores initialization setting information for detecting a malfunction in accordance with the present invention. In other words, the storage unit 105 receives and stores a target process for monitoring idle time, a threshold value of the idle time, a reboot exception process list, and the like. Here, the reboot exception process means a process capable of normal recovery of the system by stopping only the corresponding process without rebooting when a malfunction occurs. In addition, the configuration information is information input from the system operator. That is, the setting information is determined and input from the outside according to the operating policy of the system.

상기 오동작 판단부(107)는 상기 저장부(105)에 저장된 설정 정보에 따라 오 동작이 발생하는지 판단한다. 즉, 상기 오동작 판단부(107)는 상기 감시 대상 프로세스의 유휴 시간이 사이 임계값 이상 지속되는지 확인한다. 상기 오동작 처리부(109)는 상기 오동작 판단부(107)가 오동작 발생을 판단하면, 단위 시간 동안 가장 오래 수행된 프로세스를 확인하고, 상기 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되는지 확인한다. 상기 오동작 처리부(109)는 상기 가장 오래 수행된 프로세스가 상기 목록에 포함되어 있으면, 해당 프로세스만을 중단하도록 제어하고, 상기 목록에 포함되어 있지 않으면, 시스템을 재부팅하도록 제어한다.The malfunction determining unit 107 determines whether a malfunction occurs according to the setting information stored in the storage unit 105. That is, the malfunction determining unit 107 checks whether the idle time of the monitored process lasts more than a threshold value. When the malfunction determining unit 107 determines that a malfunction occurs, the malfunction processing unit 109 checks the process that has been performed the longest for a unit time, and checks whether the longest process is included in the reboot exception process list. . If the longest-running process is included in the list, the malfunction processing unit 109 controls to stop only the corresponding process. If not, the malfunction processing unit 109 controls to reboot the system.

상술한 구성에서 상기 제어부(101)는 상기 프로세스 스케줄러(103), 상기 오동작 판단부(107) 및 상기 오동작 처리부(109)의 기능을 수행할 수 있다. 본 발명에서 이를 별도의 블록으로 구성한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서, 실제로 구현하는 경우 이들 모두를 상기 제어부(101)에서 처리하도록 구성하거나 이들 중 일부만 처리하도록 구성할 수 있다.In the above-described configuration, the controller 101 may perform functions of the process scheduler 103, the malfunction determining unit 107, and the malfunction processing unit 109. In the present invention, it is configured as a separate block to describe each function separately. Therefore, in actual implementation, all of them may be configured to be processed by the controller 101 or only some of them may be configured.

도 2는 본 발명의 실시 예에 따른 다중 프로세스 시스템에서 오동작 감지 및 처리 절차를 도시하고 있다.2 illustrates a malfunction detection and processing procedure in a multi-process system according to an exemplary embodiment of the present invention.

상기 도 2를 참조하면, 상기 제어부(101)는 201단계에서 오동작 감지를 위한 초기화 설정을 수행한다. 다시 말해, 유휴 시간을 감시할 대상 프로세스, 상기 유휴 시간의 임계값, 재부팅 예외 프로세스 목록 등을 입력받아 저장한다. 여기서, 상기 재부팅 예외 프로세스는 오동작 발생 시 재부팅없이 해당 프로세스만을 중단 함으로써 시스템의 정상 복구가 가능한 프로세스를 의미한다.Referring to FIG. 2, the controller 101 performs initialization for detecting malfunction in step 201. In other words, the target process for monitoring the idle time, the threshold value of the idle time, a reboot exception process list, and the like are received and stored. Here, the reboot exception process means a process capable of normal recovery of the system by stopping only the corresponding process without rebooting when a malfunction occurs.

상기 초기화 설정을 수행한 후, 상기 제어부(101)는 203단계로 진행하여 오동작 감시용 프로세스, 즉, 상기 감시 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되는지 확인한다.After performing the initialization setting, the control unit 101 proceeds to step 203 to check whether the malfunction monitoring process, that is, the idle state of the monitoring target process continues above the threshold value.

상기 유휴 상태가 상기 임계값 이상 지속되면, 상기 제어부(101)는 205단계로 진행하여 현재 프로세스들의 수행 정보를 저장한다. 이때, 상기 현재 프로세스들의 수행 정보를 저장하는 것은 추후 오동작의 원인 분석을 위한 동작이다.If the idle state continues above the threshold, the controller 101 proceeds to step 205 and stores performance information of current processes. In this case, storing the performance information of the current processes is an operation for later cause analysis.

이후, 상기 제어부(101)는 207단계로 진행하여 단위 시간 동안 가장 오래 수행된 프로세스를 확인한다. 즉, 높은 우선 순위의 프로세스가 시스템을 점유함으로 인해 낮은 우선 순위의 프로세스가 처리되지 못하는 상황을 감지한 것이므로, 가장 오래 시스템을 점유한 프로세스를 확인한다.In operation 207, the controller 101 checks the process that has been performed the longest for a unit time. In other words, because the high priority process occupies the system, the low priority process cannot be processed, so the process that occupies the system for the longest time is identified.

상기 가장 오래 수행된 프로세스를 확인한 후, 상기 제어부(101)는 상기 207단계에서 확인된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있는지 확인한다.After checking the longest process, the controller 101 checks whether the process identified in step 207 is included in the reboot exception process list.

만일, 상기 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있으면, 상기 제어부(101)는 209단계로 진행하여 상기 가장 오래 수행된 프로세스를 중단함으로써, 시스템을 정상 상태로 복구한다.If the longest running process is included in the reboot exception process list, the controller 101 proceeds to step 209 to stop the longest running process, thereby restoring the system to a normal state.

반면, 상기 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있지 않으면, 상기 제어부(101)는 211단계로 진행하여 시스템을 재부팅한다.On the other hand, if the longest process is not included in the reboot exception process list, the controller 101 proceeds to step 211 and reboots the system.

상술한 바와 같이, 다중 프로세스 시스템에서 오동작 감지 및 처리를 수행할 수 있다. 여기서, 본 발명은 소프트웨어 레벨에서의 기능으로써, 실제 구현할 시 마이크로 코드(Micro Code)로 작성되어 실시된다. 따라서, 이하 본 발명은 상기 오동작 감지 및 처리를 수행하기 위한 마이크로 코드의 예를 제시한다. 수도 코드(Pseudo Code) 형식으로 표현된 상기 마이크로의 예는 하기 <표 1>, <표 2>, <표 3> 및 <표 4>와 같다. 여기서, 하기 <표 3> 및 <표 4>에 나타난 중앙 처리 장치(Central Precessing Unit, 이하 'CPU'라 칭함)를 점유한다는 표현은 상기 도 1 및 도 2에서 설명한 시스템을 점유한다는 표현과 동일한 의미이다. 또한, 상기 CPU는 상기 제어부(101)에 대한 하나의 예이다.As described above, malfunction detection and processing can be performed in a multi-process system. Here, the present invention is a function at the software level, and is implemented in micro code when implemented in practice. Accordingly, the present invention provides an example of microcode for performing the malfunction detection and processing. Examples of the micro expressed in Pseudo Code format are shown in Tables 1, 2, 3, and 4 below. Here, the expression of occupying the central precessing unit (hereinafter referred to as 'CPU') shown in Tables 3 and 4 below has the same meaning as the expression of occupying the system described with reference to FIGS. 1 and 2. to be. In addition, the CPU is one example of the control unit 101.

Figure 112007004656439-pat00001
Figure 112007004656439-pat00001


함수의 기능

Function of function

코 드

code

설 명

Explanation



변수 선언





Variable declaration


struct process_timestruct process_time
{{ ULONG RUNNING_TIME;   ULONG RUNNING_TIME; 프로세스가 수행된 시간Time the process was performed ULONG START_TIME;   ULONG START_TIME; 프로세스 시작 시간Process start time ULONG ENDTIME;  ULONG ENDTIME; 프로세스 종료 시간Process end time ULONG LATEST_TIME;   ULONG LATEST_TIME; 수행 시간의 저장 시점 시간Save time of execution time }PROCESS_RUN_TIME[MAX_PID];} PROCESS_RUN_TIME [MAX_PID];

상기 <표 1>은 변수를 저장하기 위한 구조체를 선언하는 마이크로 코드의 예를 나타내고 있다. 상기 <표 1>에 나타난 구조체의 구성 요소들은 최소한의 것이며, 경우에 따라 추가적인 구성 요소를 포함하여 구성될 수 있다.Table 1 shows an example of microcode that declares a structure for storing a variable. The components of the structure shown in Table 1 above are minimal, and in some cases, may include additional components.


함수의 기능

Function of function

코 드

code

설 명

Explanation


감시 대상
프로세스 입력


Supervised
Process input
Get_LOW_PRI_PROCESS( )Get_LOW_PRI_PROCESS ()
{{ if(user_input( ))  if (user_input ()) LOW_PRI_PROCESS = user_input( );    LOW_PRI_PROCESS = user_input (); else  else LOW_PRI_PROCESS = IDLE_Process;    LOW_PRI_PROCESS = IDLE_Process; }}

유휴 시간
입계값 입력


Idle time
Enter threshold
Get_LOW_PRI_STARV_TIME( )Get_LOW_PRI_STARV_TIME ()
{{ if(user_input( ))  if (user_input ()) LOW_PRI_STARV_TIME = user_input( );     LOW_PRI_STARV_TIME = user_input (); 입력받은 시간 저장 Save input time else  else LOW_PRI_STARV_TICK = DEFAULT_TIME;     LOW_PRI_STARV_TICK = DEFAULT_TIME; }}
재부팅 예외
프로세스 입력

Reboot exception
Process input
Get_LowPri_Reboot_Except_List( )Get_LowPri_Reboot_Except_List ()
{{ LowPri_Reboot_Except_List = user_input( );  LowPri_Reboot_Except_List = user_input (); }}

설정
초기화


Set
reset
Initialize_Low_Pri_Starvation( )Initialize_Low_Pri_Starvation ()
{{ Get_LOW_PRI_PROCESS( );  Get_LOW_PRI_PROCESS (); Get_LOW_PRI_STARV_TIME( );  Get_LOW_PRI_STARV_TIME (); Get_LowPri_Reboot_Except_List( );  Get_LowPri_Reboot_Except_List (); }}

상기 <표 2>는 설정을 초기화하기 위한 마이크로 코드의 예를 나타내고 있다. 다시 말해, 상기 <표 2>는 유휴 시간 감시 대상 프로세스, 상기 유휴 시간의 임계값, 재부팅 예외 프로세스 목록 등을 입력받아 저장하기 위한 마이크로 코드를 나타내고 있다. 상기 도 2에 도시된 실시 예에서 201단계에 해당된다.Table 2 shows an example of microcode for initializing settings. In other words, Table 2 shows microcode for receiving and storing an idle time monitoring process, a threshold value of the idle time, a reboot exception process list, and the like. In the example illustrated in FIG. 2, step 201 corresponds to step 201.


함수의
기능

Function
function

코 드

code

설 명

Explanation





CPU
사용권한 양도










CPU
Transfer of Rights





context_switch(task_t *prev, task_t *next) context_switch (task_t * prev, task_t * next)
{{ getCurrentTime(&timestamp);   getCurrentTime (&timestamp); 현재 시간을 읽어 들임Read current time store_prev_process_run_time_and_time(timestamp);  store_prev_process_run_time_and_time (timestamp); CPU 사용 권한을 넘기는 프로세스의 수행 시간 및 종료 ㅅ시간 저장Save execution time and shutdown time of processes that pass CPU usage rights store_next_process_start_time(timestamp);   store_next_process_start_time (timestamp); CPU 사용 권한을 받은 프로세스의 시작시간 저장Save start time of processes that are granted CPU usage switch_to(prev, next, prev);  switch_to (prev, next, prev); CPU 사용 권한 양도Transfer of CPU Usage Rights }}






오동작
감지







Malfunction
Detect
timer_interrupt_handler( )timer_interrupt_handler ()
{{ getCurrentTime(&timestamp);  getCurrentTime (&timestamp); 현재 시간을 읽어 들임Read current time store_current_process_run_time_and_time(timestamp);  store_current_process_run_time_and_time (timestamp); 현재 수행 중인 프로세스의 수행 시간 및 종료 시간 저장Save run time and end time of currently running process if(timestamp - PROCESS_RUN_TIME[LOW_PRI_PROCESS].LATEST_TIME) > LOW_PRI_STARV_TIME )  if (timestamp-PROCESS_RUN_TIME [LOW_PRI_PROCESS] .LATEST_TIME)> LOW_PRI_STARV_TIME) 유휴 시간을 비교하여 오동작 판단Determination of malfunction by comparing idle time {  { LOW_PRI_STARVATION_DETECTION( );    LOW_PRI_STARVATION_DETECTION (); }  } }}

상기 <표 3>은 프로세스 스위칭 및 오동작 상황을 감지하기 위한 마이크로 코드의 예를 나타내고 있다. 상기 도 2에 도시된 실시 예에서 203단계에 해당된다.Table 3 shows an example of the micro code for detecting the process switching and malfunction. 2 corresponds to step 203 in the embodiment shown in FIG. 2.


함수의
기능

Function
function

코 드

code

설 명

Explanation











오동작

복구















Malfunction

restore




LOW_PRI_STARVATION_DETECTION( )LOW_PRI_STARVATION_DETECTION ()
{{ save_process_running_history( );  save_process_running_history (); 사후 원인 분석 용이며, 저장된 프로세스들의 수행 시간 및 상태 정보를 저장.It is used for post cause analysis and saves execution time and status information of stored processes. MAX_LOAD_PROCESS_ID = get_max_cpu_possess_process( );  MAX_LOAD_PROCESS_ID = get_max_cpu_possess_process (); 단위 시간 당 CPU를 가장 많이 점유한 프로세스 확인Determine which processes occupy the most CPUs per unit time for( i = 0 ; i < LowPri_Reboot_Except_List_Cnt ; i++)   for (i = 0; i <LowPri_Reboot_Except_List_Cnt; i ++) 재부팅 예외 목록에 존재 유무 확인Check existence of reboot exception list {  { if(MAX_LOAD_PROCESS == LowPri_Reboot_Except_List[i]){    if (MAX_LOAD_PROCESS == LowPri_Reboot_Except_List [i]) { found = 1;    found = 1; break;    break; }    } }  } if(found){  if (found) { kill_MAX_LOAD_PROCESS( );     kill_MAX_LOAD_PROCESS (); 해당 프로세스 중단Abort that process }  } else{  else { reboot( );    reboot (); 재부팅 수행Perform a reboot }  } }}

상기 <표 4>는 오동작이 감지된 경우, 상기 오동작으로부터 시스템을 정상 상태로 복구하기 위한 마이크로 코드를 나타내고 있다. 상기 도 2에 도시된 실시 예에서 205단계 내지 213단계에 해당된다.Table 4 shows microcodes for recovering a system from a malfunction to a normal state when a malfunction is detected. 2 corresponds to steps 205 to 213 in the embodiment shown in FIG.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같이, 다중 프로세스 시스템에서 프로세스의 유휴 시간을 통해 오동작을 감지하고, 비정상 프로세스만을 중단하여 시스템을 정상 상태로 복구함으로써, 프로세스들의 동작 시간 및 상태의 실시간 확인 및 재부팅없는 시스템 복구가능하다.As described above, by detecting a malfunction through the idle time of the process in a multi-process system, and recovering the system to the normal state by stopping only the abnormal process, it is possible to check the operating time and status of the processes in real time and recover the system without rebooting.

Claims (8)

다중 프로세스(Process) 시스템 장치에 있어서,In a multi-process system device, 유휴 시간(Idle Time) 감시 대상 프로세스 정보, 상기 유휴 시간의 임계값 정보, 재부팅(Rebooting) 예외 프로세스 목록 정보를 저장하는 저장부와,A storage unit for storing idle time monitoring process information, threshold information of the idle time, and rebooting exception process list information; 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면 오동작이 발생하였음을 판단하는 판단부와,A determination unit that determines that a malfunction occurs when the idle state of the target process continues above the threshold value; 상기 오동작 발생 시, 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있으면, 상기 가장 오래 수행된 프로세스를 종료하도록 처리하고, 상기 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있지 아니하면, 전체 시스템을 재부팅하도록 처리하는 처리부를 포함하는 것을 특징으로 하는 장치.When the malfunction occurs, if the longest running process for the unit time is included in the reboot exception process list, the longest running process is terminated, and the longest running process for the unit time is the reboot exception process. If not included in the list, the device comprising a processing unit for processing to reboot the entire system. 삭제delete 제 1항에 있어서,The method of claim 1, 상기 저장부는,Wherein, 상기 오동작 발생 시, 현재 시점에서 모든 프로세스들의 수행 정보를 저장하는 것을 특징으로 하는 것을 특징으로 하는 장치.And when the malfunction occurs, storing performance information of all processes at the present time. 다중 프로세스(Process) 시스템에서 오동작 처리 방법에 있어서,In the method of handling malfunction in a multi-process system, 유휴 시간(Idle Time) 감시 대상 프로세스 정보, 상기 유휴 시간의 임계값 정보, 재부팅(Rebooting) 예외 프로세스 목록 정보를 설정하는 과정과,Setting idle time monitoring process information, threshold time information of idle time, and rebooting exception process list information; 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면, 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있는지 확인하는 과정과, If the idle state of the target process continues above the threshold, checking whether the longest running process for a unit time is included in the reboot exception process list; 상기 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있으면, 상기 가장 오래 수행된 프로세스를 종료시키는 과정과,If the longest running process for the unit time is included in the reboot exception process list, terminating the longest running process; 상기 단위 시간 동안 가장 오래 수행된 프로세스가 상기 재부팅 예외 프로세스 목록에 포함되어 있지 아니하면, 전체 시스템을 재부팅시키는 과정을 포함하는 것을 특징으로 하는 방법.If the longest running process for the unit time is not included in the reboot exception process list, rebooting the entire system. 삭제delete 제 4항에 있어서,5. The method of claim 4, 상기 대상 프로세스의 유휴 상태가 상기 임계값 이상 지속되면, 현재 시점에서 모든 프로세스들의 수행 정보를 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.If the idle state of the target process continues above the threshold, further comprising storing performance information of all processes at the present time. 제1항에 있어서,The method of claim 1, 상기 재부팅 예외 프로세스 목록은, 오동작 발생 시 재부팅없이 해당 프로세스만을 중단함으로써 시스템의 정상 복구가 가능한 프로세스들의 목록인 것을 특징으로 하는 장치.The reboot exception process list is a list of processes capable of normal recovery of the system by stopping only the corresponding process without rebooting when a malfunction occurs. 제4항에 있어서,5. The method of claim 4, 상기 재부팅 예외 프로세스 목록은, 오동작 발생 시 재부팅없이 해당 프로세스만을 중단함으로써 시스템의 정상 복구가 가능한 프로세스들의 목록인 것을 특징으로 하는 방법.The reboot exception process list is a list of processes capable of normal recovery of the system by stopping only the corresponding process without rebooting when a malfunction occurs.
KR1020070005015A 2007-01-17 2007-01-17 Apparatus and method for handling abnormal processing in multi process system KR101300806B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070005015A KR101300806B1 (en) 2007-01-17 2007-01-17 Apparatus and method for handling abnormal processing in multi process system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070005015A KR101300806B1 (en) 2007-01-17 2007-01-17 Apparatus and method for handling abnormal processing in multi process system

Publications (2)

Publication Number Publication Date
KR20080067739A KR20080067739A (en) 2008-07-22
KR101300806B1 true KR101300806B1 (en) 2013-08-26

Family

ID=39821834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070005015A KR101300806B1 (en) 2007-01-17 2007-01-17 Apparatus and method for handling abnormal processing in multi process system

Country Status (1)

Country Link
KR (1) KR101300806B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030774A1 (en) * 2020-08-04 2022-02-10 삼성전자 주식회사 Memory management method and electronic device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102592723B1 (en) 2021-01-22 2023-10-20 한국수력원자력 주식회사 Apparatus of analyzing multiple spurious operation
KR20230073674A (en) 2021-11-19 2023-05-26 주식회사 큐셀네트웍스 apparatus and method for detecting cause of re-booting for hardware equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030058144A (en) * 2001-12-29 2003-07-07 엘지엔시스(주) Process obstacle lookout method and recovery method for information communication
JP2006011686A (en) * 2004-06-24 2006-01-12 Fuji Xerox Co Ltd Method for detecting abnormality of multi-task system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030058144A (en) * 2001-12-29 2003-07-07 엘지엔시스(주) Process obstacle lookout method and recovery method for information communication
JP2006011686A (en) * 2004-06-24 2006-01-12 Fuji Xerox Co Ltd Method for detecting abnormality of multi-task system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030774A1 (en) * 2020-08-04 2022-02-10 삼성전자 주식회사 Memory management method and electronic device

Also Published As

Publication number Publication date
KR20080067739A (en) 2008-07-22

Similar Documents

Publication Publication Date Title
US6438709B2 (en) Method for recovering from computer system lockup condition
US6012154A (en) Method and apparatus for detecting and recovering from computer system malfunction
US6880113B2 (en) Conditional hardware scan dump data capture
EP1351145A1 (en) Computer failure recovery and notification system
CN105550057B (en) Embedded software system fault detection recovery method and system
CN111273923B (en) FPGA (field programmable Gate array) upgrading method based on PCIe (peripheral component interface express) interface
US20170147422A1 (en) External software fault detection system for distributed multi-cpu architecture
US7162714B2 (en) Software-based watchdog method and apparatus
AU2010307632A1 (en) Microcomputer and operation method thereof
US20190052355A1 (en) Network switching system
CN110865900A (en) Method for enhancing robustness of embedded system
KR101300806B1 (en) Apparatus and method for handling abnormal processing in multi process system
US7840853B2 (en) CPU suppression system and CPU suppression method using service processor
JPH10214208A (en) System for monitoring abnormality of software
CN115904793B (en) Memory transfer method, system and chip based on multi-core heterogeneous system
CN105760276B (en) Reboot orders are improved to restart reliability and increase the method for the reset log
JP2004302731A (en) Information processor and method for trouble diagnosis
JP2965075B2 (en) Program execution status monitoring method
JP2009151440A (en) Program hang-up detection method and computer device adopting the same method
CN107133130B (en) Computer operation monitoring method and device
JPH1153225A (en) Fault processor
US9176806B2 (en) Computer and memory inspection method
WO2014112039A1 (en) Information processing device, method for controlling information processing device and information processing device control program
WO2007077604A1 (en) Information processor and method of monitoring hang-up
US10108499B2 (en) Information processing device with watchdog timer

Legal Events

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

Payment date: 20160728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190819

Year of fee payment: 7