KR101203099B1 - 운영체제 태스크의 실행시간 모니터링 방법 및 시스템 - Google Patents

운영체제 태스크의 실행시간 모니터링 방법 및 시스템 Download PDF

Info

Publication number
KR101203099B1
KR101203099B1 KR1020100135558A KR20100135558A KR101203099B1 KR 101203099 B1 KR101203099 B1 KR 101203099B1 KR 1020100135558 A KR1020100135558 A KR 1020100135558A KR 20100135558 A KR20100135558 A KR 20100135558A KR 101203099 B1 KR101203099 B1 KR 101203099B1
Authority
KR
South Korea
Prior art keywords
task
execution time
state
time
operating system
Prior art date
Application number
KR1020100135558A
Other languages
English (en)
Other versions
KR20120073715A (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 KR1020100135558A priority Critical patent/KR101203099B1/ko
Publication of KR20120073715A publication Critical patent/KR20120073715A/ko
Application granted granted Critical
Publication of KR101203099B1 publication Critical patent/KR101203099B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 운영체제 태스크의 실행시간 모니터링 방법 및 그 장치에 관한 것이다. 본 발명에 따른 운영체제 태스크의 실행시간 모니터링 방법은, 운영체제 태스크가 준비 상태로 전이되면 상기 태스크의 실행 시간을 초기화 시키는 단계, 상기 태스크가 실행 상태로 전이된 상태에서, 다른 상태로 전이하는 이벤트가 발생하는 경우, 상기 태스크의 실행 시간을 카운트하고 상기 태스크의 실행 시간을 계산하여 저장하는 단계, 상기 태스크의 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 상기 태스크가 중단 상태인지 여부를 판단하는 단계, 그리고 상기 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키는 단계를 포함한다.
이와 같이 본 발명에 따르면, 태스크를 사용하는 운영체제의 실시간 성능 향상을 위해 태스크의 상태전이를 이용하여 태스크의 실행시간을 계산하고, 사전에 정의된 최대 실행시간을 초과하였을 경우 사용자에게 이를 알려준다. 따라서, 태스크의 실행시간 측정을 위해 주기적인 인터럽트를 사용하지 않기 때문에 개발자는 RTOS 프로그램 개발과정에서 태스크의 실행시간을 보다 정확하게 계산할 수 있을 뿐만 아니라, 전체 시스템의 응답속도를 높여서 실시간 성능을 향상시킬 수 있다.

Description

운영체제 태스크의 실행시간 모니터링 방법 및 시스템{Method for monitoring running time of OS task framework and apparatus thereof}
본 발명은 운영체제 태스크의 실행시간 모니터링 방법 및 장치에 관한 것으로서, 더욱 상세하게는 태스크의 상태전이에 따른 태스크의 실행시간을 계산하여 태스크의 이상 유무를 판단할 수 있는 운영체제 태스크의 실행시간 모니터링 방법 및 장치에 관한 것이다.
임베디드 시스템 운영체제, 특히 실시간 운영체제(RTOS)를 이용한 프로그래밍은 상기 임베디드 시스템의 특성(ex, CPU, 메모리 제약 사항) 혹은 지원하는 운영체제의 기본적인 특징을 잘 파악하고 있어야 가능한 복잡한 분야에 해당된다.
또한 임베디드 시스템의 실시간 운영체제(RTOS)는 실시간성을 확보하기 위해 태스크의 Deadline을 모니터링을 수행하거나, 태스크의 최대 실행시간을 모니터링 하는 동작을 수행한다. 특정 태스크가 정해진 최대실행시간을 초과하여 수행하는 경우 예외처리를 하여 비정상적인 동작을 하는 태스크가 다른 정상적인 태스크의 실시간 수행에 영향을 주지 않도록 하고 있다.
이러한 모니터링을 위해서 대부분의 시스템은 주기적인 타이밍 이벤트를 발생시켜 현재 실행중인 태스크의 실행시간을 측정하여 최대실행시간이 초과하였는지 아닌지를 체크하고 있다. 이러한 방식은 모니터링을 수행하기 위해 주기적인 인터럽트를 빈번하게 발생시킬 경우, 그 자체가 전체 시스템의 실시간 성능을 저하시키는 원인이 될 수 있다. 또한 실제 태스크의 실행시간에 주기적인 모니터링을 수행하기 위한 인터럽트 처리 시간이 포함되어 있어 태스크가 실제 실행한 시간을 정확하게 측정할 수 없다는 문제점이 있다.
본 발명은 태스크의 상태전이에 따른 태스크의 실행시간을 계산하여 태스크의 이상 유무를 판단할 수 있는 운영체제 태스크의 실행시간 모니터링 방법 및 장치를 제공하는데 목적이 있다.
본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 방법은, 운영체제 태스크가 준비 상태로 전이되면 상기 태스크의 실행 시간을 초기화 시키는 단계, 상기 태스크가 실행 상태로 전이된 상태에서, 다른 상태로 전이하는 이벤트가 발생하는 경우, 상기 태스크의 실행 시간을 카운트하고 상기 태스크의 실행 시간을 계산하여 저장하는 단계, 상기 태스크의 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 상기 태스크가 중단 상태인지 여부를 판단하는 단계, 그리고 상기 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키는 단계를 포함한다.
상기 태스크의 실행 시간을 초기화 시키는 단계는, 상기 태스크가 준비 상태로 전이되도록 하는 이벤트(Enter Event)가 발생하는 시간을 기준으로 상기 태스크 실행 시간을 저장하는 변수의 값을 "0"으로 초기화할 수 있다.
상기 태스크의 실행 시간을 저장하는 단계는, 상기 태스크의 소스 코드를 실행하는 데 소요된 시간을 상기 변수에 누적 저장할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명의 다른 실시에에 따른 운영체제 태스크의 실행시간 모니터링 장치는, 운영체제 태스크가 준비 상태로 전이되면 상기 태스크의 실행 시간을 초기화 시키는 초기화부, 상기 태스크가 실행 상태로 전이된 상태에서, 다른 상태로 전이하는 이벤트가 발생하는 경우, 상기 태스크의 실행 시간을 카운트하고 상기 태스크의 실행 시간을 계산하여 저장하는 태스크 실행시간 계산부, 그리고 상기 태스크의 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 상기 태스크가 중단 상태인지 여부를 판단하며, 상기 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키는 제어부를 포함한다.
이와 같이 본 발명에 따르면, 태스크를 사용하는 운영체제의 실시간 성능 향상을 위해 태스크의 상태전이를 이용하여 태스크의 실행시간을 계산하고, 사전에 정의된 최대 실행시간을 초과하였을 경우 사용자에게 이를 알려준다. 따라서, 태스크의 실행시간 측정을 위해 주기적인 인터럽트를 사용하지 않기 때문에 개발자는 RTOS 프로그램 개발과정에서 태스크의 실행시간을 보다 정확하게 계산할 수 있을 뿐만 아니라, 전체 시스템의 응답속도를 높여서 실시간 성능을 향상시킬 수 있다.
도 1은 운영체제의 태스크 상태 전이를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 장치의 구성도이다.
도 3은 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 방법의 순서도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 발명에서 OS(운영체제)란, 임베디드 시스템 운영체제, 특히 실시간 운영체제(RTOS;Real Time Operating System)를 의미하는 것으로서, 실행 이전에 태스크를 정적으로 정의하는 운영체제에 해당된다. 물론, 본 발명이 반드시 이에 한정되는 것은 아니다.
상기 실시간 운영체제를 이용한 프로그래밍의 경우, 임베디드 시스템의 특성과 기본적인 시스템 지원 정보 즉, 태스크(task)의 구조 및 개수에 관한 정보를 개발자가 정확하게 파악하고 있어야 하며, 그에 따라 해당 멀티 태스킹(Multi-tasking) 프로그램을 개발할 수 있다.
도 1은 운영체제의 태스크 상태 전이를 나타내는 도면이다.
도 1에서 보는 바와 같이, 멀티 태스킹 시스템에서 운영체제의 태스크 상태는 대기(waiting), 준비(Ready), 실행(Running) 및 중단(Suspended) 상태로 구분할 수 있다.
먼저 대기 상태는 태스크가 실행되기 위해 다른 프로세스들과 스케줄링을 통하여 실행 순서를 대기하는 상태를 의미한다. 즉, 하드웨어 자원의 준비 등 특정한 조건이 만족될 때 까지 기다리고 있는 상태를 대기 상태라고 하며, 이 후 조건이 만족되어 실행 가능한 상태가 되면 준비 상태가 된다.
준비 상태는 현재 실행되지는 않고 있지만, 언제라도 즉시 실행이 가능한 조건을 갖춘 상태를 의미한다. 중단 상태에서 이벤트(Enter Event)가 발생하거나, 대기 상태에서 특정 조건이 만족되는 경우, 실행 상태에서 회귀하는 경우(preempt)에는 준비 상태로 전이가 된다. 그리고 태스크마다 우선 처리되어야 하는 태스크를 먼저 실행시키고, 우선 순위가 동일한 태스크에 대해서는 균등하게 시간을 배분하여 실행시키도록 스케쥴링된다.
실행 상태는 스케쥴링에 의해 중앙처리장치(CPU)를 사용하고 있는 상태를 의미한다. 여러 개의 태스크 중에서 하나의 태스크만이 CPU에 의해 실행이 되며, 스케쥴링을 통해 실행 권한을 받으면 실행 상태가 되어 할당된 시간만큼 CPU를 사용하게 된다. 실행 상태에 있는 태스크는 무조건 할당된 시간만큼 실행되는 것은 아니며, 우선 순위가 높은 태스크나 인터럽트 신호가 들어오면 스케쥴러에 의해 현재 실행되는 태스크가 강제적으로 중단되고, 대기 상태로 전환될 수 있다.
중단 상태는 태스크의 실행이 종료(terminate)된 상태로서, 앞에서 설명한 것처럼 이벤트(Enter Event)가 발생하면 준비 상태로 전이된다.
이하에서는 도 2 및 도 3을 통하여 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 장치 및 방법에 대하여 설명한다.
도 2는 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 장치의 구성도이다. 도 2에 나타낸 것처럼, 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 장치(100)는 초기화부(110), 태스크 실행시간 계산부(120) 및 제어부(130)를 포함한다.
먼저 초기화부(110)는 태스크가 준비 상태로 전이되는 시간을 기준으로 상기 태스크 실행 시간을 초기화 시킨다. 즉, 초기화부(110)는 태스크가 준비 상태로 전이되도록 하는 이벤트(Enter Event)가 발생하는 시간을 기준으로 태스크 실행 시간을 저장하는 변수의 값을 "0"으로 초기화한다.
태스크 실행시간 계산부(120)는 태스크가 실행 상태로 전이된 상태에서, 다른 상태(즉, 시작 상태, 대기 상태, 중단 상태)로 전이하는 이벤트가 발생하는 경우, 태스크 실행 시간을 카운트하고, 태스크의 실행시간을 누적 계산하여 저장한다.
제어부(130)는 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 태스크가 중단 상태인지 체크한다. 그리고 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키도록 한다.
도 3은 본 발명의 실시예에 따른 운영체제 태스크의 실행시간 모니터링 방법의 순서도이다. 도 3에 나타낸 실행시간 모니터링 방법은 운영체제에서 정의된 개별 태스크에 대하여 수행되며, 각각의 태스크는 최대실행시간이 설정되어 있다.
먼저 태스크가 중단 상태에서 이벤트(Enter Event)가 발생하면(S310) 준비 상태로 전이되는데, 이때 초기화부(110)는 태스크 실행 시간을 "0"으로 초기화 시킨다(S320). 즉, 초기화부(110)는 중단 상태에서 준비 상태로 전이되도록 하는 이벤트(Enter Event)가 발생되는 순간을 체킹하고, 해당 시간을 저장하는 변수의 값을 "0"으로 초기화시킨다.
여기서, 초기화부(110)는 중단 상태 뿐만 아니라 대기 상태 또는 실행 상태에서 준비 상태로 전이되는 경우에도 태스크 실행 시간을 초기화 시킬 수 있다.
그리고, 태스크가 실행 상태로 전이가 되고, 실행 상태에서 다른 상태로 전이하도록 하는 이벤트(Leave Event)가 발생하는 경우(S330), 태스크 실행시간 계산부(120)는 현재까지 해당 태스크를 실행하는데 소요된 시간을 계산하여 초기화된 실행 시간에 저장한다(S340).
즉, 현재 태스크가 실행 상태에 있으며, 중단, 대기, 준비 상태로 전이하도록 하는 이벤트(Leave Event)가 발생하는 경우, 태스크 실행시간 계산부(120)는 현재까지 태스크의 소스코드를 실행하는데 소요된 태스크 실행 시간을 측정하여 저장한다.
만일 일정 시간내에 다른 상태로 전이하도록 하는 이벤트(Leave Event)가 발생하지 않는 경우에는 제어부(130)는 현재 태스크가 중단 상태인지 여부를 체크한다.
그리고, 제어부(130)는 태스크 실행 시간을 최대 실행 시간과 비교하여(S350), 태스크 실행 시간이 최대 실행 시간보다 작은 경우에는 현재의 태스크가 정상적으로 동작을 실행한 것으로 판단하고, 현재 태스크가 중단 상태인지 여부를 판단한다. .
반면, 태스크 실행 시간이 최대 실행 시간보다 클 경우에는 제어부(130)는 현재의 태스크가 비정상적인 동작을 취하고 있는 것으로 판단하여 예외처리 루틴을 실행한다(S360). 여기서, 태스크 별로 허용 가능한 최대 실행 시간은 미리 설정되어 있으며, 태스크 실행 시간이 최대 실행 시간을 초과 수행하는 경우에는, 제어부(130)는 시스템을 리셋 시키는 등 기 설정된 예외 처리 루틴을 실행하도록 한다.
그리고, 태스크가 중단 상태인지를 판단하고(S370), 중단 상태로 전이가 되면 태스크 실행시간 모니터링 동작은 종료가 되며, 예외 처리 루틴 실행으로 인하여 중단 상태 이외의 상태로 전이된 경우에는 S310 단계로 다시 돌아간다.
이와 같이 본 발명의 실시예에 따르면, 태스크를 사용하는 운영체제의 실시간 성능 향상을 위해 태스크의 상태전이를 이용하여 태스크의 실행시간을 계산하고, 사전에 정의된 최대 실행시간을 초과하였을 경우 사용자에게 이를 알려준다. 따라서, 태스크의 실행시간 측정을 위해 주기적인 인터럽트를 사용하지 않기 때문에 개발자는 RTOS 프로그램 개발과정에서 태스크의 실행시간을 보다 정확하게 계산할 수 있을 뿐만 아니라, 전체 시스템의 응답속도를 높여서 실시간 성능을 향상시킬 수 있다.
한편, 상술한 운영체제 태스크의 실행시간 모니터링 방법은, 컴퓨터에서 읽을 수 있는 코드/명령들(instructions)/프로그램으로 구현된다. 예를 들면, 상기의 방법은 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 코드/명령들/프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(ex, 롬, 플로피 디스크, 하드디스크, 마그네틱 테이프 등), 광학적 판독 매체(ex, 시디롬, 디브이디 등) 및 캐리어 웨이브(ex, 인터넷을 통한 전송) 등의 저장 매체를 포함한다. 또한, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 코드를 내장하는 매체(들)로서 구현되어, 네트워크를 통해 연결된 다수 개의 컴퓨터 시스템들이 분배되어 처리 동작하도록 할 수 있다. 본 발명의 방법이 실현하는 기능적인 프로그램들, 코드들 및 코드 세그먼트(segment)들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 쉽게 추론될 수 있음은 자명하다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 운영체제 태스크의 실행시간 모니터링 장치
110: 초기화부, 120: 태스크 실행시간 계산부,
130: 제어부

Claims (7)

  1. 운영체제 태스크가 준비 상태로 전이되면 상기 태스크의 실행 시간을 초기화 시키는 단계,
    상기 태스크가 실행 상태로 전이된 상태에서, 다른 상태로 전이하는 이벤트가 발생하는 경우, 상기 태스크의 실행 시간을 카운트하고 상기 태스크의 실행 시간을 계산하여 저장하는 단계,
    상기 태스크의 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 상기 태스크가 중단 상태인지 여부를 판단하는 단계, 그리고
    상기 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키는 단계를 포함하는 운영체제 태스크의 실행시간 모니터링 방법.
  2. 청구항 1에 있어서,
    상기 태스크의 실행 시간을 초기화 시키는 단계는,
    상기 태스크가 준비 상태로 전이되도록 하는 이벤트(Enter Event)가 발생하는 시간을 기준으로 상기 태스크 실행 시간을 저장하는 변수의 값을 "0"으로 초기화하는 운영체제 태스크의 실행시간 모니터링 방법.
  3. 청구항 2에 있어서,
    상기 태스크의 실행 시간을 저장하는 단계는,
    상기 태스크의 소스 코드를 실행하는 데 소요된 시간을 상기 변수에 누적 저장하는 운영체제 태스크의 실행시간 모니터링 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  5. 운영체제 태스크가 준비 상태로 전이되면 상기 태스크의 실행 시간을 초기화 시키는 초기화부,
    상기 태스크가 실행 상태로 전이된 상태에서, 다른 상태로 전이하는 이벤트가 발생하는 경우, 상기 태스크의 실행 시간을 카운트하고 상기 태스크의 실행 시간을 계산하여 저장하는 태스크 실행시간 계산부, 그리고
    상기 태스크의 실행 시간이 상기 태스크의 최대 실행 시간보다 큰 경우에는 기 설정된 예외 처리 루틴을 실행하고, 저장된 상기 태스크 실행 시간이 상기 태스크의 최대 실행 시간보다 작은 경우에는 상기 태스크가 중단 상태인지 여부를 판단하며, 상기 태스크가 중단 상태인 경우에는 상기 태스크의 실행 시간 모니터링을 종료시키는 제어부를 포함하는 운영체제 태스크의 실행시간 모니터링 장치.
  6. 청구항 5에 있어서,
    상기 초기화부는,
    상기 태스크가 준비 상태로 전이되도록 하는 이벤트(Enter Event)가 발생하는 시간을 기준으로 상기 태스크 실행 시간을 저장하는 변수의 값을 "0"으로 초기화하는 운영체제 태스크의 실행시간 모니터링 장치.
  7. 청구항 6에 있어서,
    상기 태스크 실행시간 계산부는,
    상기 태스크의 소스 코드를 실행하는 데 소요된 시간을 상기 변수에 누적 저장하는 운영체제 태스크의 실행시간 모니터링 장치.

KR1020100135558A 2010-12-27 2010-12-27 운영체제 태스크의 실행시간 모니터링 방법 및 시스템 KR101203099B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100135558A KR101203099B1 (ko) 2010-12-27 2010-12-27 운영체제 태스크의 실행시간 모니터링 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100135558A KR101203099B1 (ko) 2010-12-27 2010-12-27 운영체제 태스크의 실행시간 모니터링 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20120073715A KR20120073715A (ko) 2012-07-05
KR101203099B1 true KR101203099B1 (ko) 2012-11-20

Family

ID=46708032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100135558A KR101203099B1 (ko) 2010-12-27 2010-12-27 운영체제 태스크의 실행시간 모니터링 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101203099B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160071682A (ko) 2014-12-12 2016-06-22 국민대학교산학협력단 가상화 운영체제 성능 분석 방법, 이를 수행하는 가상화 운영체제 성능 분석 장치 및 이를 저장하는 기록매체
KR20160071683A (ko) 2014-12-12 2016-06-22 국민대학교산학협력단 가상화 운영체제 모니터링 방법, 이를 수행하는 가상화 운영체제 모니터링 장치 및 이를 저장하는 기록매체
KR20180033761A (ko) * 2016-09-26 2018-04-04 재단법인대구경북과학기술원 실시간 운영체제의 태스크 실행 시간 모니터링 장치 및 그 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101390267B1 (ko) * 2012-11-09 2014-04-30 재단법인대구경북과학기술원 실시간 운영체제 태스크 모니터링 방법 및 장치
KR101439355B1 (ko) * 2012-11-13 2014-09-11 재단법인대구경북과학기술원 차량용 실시간 운영체제의 스케줄링 방법, 차량용 실시간 운영체제의 스케줄링 방법을 수행하는 프로세서를 포함하는 차량의 전자 제어 장치, 및 차량용 실시간 운영체제의 스케줄링 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체
KR101470744B1 (ko) * 2013-07-05 2014-12-08 가톨릭대학교 산학협력단 사용자 단말기 및 그의 프로세스 관리 방법
CN111522713B (zh) * 2020-04-20 2021-09-28 浙江大学 面向基于ros开发的智能机器人软件状态监控系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820789B1 (ko) 2001-04-06 2008-04-10 엘지전자 주식회사 실시간 기반 시스템 및 그의 모니터링 방법
JP2008310748A (ja) 2007-06-18 2008-12-25 Honda Motor Co Ltd タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820789B1 (ko) 2001-04-06 2008-04-10 엘지전자 주식회사 실시간 기반 시스템 및 그의 모니터링 방법
JP2008310748A (ja) 2007-06-18 2008-12-25 Honda Motor Co Ltd タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160071682A (ko) 2014-12-12 2016-06-22 국민대학교산학협력단 가상화 운영체제 성능 분석 방법, 이를 수행하는 가상화 운영체제 성능 분석 장치 및 이를 저장하는 기록매체
KR20160071683A (ko) 2014-12-12 2016-06-22 국민대학교산학협력단 가상화 운영체제 모니터링 방법, 이를 수행하는 가상화 운영체제 모니터링 장치 및 이를 저장하는 기록매체
KR20180033761A (ko) * 2016-09-26 2018-04-04 재단법인대구경북과학기술원 실시간 운영체제의 태스크 실행 시간 모니터링 장치 및 그 방법

Also Published As

Publication number Publication date
KR20120073715A (ko) 2012-07-05

Similar Documents

Publication Publication Date Title
KR101203099B1 (ko) 운영체제 태스크의 실행시간 모니터링 방법 및 시스템
JP5434616B2 (ja) 仮想計算機、仮想計算機モニタ、および計算機の制御方法
US9372717B2 (en) Interruption of chip component managing tasks
KR102028663B1 (ko) 에러 검출 방법 및 장치
US20070079294A1 (en) Profiling using a user-level control mechanism
US8713578B2 (en) Managing job execution
US7953906B2 (en) Multiple interrupt handling method, devices and software
US9098350B2 (en) Adaptive auto-pipelining for stream processing applications
WO2012028213A1 (en) Re-scheduling workload in a hybrid computing environment
US8381182B2 (en) Approaches for meeting SMI duration limits by time slicing SMI handlers
US7043729B2 (en) Reducing interrupt latency while polling
US20170185436A1 (en) Black Box Techniques for Detecting Performance and Availability Issues in Virtual Machines
US9424546B2 (en) Prioritising event processing based on system workload
US9760411B2 (en) Switching a locking mode of an object in a multi-thread program
US9176783B2 (en) Idle transitions sampling with execution context
US20230127112A1 (en) Sub-idle thread priority class
WO2016177138A1 (zh) 一种调度任务的方法、装置及系统
Gottschlag et al. AVX overhead profiling: how much does your fast code slow you down?
US11061730B2 (en) Efficient scheduling for hyper-threaded CPUs using memory monitoring
US9223615B2 (en) Apparatus and method for thread progress tracking
KR101635816B1 (ko) 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
US20140033206A1 (en) Monitoring thread starvation
JP2008204013A (ja) スレッド動作異常検知方法、マルチスレッドシステム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 7