KR100495367B1 - 소프트웨어 워치도그를 이용한 시스템 관리방법 - Google Patents

소프트웨어 워치도그를 이용한 시스템 관리방법 Download PDF

Info

Publication number
KR100495367B1
KR100495367B1 KR10-2003-0020845A KR20030020845A KR100495367B1 KR 100495367 B1 KR100495367 B1 KR 100495367B1 KR 20030020845 A KR20030020845 A KR 20030020845A KR 100495367 B1 KR100495367 B1 KR 100495367B1
Authority
KR
South Korea
Prior art keywords
task
software
value
system management
management method
Prior art date
Application number
KR10-2003-0020845A
Other languages
English (en)
Other versions
KR20040085974A (ko
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 KR10-2003-0020845A priority Critical patent/KR100495367B1/ko
Publication of KR20040085974A publication Critical patent/KR20040085974A/ko
Application granted granted Critical
Publication of KR100495367B1 publication Critical patent/KR100495367B1/ko

Links

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 소프트웨어 워치도그를 이용한 시스템 관리방법에 관한 것으로서, 종래에는 소프트웨어적인 프로세서 이상상태 시, 워치도그 타이머를 통해 프로세서보드를 하드웨어적으로 초기화하여 해당 프로세서보드를 정상화 시키도록 하고 있으나, 이러한 경우, 장애가 발생한 프로세스 내지는 태스크 등의 장애원인을 확인 할 수 없어, 소프트웨어의 오류 원인을 해결할 수 없다는 문제점이 있었다.
이에 본 발명은, 소프트웨어적인 시스템 이상상태로 인한 시스템 리셋 시, 장애가 발생한 태스크 및 해당 태스크의 프로그램 카운터값 등의 실행정보를 제공함으로써, 소프트웨어의 오류 원인을 분석할 수 있도록 하는 시스템 관리방법을 제공한다.

Description

소프트웨어 워치도그를 이용한 시스템 관리방법{SYSTEM MANAGEMENT METHOD USING THE SOFTWARE WATCHDOG}
본 발명은 시스템 관리방법에 관한 것으로서, 특히 소프트웨어적인 시스템 이상상태로 인한 시스템 리셋 시, 장애가 발생한 태스크 및 해당 태스크의 프로그램 카운터값 등의 실행정보를 제공함으로써, 소프트웨어의 오류 원인을 분석 할 수 있도록 한 소프트웨어 워치도그를 이용한 시스템 관리방법에 관한 것이다.
도 1은 통상적인 셀룰러 이동통신 시스템의 구성을 나타낸 것으로서 도시된 바와 같이, 이동통신단말기에 서비스를 제공하는 다수의 기지국(13, 14)과, 다수개의 기지국들(13, 14)을 제어하는 다수개의 기지국 제어기(11, 12)과, 다수개의 기지국 제어기들(11, 12)을 제어하는 기지국 관리시스템(10)을 포함한다.
이러한 통신시스템은 주된 운영체제(Operating Sytem, 이하 OS라 함)에 의해 동작하는 다수개의 프로세서 보드들을 포함하며, 각 프로세서들의 OS는 고유한 기능을 수행하는 다수개의 프로세스들을 생성하여 데이터를 실시간으로 처리한다.
이와 같이, 데이터를 실시간으로 처리하는 실시간 시스템(real time system)으로는 교환기시스템, 키폰시스템 등이 있다. 이러한 실시간 시스템은 다양한 통신망을 통해 타 시스템과 연결되며, 연결된 타 시스템의 상태를 관리하고 유지 보수하는 기능을 구비한다. 실시간 시스템에 탑제되는 소프트웨어는 각각의 처리연산을 수행하는 복수의 태스크(Task)를 생성하고 시스템의 OS(Operating System) 상에서 태스크를 스케쥴링하여 외부로부터의 입력에 따라 각 태스크가 실행되도록 한다. 각 태스크는 이벤트 큐에서 이벤트를 하나씩 로딩하여 해당 이벤트를 처리하는 식으로 수행된다.
그런데, 소프트웨어적인 결함 등으로 인해 이벤트를 처리하던 태스크가 무한루프에 빠지게 되면, 그 다음 이벤트의 처리가 불가능하여 전체 시스템이 멈추게 된다.
따라서, 이를 방지하기 위해 소정 시간 이상 이벤트 처리가 완료되지 아니할 경우, 시스템 리셋신호를 출력하는 워치도그(watch dog)타이머가 구비된다. 각 태스크는 이벤트 큐로부터 이벤트를 가져오는 경우 워치도그 타이머를 리셋시킨다. 따라서, 소정 주기 동안 해당 태스크가 워치도그 타이머를 리셋시키지 못하는 경우, 워치도그 타이머는 카운팅을 계속하여 미리 지정된 카운팅값에 도달하면 시스템보드를 초기화시키는 하드웨어적인 리셋신호를 출력한다.
이러한 종래의 워치도그 타이머는 소프트웨어적인 시스템 이상 상태 시, 시스템보드를 하드웨어적으로 초기화하여 시스템을 정상화 시킬 수 있으나, 장애가 발생한 프로세스 내지는 태스크 등의 장애원인에 대한 정보를 제공하지 못하므로 시스템 장애를 근본적으로 해결할 수 없다는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 소프트웨어적인 시스템 이상상태로 인한 시스템 리셋 시, 장애가 발생한 태스크 및 해당 태스크의 프로그램 카운터값 등의 실행정보를 제공함으로써, 소프트웨어의 오류 원인을 분석할 수 있도록 하는 시스템 관리방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 특징은, 소프트웨어 워치도그를 이용한 시스템 관리방법에 있어서, 시스템 구동 상태에서 프로세스를 실행하는 경우에, 소정 시간 단위로 타이머값을 증가시키는 단계와; 상기 프로세스가 정상적으로 실행되는 경우, 상기 타이머값을 초기화하는 단계와; 상기 타이머값이 소정의 이상상태 판정기준값에 도달하였는지 여부를 판단하는 단계와; 상기 타이머가 상기 이상상태 판정기준값에 도달한 것으로 판단된 경우, 현재 실행중인 프로세스의 실행정보를 저장하는 단계와; 상기 실행정보의 저장 완료 후, 상기 시스템을 리셋시키는 단계를 포함하는데 있다.
여기서, 상기 타이머값을 초기화하는 단계는, 상기 프로세스의 연산처리를 위한 각 태스크가 이벤트 큐로부터 이벤트를 로딩하는 경우, 상기 타이머값을 초기화하는 것이 바람직하다.
그리고, 상기 프로세스의 실행정보를 저장하는 단계는, 현재 실행중인 태스크 및 해당 태스크의 프로그램 카운터값을 저장하는 단계인 것이 가능하다.
또한, 상기 프로세스의 실행정보를 저장하는 단계는, 현재 실행중인 태스크 및 해당 태스크의 스택 포인터값을 저장하는 단계인 것이 가능하다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 시스템 관리방법에 대해서 상세하게 설명한다.
본 발명에 따른 시스템 관리방법은 소프트웨어적인 프로세서 이상상태가 발생할 경우, 시스템을 소프트웨어적으로 리셋시키는 워치도그 기능을 구현하는 동시에 리셋이 발생한 원인이 되는 프로세스에 대한 정보를 제공한다.
이에 따라, 본 발명에서는 워치도그의 타이머값을 증가시키는 인터럽트 신호를 생성하는 한편, 실행되는 각 태스크의 워치도그 타이머값을 확인하며, 설정된 워치도그 타이머값 동안 해당 태스크로부터 응답이 있는지 유무를 확인하고, 해당 태스크의 수행에 이상이 생긴 것으로 판단된 경우 OS를 통해 현재 실행중인 태스크의 정보를 요청하는 시스템관리루틴을 적용하고 있다.
이러한 시스템관리루틴은 다음과 같이 프로그래밍 될 수 있다.
<시스템관리루틴 프로그래밍의 예>
System Management
{
IncreaseWatchDogValue();
if(locking detected){
Record PC of each Task;
Reset System;
}
}
여기서, 프로그램카운터는 프로세서 내에 내장되는 레지스터의 일종으로서, 실행중인 명령 또는 다음에 수행될 명령의 주소를 저장하고 있으므로 프로그램 카운터값이라 함은 실행시킬 명령이 기억되어 있는 프로그램 메모리의 번지를 의미한다. 스택 포인터는 서브루틴 호출이나 인자 전달 등에 사용되는 스택의 현재 위치 즉, 스택의 어드레스를 표시한다. 시스템 관리루틴이 요구한 프로그램 카운터값 내지는 스택 포인터값은 OS의 시스템 콜(system call)이나, API(Application Program Interface)를 이용하여 현재 수행중인 태스크와, 해당 태스크에서의 프로그램 카운터값을 제공받을 수 있다.
한편, 각 태스크들은 이벤트 큐로부터 이벤트를 가져오는 경우 워치도그 타이머값을 리셋시킴으로써 워치도그 타이머의 값이 증가하여 시스템이 리셋되는 것을 방지한다. 따라서, 각 태스크 들에는 다음과 같은 프로그램 명령문이 추가된다.
<태스크에 추가되는 루틴의 프로그래밍 예>
Task A
while{
ResetWatchDogValue();
GetEvent();
ProcessEvent();
}
이러한 소프트웨어 구성에 따른, 본 발명의 시스템 관리방법의 개략적인 흐름은 도 2와 같다. 시스템이 구동되면, 소정 시간 주기로 워치도그 타이머값을 확인한다(S10). 워치도그 타이머값이 소정 기준값에 도달한 것으로 확인된 경우, 먼저, 현재 실행중인 프로세스의 실행정보를 저장한다(S14). 여기서, 프로세스의 실행정보는 해당 프로세스 내지는 태스크의 어드레스 등의 구체적인 실행상태정보를 포함한다. 프로세스의 실행정보가 저장되면 시스템을 리셋한다(S16).
시스템이 재실행 된 후, 사용자의 선택에 따라, 시스템 리셋 직전에 저장하였던 프로세스의 실행정보를 사용자에게 표시한다(S18).
이상과 같이, 본 발명은 워치도그 기능에 의해 시스템이 리셋되는 경우, 시스템이 이상을 발생시킨 프로세스 내지는 태스크의 실행정보를 미리 저장하여 사용자에게 보고한다. 이에 따라, 사용자는 시스템 장애 발생 시, 실행되었던 태스크를 확인함으로써, 소프트웨어의 오류를 구체적으로 분석하여 이를 해결할 수 있다.
본 발명의 시스템 관리방법을 도 3의 흐름도를 참조하여 더욱 상세히 설명한다.
시스템의 부팅과 함께, 프로세서는 각종 프로세스를 실행시키며, 프로세스는 데이터의 처리연산을 수행하는 복수의 태스크를 생성하여 시스템의 OS 상에서 태스크를 스케쥴링하고, 외부로부터의 이벤트에 따라 각 태스크가 실행되도록 한다.
여기서, 각 태스크들은 해당 이벤트를 처리하면서 워치도그 타이머값을 초기화 한다(S20). 이러한 태스크들의 일정 부분에는 워치도그 타이머값을 초기화시키는 명령이 포함되어 있으며, 앞서 설명한 <태스크에 추가되는 루틴의 프로그래밍 예>를 적용하는 경우, 태스크들은 이벤트 큐에서 이벤트를 로딩할 시, 워치도그 타이머값을 초기화한다.
한편, 시스템의 부팅과 함께 실행되는 시스템 관리루틴은 일정 주기로 워치도그 타이머값을 증가시킨다(S22). 이렇게 증가된 워치도그 타이머값은 정상적으로 수행되는 태스크의 워치도그 타이머값 초기화 명령실행에 따라 다시 초기화되는 상황이 반복된다(S24).
시스템관리루틴은 소정시간 주기로 타이머값을 확인하여(S26), 워치도그 타이머값이 소정 기준값에 도달하였는지 여부를 판단한다(S28). 여기서 기준이 되는 값은 태스크가 무한루프 상태인지를 판단하는 값으로서, 각 태스크마다 각기 다르게 할당될 수 있다.
시스템관리루틴은 소정 기준시간 이상 해당 태스크가 워치도그 타이머값을 리셋 시키지 못한 경우 태스크가 무한루프에 빠진 것으로 판단하여, OS를 통해 현재 수행중인 태스크의 프로그램 카운터값을 요청한다(S30). 여기서, 시스템관리루틴은 OS의 시스템 콜이나, API를 이용하여 현재 실행중인 태스크 및 해당 태스크의 프로그램 카운터값을 제공받을 수 있으며, OS가 지원하는 시스템 콜, API 기능에 따라 스택 포인터값을 제공받을 수도 있다.
시스템관리루틴은 해당 태스크의 프로그램 카운터값을 소정의 비휘발성 메모리에 저장하고(S32), 워치도그 타이머값이 시스템 리셋값에 도달하면(S34), 시스템보드를 소프트웨어적으로 리셋 시킨다(S36).
이상 설명한 바와 같이, 본 발명은 소프트웨어적인 이상상태에 의해 시스템이 리셋되는 경우, 현재 무한루프에 빠진 태스크의 종류와 해당 태스크의 프로그램 카온터값을 저장하여 사용자에게 제공함으로써, 시스템의 소프트웨어적인 오류를 관리할 수 있도록 한다.
이러한 본 발명의 시스템 관리방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
이상에서 설명한 바와 같은 본 발명의 소프트웨어 워치도그를 이용한 시스템 관리방법에 따르면, 소프트웨어적인 시스템 이상상태로 인한 시스템 리셋 시, 장애가 발생한 태스크 및 해당 태스크의 프로그램 카운터값 등의 실행정보를 제공함으로써, 소프트웨어의 오류 원인을 분석할 수 있다.
도 1은 리얼타임시스템의 일 예를 도시한 구성도,
도 2는 본 발명의 제1 실시예에 따른 소프트웨어 워치도그를 이용한 시스템 관리방법의 흐름도,
도 3은 본 발명의 제2 실시예에 따른 소프트웨어 워치도그를 이용한 시스템 관리방법의 흐름도이다.
*** 도면의 주요 부분에 대한 부호의 설명 ***
10 : 기지국 관리시스템
11, 12 : 기지국 제어기
13, 14 : 기지국

Claims (4)

  1. 소프트웨어 워치도그를 이용한 시스템 관리방법에 있어서,
    시스템 구동 상태에서 프로세스를 실행하는 경우에, 소정 시간 단위로 타이머값을 증가시키는 단계와;
    상기 프로세스가 정상적으로 실행되는 경우, 상기 타이머값을 초기화하는 단계와;
    상기 타이머값이 소정의 이상상태 판정기준값에 도달하였는지 여부를 판단하는 단계와;
    상기 타이머가 상기 이상상태 판정기준값에 도달한 것으로 판단된 경우, 현재 실행중인 프로세스의 실행정보를 저장하는 단계와;
    상기 실행정보의 저장 완료 후, 상기 시스템을 리셋시키는 단계를 포함하는 것을 특징으로 하는 소프트웨어 워치도그를 이용한 시스템 관리방법.
  2. 제 1 항에 있어서, 상기 타이머값을 초기화하는 단계는,
    상기 프로세스의 연산처리를 위한 각 태스크가 이벤트 큐로부터 이벤트를 로딩하는 경우, 상기 타이머값을 초기화하는 것을 특징으로 하는 소프트웨어 워치도그를 이용한 시스템 관리방법.
  3. 제 1 항에 있어서, 상기 프로세스의 실행정보를 저장하는 단계는,
    현재 실행중인 태스크 및 해당 태스크의 프로그램 카운터값을 저장하는 단계인 것을 특징으로 하는 소프트웨어 워치도그를 이용한 시스템 관리방법.
  4. 제 1 항에 있어서, 상기 프로세스의 실행정보를 저장하는 단계는,
    현재 실행중인 태스크 및 해당 태스크의 스택 포인터값을 저장하는 단계인 것을 특징으로 하는 소프트웨어 워치도그를 이용한 시스템 관리방법.
KR10-2003-0020845A 2003-04-02 2003-04-02 소프트웨어 워치도그를 이용한 시스템 관리방법 KR100495367B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0020845A KR100495367B1 (ko) 2003-04-02 2003-04-02 소프트웨어 워치도그를 이용한 시스템 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0020845A KR100495367B1 (ko) 2003-04-02 2003-04-02 소프트웨어 워치도그를 이용한 시스템 관리방법

Publications (2)

Publication Number Publication Date
KR20040085974A KR20040085974A (ko) 2004-10-08
KR100495367B1 true KR100495367B1 (ko) 2005-06-14

Family

ID=37368880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0020845A KR100495367B1 (ko) 2003-04-02 2003-04-02 소프트웨어 워치도그를 이용한 시스템 관리방법

Country Status (1)

Country Link
KR (1) KR100495367B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200058479A (ko) * 2017-09-30 2020-05-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673303B1 (ko) * 2014-11-12 2016-11-22 현대자동차주식회사 와치독 제어 방법 및 장치
CN109739675A (zh) * 2018-12-24 2019-05-10 深圳航天东方红海特卫星有限公司 一种利用硬件看门狗捕捉程序异常的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200058479A (ko) * 2017-09-30 2020-05-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR102313664B1 (ko) 2017-09-30 2021-10-15 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR20210126159A (ko) * 2017-09-30 2021-10-19 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR102460380B1 (ko) 2017-09-30 2022-10-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
US11693701B2 (en) 2017-09-30 2023-07-04 Huawei Technologies Co., Ltd. System service timeout processing method, and apparatus

Also Published As

Publication number Publication date
KR20040085974A (ko) 2004-10-08

Similar Documents

Publication Publication Date Title
US6112320A (en) Computer watchdog timer
US7721153B2 (en) System, method and program product for recovering from a failure
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
KR20100066576A (ko) 펌웨어 이미지 갱신 및 관리
CN111176801B (zh) 一种多进程管理方法、装置、设备及存储介质
US20080244589A1 (en) Task manager
RU2134446C1 (ru) Способ управления перегрузкой сообщениями элементарной программы в мультипроцессорной управляющей системе (варианты)
US20230229423A1 (en) Pushing a firmware update patch to a computing device via an out-of-band path
JP6723941B2 (ja) 制御装置および制御プログラム更新方法
KR100495367B1 (ko) 소프트웨어 워치도그를 이용한 시스템 관리방법
US5226151A (en) Emergency resumption processing apparatus for an information processing system
US20170024244A1 (en) Method for monitoring a software program and corresponding electronic device, communication system, computer readable program product and computer readable storage medium
CN113342376B (zh) 一种针对物联网设备的操作***进行升级的方法及装置
CN113254062B (zh) 一种bmc参数配置及生效的方法、装置、设备和介质
CN109344005B (zh) 一种基本输入输出***bios冗余备份方法和装置
KR100952762B1 (ko) 디지털 시그널 프로세서의 실시간 디버깅 방법
CN116756048B (zh) 一种代码分析方法、装置、计算机设备及存储介质
US20230318870A1 (en) Providing a service in a node of a cyber-physical system having at least two application modules
US7386712B2 (en) Firmware developer user interface with break command polling
KR100414059B1 (ko) Rtos에서의 와치독 타이머를 이용한 오동작 감시시스템 및 방법
KR20230101569A (ko) 가상 워치독 제공 방법 및 그 방법이 적용된 연산 장치
CN118093118A (zh) 一种进程处理方法、处理器、计算设备及存储介质
CN117931433A (zh) 多进程运行方法、装置、终端设备及计算机可读存储介质
US20070220524A1 (en) Apparatus and method to manage system by processes using process data record
CN111832735A (zh) 基于模板来执行机器学习过程的方法和***

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: 20130516

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140520

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160513

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee