KR100455623B1 - 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법 - Google Patents

멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법 Download PDF

Info

Publication number
KR100455623B1
KR100455623B1 KR10-2001-0086211A KR20010086211A KR100455623B1 KR 100455623 B1 KR100455623 B1 KR 100455623B1 KR 20010086211 A KR20010086211 A KR 20010086211A KR 100455623 B1 KR100455623 B1 KR 100455623B1
Authority
KR
South Korea
Prior art keywords
task
state
infinite loop
count value
tcb
Prior art date
Application number
KR10-2001-0086211A
Other languages
English (en)
Other versions
KR20030056052A (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-2001-0086211A priority Critical patent/KR100455623B1/ko
Publication of KR20030056052A publication Critical patent/KR20030056052A/ko
Application granted granted Critical
Publication of KR100455623B1 publication Critical patent/KR100455623B1/ko

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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티태스킹 운영체계(Multi Tasking Operating System)에서 리얼 타임 클럭(Real Time Clock)을 이용한 무한 루프 상태의 타스크 처리에 관한 것으로 특히, 타스크의 상태 변화에 대한 정보가 저장된 TCB(Task Control Block)의 상태 카운트 값의 검사를 통해 무한 루프 상태의 타스크를 검출하여 이를 처리하는 방법에 관한 것이다.
종래 타스크의 운영 상태 카운트를 이용한 무한 루프 타스크 처리 방법은 CPU를 빈번하게 점유하는 타스크나, 무한 루프에 빠져 있는 타스크보다 우선 순위가 높은 타스크가 레디 큐(Ready Queue)에 들어오는 경우 지금까지의 운영 상태 카운트 값이 0으로 초기화되어 무한 루프 타스크를 검출하여 처리하지 못하는 문제점이 있었다.
본 발명은 빈번하게 CPU를 점유하거나 우선 순위가 높은 타스크에게 CPU 점유권을 넘겨 주는 무한 루프 상태의 타스크를 TCB(Task Control Block) 상태 카운트 값의 검사를 통해 검출해 냄으로써, OS(Operating System) 레벨에서 무한 루프 상태의 타스크를 검출 및 처리하고 디버깅 정보까지 제공할 수 있도록 하여 서비스의 연속성을 보장하고 서비스의 품질을 향상시키는 효과가 있다.

Description

멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법{Method for Processing of Endless Loop Task in Multi Tasking Operating System}
본 발명은 멀티태스킹 운영체계에서 리얼 타임 클럭을 이용한 무한 루프 상태의 타스크 처리에 관한 것으로 특히, 타스크의 상태 변화에 대한 정보가 저장된 TCB의 상태 카운트 값의 검사를 통해 무한 루프 상태의 타스크를 검출하여 이를 처리하는 방법에 관한 것이다.
일반적으로 첨부된 도면 도 1에 도시된 바와 같은 소프트웨어 운영체계에서 리얼 타임 운영 체계(Real Time Operating System : RTOS)는 CPU와 입출력(Input/Output)을 가능한 효율적으로 사용할 수 있도록 멀티태스킹 운영체계(Multi Tasking Operating System)를 제공한다.
RTOS의 제어 단위는 타스크(task)로서, 타스크란 비동기적이고 즉시 수행되어야 할 이슈(issue)에 관계되는 액션(action)들의 집합을 말하며, 각각의 타스크는 0에서 특정 값 사이의 우선 순위를 갖는다.
그리고, 타스크의 상태는 첨부된 도면 도 2에 도시된 바와 같이 크게 운영(Running) 상태(스텝 S201), 준비(Ready) 상태(스텝 S202), 대기(Suspended) 상태(스텝 S203) 및 아이들(Idle) 상태(스텝 S204)로 나뉘어진다.
여기서, 운영 상태(스텝 S201)는 타스크가 CPU를 점유하여 자신의 인스트럭션(instruction)을 수행하고 있는 상태를 말하는데, 한 순간에는 하나의 타스크만이 운영 상태(스텝 S201)에 있을 수 있다.
준비 상태(스텝 S202)는 타스크가 자신의 인스트럭션 수행을 준비하고 있는 상태를 말하며, 준비 상태(스텝 S202)의 타스크는 현재 인스트럭션 수행 중인 타스크나 준비 상태(스텝 S202)에 있는 타스크 중에서도 우선 순위가 높은 타스크가 인스트럭션 수행을 종료하거나, 대기 상태(스텝 S203) 또는 아이들 상태(스텝 S204)로 될때까지 CPU를 점유할 수 없다.
대기 상태(스텝 S203)는 타스크가 자신의 인스트럭션 수행 중간에 CPU 점유권을 상실하고, 이벤트나 시스템 호출에 의해 준비 상태(스텝 S202)가 될 때까지 대기하는 상태를 말한다.
아이들 상태(스텝 S204)는 타스크가 초기화되어 있지 않거나 타스크의 인스트럭션 수행이 끝난 상태를 말한다.
상기와 같은 타스크의 상태는 각 타스크의 ID와 우선순위에 따라 RTOS의 스케쥴링 정책에 의해 결정되는데, 이때 각 타스크가 갖는 ID는 타스크 생성시 설정되는 것으로 1에서부터 시스템 환경에 따라 유저(user)타스크까지 설정 가능하다.
RTOS의 스케쥴링 정책은 준비 상태(스텝 S202)에 있는 높은 우선 순위를 가진 타스크에게 CPU의 점유권을 넘겨주는 것인데, 특정 타스크가 무한 루프(endless loop) 상태에 빠진 경우에는 전체 타스크의 동작에 영향을 미치게 되어 서비스 중단 사태가 발생하게 된다.
다시 말하면, 특정 타스크가 무한 루프 상태에 빠져 CPU를 계속 점유함으로써 다른 타스크가 CPU를 사용할 수 없는 상태가 되면, 실시간으로 처리되어야 하는 모든 일들이 처리가 늦어지거나 처리 불능 상태가 되어 연속적으로 보장되어야 할 서비스가 중단되는 상태에 이르게 되는 것이다.
따라서, 무한 루프 상태의 타스크는 이를 검색하여 삭제함으로써 다른 실시간 서비스가 보장되도록 하여야 한다.
무한 루프 타스크 처리 시스템의 구성은 첨부된 도면 도 3에 도시된 바와 같이 예외 처리부(31)와 스케줄러(32), 메모리(33), 레디 큐(Ready Queue)(34) 및 CPU(35)로 구성된다.
예외 처리부(31)는 CPU(35)나 외부의 클럭 공급 장치(도면에 도시되어 있지 않음)로부터 msec 단위로 주기적으로 발생되는 리얼 타임 클럭(Real Time Clock)을 입력받아 현재의 시간을 업데이트하고 스케줄러(32)를 호출한다.
스케줄러(32)는 예외 처리부(31)의 호출을 받아 타스크의 스케쥴링 정책에 따라 타스크를 관리한다.
즉, 스케줄러(32)는 리얼 타임 클럭이 발생하면 현재 운영 상태에 있는 타스크의 ID를 메모리(33)에 저장한 후, 다음 주기의 리얼 타임 클럭 발생시 메모리(33)에 이미 저장된 타스크 ID 즉, 직전 리얼 타임 클럭 발생시 운영 상태였던 타스크의 ID를 가져와서 현재 운영 상태인 타스크의 ID와 비교한다.
그리하여, 현재 운영 상태인 타스크 ID가 메모리(33)에 기저장된 타스크 ID와 다른 ID이면, 스케줄러(32)는 메모리(33)에 저장된 타스크 ID를 삭제하고 현재 운영 상태인 타스크 ID를 메모리(33)에 저장하며 타스크가 CPU(35)를 점유한 횟수 즉, 타스크가 운영 상태에 있었던 횟수를 나타내는 운영 상태 카운트 값을 0으로 초기화한다.
그러나, 현재 운영 상태인 타스크 ID가 메모리(33)에 저장된 타스크 ID와 동일한 ID이면, 스케줄러(32)는 타스크의 운영 상태 카운트 값을 1 증가시키고, 운영상태 카운트 값이 무한 루프 상태를 나타내는 카운트 값(이하 '무한 루프 카운트 값'이라고 함) 이상으로 증가되는지 여부를 검사한다.
그리고, 무한 루프 카운트 값 이상이면 스케줄러(32)는 그 타스크가 무한 루프에 빠져 있다고 판단하여 현재 운영 상태인 타스크의 ID와 운영 결과를 출력하고 해당 타스크를 삭제한다.
무한 루프 카운트 값은 시스템 환경에 따라 달라지게 되는데 10msec를 기준으로 할때 30000(3 분)정도로 설정하여 구현한다.
레디 큐(34)에는 운영 상태로 진입할 타스크들이 그 우선 순위에 따라 대기하고 있다.
상기와 같은 구성을 가지는 무한 루프 상태인 타스크 처리 시스템에서 무한 루프 타스크 처리 동작을 첨부된 도면 도 4를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 예외 처리부(31)는 CPU(35)나 외부의 클럭 공급 장치(도면에 도시되어 있지 않음)로부터 리얼 타임 클럭이 발생하면 스케줄러(32)를 호출한다.
이에, 스케줄러(32)는 현재 CPU(35)를 점유하고 자신의 인스트럭션을 수행하는 운영 상태의 타스크 ID를 메모리(33)에 저장한 후에 다음 주기의 리얼 타임 클럭 발생시 메모리(33)에 기저장된 타스크 ID를 검사하여(스텝 S401), 현재 운영 상태인 타스크의 ID와 동일한지 여부를 확인한다(스텝 S402).
상기 타스크 ID 확인 결과, 현재 운영 상태인 타스크 ID가 메모리(33)에 기저장된 직전 리얼 타임 클럭 발생시 운영 상태였던 타스크 ID와 동일하면 운영 상태 카운트 값을 1 증가시킨다(스텝 S403).
그 후, 운영 상태 카운트 값이 무한 루프 상태 카운트 값 이상인지 여부를 확인하여(스텝 S404), 무한 루프 카운트 값 이상이면 스케줄러(32)는 현재 운영 상태인 타스크가 무한 루프 상태라고 판단하여 타스크 ID와 운영 결과를 출력하고 타스크를 삭제한다(스텝 S405).
한편, 상기 스텝 S402의 확인 결과, 현재 운영 상태인 타스크 ID가 메모리(33)에 기저장된 직전 리얼 타임 클럭 발생시 운영 상태였던 타스크 ID와 동일하지 않으면, 스케줄러(32)는 타스크의 운영 상태 카운트 값을 초기화하고 메모리(33)에서 기저장된 타스크 ID를 삭제한 후에 현재 운영 상태인 타스크의 ID를 저장한다(스텝 S406).
그러나, 전술한 바와 같은 무한 루프 상태인 타스크의 처리 방법은 CPU(35)를 빈번하게 점유하는 타스크에 대해서나 또는 무한 루프에 빠져 있는 타스크보다 우선 순위가 높은 타스크가 레디 큐(34)에 들어올 경우 스케줄러(32)의 스케쥴링 정책에 따라 CPU(35) 점유권을 내주게 되면 지금까지의 운영 상태 카운트 값이 0으로 초기화되어 무한 루프 상태인 타스크를 검출하지 못하는 결과를 초래할 수 있다.
다시 말하면, CPU(35)를 빈번하게 점유하는 타스크의 경우 타스크는 무한 루프를 돌면서 짧은 순간 슬립(sleep)이나 입출력을 위한 웨이팅 잡(waiting job)으로 인해 운영 상태에서 준비 상태로 되었다가 곧 CPU(35)를 점유할 수 있는 운영상태가 된다. 이런 경우, 다른 타스크들은 잠시 동안 CPU(35)를 점유하여 자신들의 인스트럭션을 수행할 수는 있지만 처리 시간이 늦어져서 실시간 처리 시스템에서는 서비스가 지연되는 결과를 초래할 수 있다.
또한, 무한 루프 상태의 타스크보다 우선 순위가 높은 OS가 생성한 데몬(demon) 타스크나 쉘(shell)과 같은 시스템 타스크들이 레디 큐(34)에 들어오게 되면 스케줄러(32)는 스케쥴링 정책에 따라 CPU(35)의 점유권을 우선 순위가 높은 타스크에 넘겨주게 되므로 무한 루프 상태의 타스크를 검출할 수 없게 된다.
예컨대, 10의 우선 순위를 가진 타스크가 무한 루프 상태에 있을때 우선 순위가 15인 데몬 타스크가 레디 큐(34)에 들어오면 스케줄러(32)는 메모리(33)에 저장된 우선 순위 10을 갖는 타스크 ID를 우선 순위가 높은 데몬 타스크의 ID로 교체하고 운영 상태 카운트를 0으로 초기화하기 때문에 무한 루프 상태인 타스크를 검출할 수 없게 된다.
상술한 바와 같이 타스크 운영 상태 카운트를 이용한 무한 루프 상태의 타스크 처리 방법은 CPU를 빈번하게 점유하는 타스크나 무한 루프에 빠져 있는 타스크보다 우선 순위가 높은 타스크가 레디 큐에 들어오는 경우 지금까지의 운영 상태 카운트 값이 0으로 초기화되어 무한 루프 타스크를 검출하여 처리하지 못하는 문제점이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 타스크 상태 변화에 대한 정보가 저장된 TCB 상태 카운트 값의 검사를 통해 빈번하게 CPU를 점유하거나 우선 순위가 높은 타스크에게 CPU 점유권을 넘겨 주는 무한 루프 상태의 타스크를 검출하여 이를 처리하게 하는데 있다.
도 1은 소프트웨어 운영 환경을 도시한 도면.
도 2는 리얼 타임 OS에서 타스크의 상태 천이도.
도 3은 무한 루프 타스크 처리 시스템의 구성 블록도.
도 4는 종래 멀티태스킹 운영체계에서의 무한 루프 타스크 처리 동작을 설명하기 위한 플로우 챠트.
도 5는 본 발명에 따른 멀티태스킹 운영체계에서의 무한 루프 타스크 처리 동작을 설명하기 위한 플로우 챠트.
* 도면의 주요 부분에 대한 부호의 설명 *
31 : 예외 처리부 32 : 스케줄러
33 : 메모리 34 : 레디 큐
35 : CPU
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징은, 멀티태스킹 운영체계에서 리얼 타임 클럭 발생시 운영 상태인 타스크의 ID를 메모리에 저장하는 과정과; 다음 주기의 리얼 타임 클럭 발생시 현재 운영 상태의 타스크 ID를 상기 메모리에 기저장된 타스크 ID와 비교하여 상기 타스크가 계속 운영 상태인지를 확인하는 과정과; 상기 타스크가 계속 운영 상태인 경우 타스크의 운영 상태 카운트 값과 TCB 상태 카운트 값을 증가시킨 후에, 상기 운영 상태 카운트 값 또는 상기 TCB 상태 카운트 값에 의거하여 상기 타스크가 무한 루프 상태인지를 판단하는 과정과; 상기 타스크가 무한 루프 상태인 경우 상기 타스크의 ID 및 운영 결과를 출력하고 상기 타스크를 삭제하는 과정을 포함하는데 있다.
여기서, 상기 타스크가 무한 루프 상태인지를 판단하는 과정은, 상기 타스크가 계속 운영 상태인 경우 타스크의 운영 상태 카운트 값과 TCB 상태 카운트 값을 1 증가시키는 과정과; 상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상인지를 확인하는 과정과; 상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상이 아니면 상기 TCB 상태 카운트 값이 무한 루프 TCB 값 이상인지를 확인하는 과정과; 상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상이거나 상기 TCB 상태 카운트 값이 무한 루프 TCB 값 이상이면 상기 타스크가 무한 루프 상태인 것으로 판단하는 과정을 포함하는 것을 특징으로 한다.
나아가, 상기 타스크가 계속 운영 상태가 아닌 경우 운영 상태 카운트 값을 초기화하고 현재 운영 상태인 타스크 ID를 메모리에 저장한 후에, 레디 큐에 준비 상태인 타스크가 존재하는지를 확인하는 과정과; 상기 준비 상태인 타스크가 존재하는 경우 TCB 상태 카운트 값을 1 증가시킨 후에 무한 루프 TCB 값과 비교하여 상기 준비 상태인 타스크가 무한 루프 상태인지를 확인하는 과정과; 상기 준비 상태인 타스크가 무한 루프 상태인 경우 상기 준비 상태인 타스크의 ID 및 운영 결과를 출력하고 해당되는 타스크를 삭제하는 과정을 포함하여 이루어지는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명에 따른 무한 루프 검출 방법이 적용되는 무한 루프 타스크 처리 시스템의 전체적인 구성은 종래와 동일하므로 이하 동일한 도면 부호를 사용하기로 한다.
다만, 무한 루프 타스크 처리 시스템에서 메모리(33)에 저장되는 TCB(Task Control Block)에는 타스크가 운영 상태나 준비 상태에 있었던 횟수를 나타내는 변수(이하 'TCB 상태 카운트 값'이라고 함)가 하나 더 정의된다.
TCB는 모든 타스크 생성시 각각 생성되는 RTOS의 데이터 영역에 존재하는 데이터 구조인데, 스케줄러(32)는 CPU(35) 점유권을 다른 타스크에 넘겨 주고자 할 때 타스크의 상태 변화에 관한 정보를 TCB에 저장한 후에 CPU(35)의 점유권을 다른 타스크에 넘겨주고, 다시 실행하고자 할 때에는 TCB에 저장된 정보를 재사용하여 타스크들을 관리한다.
즉, 스케줄러(32)는 타스크가 운영 상태 또는 준비 상태인 경우 TCB 상태 카운트 값을 1씩 증가시키고, 대기 상태 또는 아이들 상태인 경우 TCB 상태 카운트 값을 0으로 초기화시킨다. 그 후, TCB 상태 카운트 값이 무한 루프 상태임을 나타내는 무한 루프 TCB 값 이상인지 여부를 확인하여 무한 루프 상태의 타스크를 검출한다.
본 발명에 따른 무한 루프 타스크 처리 동작을 첨부한 도면 도 5를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 시스템이 구동되고 CPU(35)나 외부의 클럭 공급 장치(도면에 도시되어 있지 않음)에서 첫번째 리얼 타임 클럭이 발생하면 예외 처리부(31)는 스케줄러(32)를 호출한다.
이에, 스케줄러(32)는 현재 운영 상태인 타스크의 ID를 메모리(33)에 저장하고, 다음 주기의 리얼 타임 클럭 발생으로 예외 처리부(31)의 호출을 받으면 메모리(33)에 기저장된 타스크 ID를 검사하여(스텝 S501), 현재 운영 상태인 타스크의ID와 동일한지 여부를 확인한다(스텝 S502).
상기 타스크 ID의 동일 여부 확인 결과, 메모리(33)에 저장되어 있는 타스크 ID와 현재 운영 상태인 타스크 ID가 동일한 경우, 스케줄러(32)는 운영 상태 카운트 값과 TCB 상태 카운트 값을 1 증가시킨다(스텝 S503).
그 후, 운영 상태 카운트 값이 무한 루프 카운트 값 이상인지 여부를 확인하여(스텝 S504), 운영 상태 카운트 값이 무한 루프 카운트 값 이상이면 스케줄러(32)는 현재 운영 상태인 타스크가 무한 루프 상태의 타스크라고 판단하여 타스크의 ID와 운영 결과를 출력하고 타스크를 삭제한다(스텝 S506).
그리고, 상기 스텝 S504의 확인 결과, 운영 상태 카운트 값이 무한 루프 카운트 값 이하인 경우 다시 TCB 상태 카운트 값이 무한 루프 TCB 값 이상인지 여부를 확인한다(스텝 S505).
상기 스텝 S505의 확인 결과, TCB 상태 카운트 값이 무한 루프 TCB 값 이상인 경우 스케줄러(32)는 현재 운영 상태인 타스크가 무한 루프 상태의 타스크라고 판단하여 타스크의 ID와 운영 결과를 출력한 후에 타스크를 삭제한다(스텝 S506).
한편, 상기 스텝 S502의 확인 결과, 메모리(33)에 기저장된 타스크 ID와 현재 운영 상태인 타스크 ID가 동일하지 않으면, 스케줄러(32)는 운영 상태 카운트를 초기화하고 메모리(33)에 기저장된 타스크 ID를 삭제한 후에 현재 운영 상태인 타스크의 ID를 저장한다(스텝 S507).
그 후, 스케줄러(32)는 레디 큐(34)에 준비 상태인 타스크가 존재하는지 여부를 확인하여(스텝 S508), 준비 상태인 타스크가 존재하는 경우 TCB 상태 카운트값을 1 증가시킨 후에(스텝 S509), 준비 상태인 타스크의 TCB 상태 카운트 값이 무한 루프 TCB 값 이상인지 여부를 확인하여 TCB 상태 카운트 값이 무한 루프 TCB 값 이상인 타스크는 그 ID와 운영 결과를 출력하고 삭제한다(스텝 S505,S506).
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 빈번하게 CPU를 점유하거나 우선 순위가 높은 타스크에게 CPU 점유권을 넘겨 주는 무한 루프 상태의 타스크를 TCB 상태 카운트 값의 검사를 통해 검출해 냄으로써, OS 레벨에서 무한 루프 상태의 타스크를 발견 처리하고 디버깅 정보까지 제공할 수 있도록 하여 서비스의 연속성을 보장하고 서비스의 품질을 향상시키는 효과가 있다.

Claims (4)

  1. 멀티태스킹 운영체계에서 리얼 타임 클럭 발생시 운영 상태인 타스크의 ID를 메모리에 저장하는 과정과;
    다음 주기의 리얼 타임 클럭 발생시 현재 운영 상태의 타스크 ID를 상기 메모리에 기저장된 타스크 ID와 비교하여 상기 타스크가 계속 운영 상태인지를 확인하는 과정과;
    상기 타스크가 계속 운영 상태인 경우 타스크의 운영 상태 카운트 값과 TCB 상태 카운트 값을 증가시킨 후에, 상기 운영 상태 카운트 값 또는 상기 TCB 상태 카운트 값에 의거하여 상기 타스크가 무한 루프 상태인지를 판단하는 과정과;
    상기 타스크가 무한 루프 상태인 경우 상기 타스크의 ID 및 운영 결과를 출력하고 상기 타스크를 삭제하는 과정을 포함하는 것을 특징으로 하는 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법.
  2. 제 1항에 있어서,
    상기 타스크가 무한 루프 상태인지를 판단하는 과정은, 상기 타스크가 계속 운영 상태인 경우 타스크의 운영 상태 카운트 값과 TCB 상태 카운트 값을 1 증가시키는 과정과;
    상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상인지를 확인하는 과정과;
    상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상이 아니면 상기 TCB 상태 카운트 값이 무한 루프 TCB 값 이상인지를 확인하는 과정과;
    상기 운영 상태 카운트 값이 무한 루프 카운트 값 이상이거나 상기 TCB 상태 카운트 값이 무한 루프 TCB 값 이상이면 상기 타스크가 무한 루프 상태인 것으로 판단하는 과정을 포함하는 것을 특징으로 하는 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법.
  3. 삭제
  4. 제 1항에 있어서,
    상기 타스크가 계속 운영 상태가 아닌 경우 운영 상태 카운트 값을 초기화하고 현재 운영 상태인 타스크 ID를 메모리에 저장한 후에, 레디 큐에 준비 상태인 타스크가 존재하는지를 확인하는 과정과;
    상기 준비 상태인 타스크가 존재하는 경우 TCB 상태 카운트 값을 1 증가시킨 후에 무한 루프 TCB 값과 비교하여 상기 준비 상태인 타스크가 무한 루프 상태인지를 확인하는 과정과;
    상기 준비 상태인 타스크가 무한 루프 상태인 경우 상기 준비 상태인 타스크의 ID 및 운영 결과를 출력하고 해당되는 타스크를 삭제하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법.
KR10-2001-0086211A 2001-12-27 2001-12-27 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법 KR100455623B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086211A KR100455623B1 (ko) 2001-12-27 2001-12-27 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086211A KR100455623B1 (ko) 2001-12-27 2001-12-27 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법

Publications (2)

Publication Number Publication Date
KR20030056052A KR20030056052A (ko) 2003-07-04
KR100455623B1 true KR100455623B1 (ko) 2004-11-06

Family

ID=32214273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0086211A KR100455623B1 (ko) 2001-12-27 2001-12-27 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법

Country Status (1)

Country Link
KR (1) KR100455623B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5920061A (ja) * 1982-07-24 1984-02-01 Mitsubishi Electric Corp ウオツチ・ドツグ・タイマ
JPH0263248A (ja) * 1988-08-29 1990-03-02 Nec Corp タスクプログラムの無限ループ障害検出方式
JPH0962520A (ja) * 1995-08-23 1997-03-07 Oki Electric Ind Co Ltd 無限ループ監視装置
KR970031699A (ko) * 1995-11-21 1997-06-26 유기범 전전자 교환기의 하위레벨 프로세서 운영체계의 무한루프 검출방법(method for detecting endless loop in the operating system of low level processor for full electronic switching system)
KR19990086060A (ko) * 1998-05-25 1999-12-15 김영환 이동통신 교환기의 하위프로세서에서 무한루프 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5920061A (ja) * 1982-07-24 1984-02-01 Mitsubishi Electric Corp ウオツチ・ドツグ・タイマ
JPH0263248A (ja) * 1988-08-29 1990-03-02 Nec Corp タスクプログラムの無限ループ障害検出方式
JPH0962520A (ja) * 1995-08-23 1997-03-07 Oki Electric Ind Co Ltd 無限ループ監視装置
KR970031699A (ko) * 1995-11-21 1997-06-26 유기범 전전자 교환기의 하위레벨 프로세서 운영체계의 무한루프 검출방법(method for detecting endless loop in the operating system of low level processor for full electronic switching system)
KR19990086060A (ko) * 1998-05-25 1999-12-15 김영환 이동통신 교환기의 하위프로세서에서 무한루프 제어방법

Also Published As

Publication number Publication date
KR20030056052A (ko) 2003-07-04

Similar Documents

Publication Publication Date Title
US9870252B2 (en) Multi-threaded processing with reduced context switching
JP4693326B2 (ja) 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法
US7565652B2 (en) Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof
JP4367856B2 (ja) プロセス制御システム及びその制御方法
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US6820155B1 (en) Interruption managing device and interruption managing method
US9342350B2 (en) System for selecting a task to be executed according to an output from a task control circuit
US5526521A (en) Method and system for process scheduling from within a current context and switching contexts only when the next scheduled context is different
KR20120058605A (ko) Gpu 워크의 하드웨어 기반 스케쥴링
US20100050184A1 (en) Multitasking processor and task switching method thereof
US8327379B2 (en) Method for switching a selected task to be executed according with an output from task selecting circuit
US20060037021A1 (en) System, apparatus and method of adaptively queueing processes for execution scheduling
US8108862B2 (en) Out-of-order thread scheduling based on processor idle time thresholds
US20170116039A1 (en) Low latency scheduling on simultaneous multi-threading cores
JPWO2009150815A1 (ja) マルチプロセッサシステム
US9229716B2 (en) Time-based task priority boost management using boost register values
US20050132038A1 (en) Resource reservation system and resource reservation method and recording medium storing program for executing the method
CN109766168B (zh) 任务调度方法和装置、存储介质以及计算设备
KR100455623B1 (ko) 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법
CN116302485A (zh) Cpu调度方法、装置、电子设备及可读存储介质
JPH0355634A (ja) キャッシュ再ロード・オーバーヘッドを減少させる方法およびコンピュータ・システム
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
KR20080089564A (ko) 중앙형 인터럽트 콘트롤러를 위한 장치, 방법 및 시스템
JP2007193744A (ja) 情報処理装置、プログラム、およびスケジューリング方法
JP2001229038A (ja) マルチオペレーテング計算機システム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20080930

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee