KR101554555B1 - 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법 - Google Patents

실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법 Download PDF

Info

Publication number
KR101554555B1
KR101554555B1 KR1020090093791A KR20090093791A KR101554555B1 KR 101554555 B1 KR101554555 B1 KR 101554555B1 KR 1020090093791 A KR1020090093791 A KR 1020090093791A KR 20090093791 A KR20090093791 A KR 20090093791A KR 101554555 B1 KR101554555 B1 KR 101554555B1
Authority
KR
South Korea
Prior art keywords
time
processor
calculating
execution
executed during
Prior art date
Application number
KR1020090093791A
Other languages
English (en)
Other versions
KR20110036237A (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 KR1020090093791A priority Critical patent/KR101554555B1/ko
Publication of KR20110036237A publication Critical patent/KR20110036237A/ko
Application granted granted Critical
Publication of KR101554555B1 publication Critical patent/KR101554555B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • 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/3433Recording 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 for load management
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

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

Abstract

본 발명은 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법을 개시한다. 즉, 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하여 태스크들의 중첩되어서 실행된 구간을 검출함으로써, 이를 토대로 태스크(Task) 실행을 고르게 분배하여 시스템의 효율을 높일 수 있다.
인터럽트(Interrupt), 태스크(Task), 백그라운드 태스크(Background Task), 유휴상태(Idle)

Description

실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법{CALCULATION SYSTEM FOR CPU LOAD IN REAL TIME OPERATION SYSTEM, AND METHOD THEREOF}
본 발명은 프로세서(Processor) 부하율 계산 방안에 관한 것으로, 더욱 상세하게는, 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 효율적인 OS 운용 방법을 찾아내는 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법에 관한 것이다.
일반적으로, 실시간 운영체제(RTOS, Real Time Operating System)라 함은, 통상적으로 디스크를 이용한 다중 프로그래밍 운영 체계를 말하며, 우선 순위가 높은 전위에서는 실시간 다중 프로그래밍을 하며, 우선 순위가 낮은 후위(background)에서는 일괄 처리를 한다. 디스크로부터의 프로그램 입력과 디스크로의 프로그램 출력은 자동적으로 실행되며 동적인 주기억장치 할당 방식을 사용한다.
이와 관련하여, 실시간 운영체제에서는 프로세서의 인터럽트가 우선순위를 가지고 동작하며, 우선순위가 높은 인터럽트는 하위 인터럽트의 동작 도중에 실행 할 수 있는 특성을 이용하여 OS(Operation System)를 최하위 인터럽트 레벨에 설정하여 인터럽트를 두 개의 범주로 나누어 동작한다. 즉, 실시간 운영체제에서는 OS의 태스크(Task)들이 우선순위를 가지고 동작하는 범주1과 OS의 상위 인터럽트들이 동작하는 범주2로 나눌 수 있다.
이를 통해, OS는 태스크 들의 활성화(Activation) 시점에서 우선순위를 고려하여 높은 우선순위를 가지는 태스크가 먼저 실행되도록 한다. 아울러, 범주2의 인터럽트는 OS보다 높은 우선순위를 가지며, 범주1에서와 마찬가지로 높은 우선순위를 가지는 인터럽트가 먼저 실행된다. 한편, 범주1에서는 최하위 우선순위로 백그라운드 태스크(Background Task)가 위치하며, 이러한 최하위 우선순위인 백그라운드 태스크는 인터럽트나 태스크의 실행이 없을 때, 즉 프로세서 유휴상태(Idle)에서만 동작하게 된다.
이상에서 살펴본 바와 같이, 실시간 운영체제 시스템에서는 우선순위에 따른 상술한 일련의 동작 특성을 갖는바, OS의 효율적인 운용을 구성하기 위해서 인터럽트나 태스크의 실행에 따른 프로세서의 부하율을 고려하는 방안이 필수적이다.
본 발명은 상기한 바와 같이 선행 기술에 내재되었던 문제점을 해결하기 위해 창작된 것으로 본 발명의 목적은 별도의 OS(Operation System)을 사용하지 않고, 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 효율적인 OS 운용 방법을 찾아내는 실시간 운영체제 에서의 프로세서 부하율 계산 시스템 및 그 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따라, 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템이 제공되며: 이 시스템은, 사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈; 상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 모듈; 및 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈을 포함하는 것을 특징으로 한다.
바람직하게는, 상기 경향 분석 모듈은, 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 한다.
바람직하게는, 상기 부하율 계산 모듈은, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하며, 상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하고, 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 계산하는 것을 특징으로 한다.
본 발명의 또 다른 일면에 따라 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 방법이 제공되며: 이 방법은, 사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 단계; 상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 단계; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 단계; 및 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 경향 분석 단계는, 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 한다.
바람직하게는, 상기 부하율 계산 단계는, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하는 시간차 계산 단계; 상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하는 기준 실행시간 설정 단계; 상기 설정된 기준 실행시간과 상 기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하는 유휴상태 시간 산출 단계; 및 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 산출하는 부하율 산출 단계를 포함하는 것을 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명의 실시예에 따른 차량용 패시브 도어/시동 시스템 및 그 방법에 따르면, 프로세서의 유휴상태(Idle) 상태에서 프로세서에 부하를 주지 않으면서 실제 부하율을 계산할 수 있음에 따라 태스크(Task) 실행을 고르게 분배할 수 있으며 이를 통해 시스템의 효율을 높일 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상술하기로 한다.
도 1에는 본 발명의 실시예에 따른 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템의 개략적인 구성도를 도시한다.
도 1에 도시된 바와 같이, 상기 시스템은, 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈(100); 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈(200); 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 정보를 기록하는 경향 분석 모듈(300); 및 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈(400)을 포함하는 구성을 갖는다.
상기 카운트 모듈(100)은 사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트한다. 즉, 카운트 모듈(100)은 상기 감지구간 동안 백그라운트 태스크가 실행될 때 마다 카운트 회수(bg_ctr)을 증가시킨다. 여기서, 상기 감지구간은 사용자 설정에 따라 프로세서 부하율 계산을 위한 타당한 계산 구간으로 지정되며, 주기적으로 프로세서의 부하율을 계산하기 위한 구간으로 적용된다. 참고로, 최하위 우선순위인 백그라운드 태스크는 상기 감지구간 동안 인터럽트나 태스크의 실행이 없을 때, 즉 프로세서 유휴상태(Idle)에서만 지속적으로 동작하게 된다.
상기 시간 측정 모듈(200)은 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정한다.
상기 경향 분석 모듈(300)은 상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록한다. 보다 구체적으로 경향 분석 모듈(300)은 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간과 식별정보(ID) 그리고 실행 종료시간과 식별정보를 프로세서 버퍼(500)에 기록한다. 도 2를 참조하면, 경향 분석 모듈(300)은 감지구간 동안 인터럽트나 태스크 실행 시작 전에 사전처리(pre-process)와 종료 직전에 사후처리(post-process)를 수행한다. 다시 말해, 사전처리에서는 동작 시작시간과 해당 ID(start ID)를 버퍼에 저장하는 일을 하고, 사후처리에서는 동작 종료시간과 해당 ID(end ID)를 저장하는 일을 수행한다. 한편, 경향 분석 모듈(300)은 사전처리와 사후처리를 수행하는 동안 상위 인 터럽트의 동작으로 인한 버퍼 인덱스(index)의 연속성이 망가지지 않도록 인터럽트들의 활성화를 금지시키고(disable) 동작이 마무리된 후에 인터럽트를 동작을 가능하게(enalbe) 해야 한다.
상기 부하율 계산 모듈(400)은 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산한다. 도 3을 참조하면, 부하율 계산 모듈(400)은 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이(dx)를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간(bg_min_dur)으로 설정한다. 이때, 인터럽트나 상위 태스크들이 수행된 경우 실행 시간의 차가 길게 측정되게 된다. 이를 토대로, 부하율 계산 모듈(400)은 상기 설정된 기준 실행시간(bg_min_dur)과 상기 카운트 회수(bg_ctr)를 연산하여 상기 프로세서의 유휴상태 시간을 아래와 같은 [수식 1]을 통해 산출한다.
[수식 1]
프로세서의 유휴상태 시간=기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)
더 나아가 부하율 계산 모듈(400)은 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 아래와 같은 [수식 2]를 통해 상기 프로세서의 부하율을 계산한다.
[수식 2]
프로세서의 부하율(%)=(1-기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)/감지구간에 따른 총시간(cpu_load_ses_dur))*100
이상에서 살펴본 바와 같이, 본 발명에 따른 실시간 운영체제에서의 프로세서 부하율 계산 시스템에 의하면, 각 인터럽트와 태스크들의 동작 유형과 수행 시간을 통해서 OS의 유휴 상태가 고르게 분포되어 있는지 확인할 수 있다. 프로세서 부하율 계산 구간이 지난 후에 전체 버퍼를 스캔하여 시작 ID와 종료 ID의 시간차이를 계산하면 가장 긴 시간, 태스크들의 중첩되어서 실행된 구간을 찾을 수 있다. 그리고 ID를 분석하여 중첩되어 실행된 태스크와 인터럽트의 수행 순서 또한 확인할 수 있다. 예컨대, 도 2에 도시한 바와 같이 T9부터 T4까지 task와 인터럽트의 동작 패턴을 보면 다른 구간에 비해 "function depth"가 깊고 T10에서 T14까지도 태스크 들이 연달아 수행되고 있다. 상대적으로 유휴 상태가 긴 T27부터 태스크가 동작할 수 있도록 태스크 실행에 오프셋(offset)을 적용할 수 있다. 참고로, 프로세서 수행 경향 분석은 충분한 내부 버퍼를 필요로 하기 때문에 OS 운용을 구성하는 단계에서 활용하는 것이 바람직할 것이다.
이하에서는, 도 4를 참조하여 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 방법을 설명하기로 한다. 여기서, 설명의 편의를 위해 전술한 도 1 내지 도 3에 도시된 구성은 해당 참조번호를 언급하여 설명하기로 한다.
먼저, 사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록한다(S110-S160). 바람직하게는, 경향 분석 모듈(300)이 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간과 식별정 보(ID) 그리고 실행 종료시간과 식별정보를 프로세서 버퍼(500)에 기록한다.
그런 다음, 상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트한다(S170). 바람직하게는, 카운트 모듈(100)이 상기 감지구간 동안 백그라운트 태스크가 실행될 때 마다 카운트 회수(bg_ctr)을 증가시킨다.
그리고 나서, 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하여 이를 토대로 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하며, 상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 갱신한다(S180-S190). 바람직하게는, 부하율 계산 모듈(400)이 상기 시간 측정 모듈(200)을 통해 측정된 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 토대로 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이(dx)를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간(bg_min_dur)으로 설정한다.
다음으로, 상기 감지구간이 종료될 경우 프로세서의 부하율을 계산한다(S200-S210). 바람직하게는, 부하율 계산 모듈(400)은 상기 설정된 기준 실행시간(bg_min_dur)과 상기 카운트 회수(bg_ctr)를 연산하여 상기 프로세서의 유휴상태 시간을 아래와 같은 [수식 1]을 통해 산출한다.
[수식 1]
프로세서의 유휴상태 시간=기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)
더 나아가, 부하율 계산 모듈(400)은 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 아래와 같은 [수식 2]를 통해 상기 프로세서의 부하율을 계산한다.
[수식 2]
프로세서의 부하율(%)=(1-기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)/감지구간에 따른 총시간(cpu_load_ses_dur))*100
이를 토대로, 태스크마다 시작 ID와 종료ID 사이에 다른 작업이 가장 많이 중첩된 구간을 찾는다(S220). 바람직하게는, 경향 분석 모듈(300)이 프로세서 버퍼(500)를 스캔하여 시작 ID와 종료 ID의 시간차이를 계산함으로써, 태스크들의 중첩되어서 실행된 구간을 찾는다.
지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명에 따른 차량용 패시브 도어/시동 시스템 및 그 방법의 경우 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하여 태스크들의 중첩되어서 실행된 구간을 검출할 수 있다는 점에서 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 시스템의 개략적인 구성도.
도 2 및 도 3은 본 발명의 실시예에 따른 시스템 동작을 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 방법을 설명하기 위한 순서도.
*도면의 주요 부분에 대한 부호의 설명*
100: 카운트 모듈
200: 시간 측정 모듈
300: 경향 분석 모듈
400: 부하율 계산 모듈
500: 프로세서 버퍼

Claims (6)

  1. 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템에 있어서,
    사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈;
    상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈;
    상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 모듈; 및
    상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈을 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 시스템.
  2. 제 1 항에 있어서, 상기 경향 분석 모듈은,
    상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 하는 실시 간 운영체제에서의 프로세서 부하율 계산 시스템.
  3. 제 1 항에 있어서, 상기 부하율 계산 모듈은,
    상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하며, 상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하고, 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 계산하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 시스템.
  4. 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 방법에 있어서,
    사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 단계;
    상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 단계;
    상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 단계; 및
    상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 단계를 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.
  5. 제 4 항에 있어서, 상기 경향 분석 단계는,
    상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.
  6. 제 4 항에 있어서, 상기 부하율 계산 단계는,
    상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하는 시간차 계산 단계;
    상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하는 기준 실행시간 설정 단계;
    상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하는 유휴상태 시간 산출 단계; 및
    상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 산출하는 부하율 산출 단계를 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.
KR1020090093791A 2009-10-01 2009-10-01 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법 KR101554555B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090093791A KR101554555B1 (ko) 2009-10-01 2009-10-01 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090093791A KR101554555B1 (ko) 2009-10-01 2009-10-01 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110036237A KR20110036237A (ko) 2011-04-07
KR101554555B1 true KR101554555B1 (ko) 2015-09-21

Family

ID=44044227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090093791A KR101554555B1 (ko) 2009-10-01 2009-10-01 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101554555B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101928349B1 (ko) 2016-09-26 2018-12-12 재단법인대구경북과학기술원 실시간 운영체제의 태스크 실행 시간 모니터링 장치 및 그 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169869B1 (ko) * 2014-05-13 2020-10-27 한국전자통신연구원 운영체제의 파티션 제어 장치 및 방법
CN106897203A (zh) * 2017-03-29 2017-06-27 北京经纬恒润科技有限公司 一种cpu负载率计算方法及装置
CN107580116A (zh) * 2017-08-25 2018-01-12 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质
CN112083946B (zh) * 2020-09-17 2024-02-06 南方电网科学研究院有限责任公司 直流控保系统程序负载率预估方法、装置、终端及介质
KR102485287B1 (ko) * 2020-12-15 2023-01-04 현대오토에버 주식회사 태스크 실행 시간 모니터링 장치 및 노드의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084013A (ja) 2006-09-27 2008-04-10 Nec Corp 負荷制御回路、データ処理システム、および、負荷制御方法
JP2009075808A (ja) 2007-09-20 2009-04-09 Kddi Corp オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084013A (ja) 2006-09-27 2008-04-10 Nec Corp 負荷制御回路、データ処理システム、および、負荷制御方法
JP2009075808A (ja) 2007-09-20 2009-04-09 Kddi Corp オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101928349B1 (ko) 2016-09-26 2018-12-12 재단법인대구경북과학기술원 실시간 운영체제의 태스크 실행 시간 모니터링 장치 및 그 방법

Also Published As

Publication number Publication date
KR20110036237A (ko) 2011-04-07

Similar Documents

Publication Publication Date Title
KR101554555B1 (ko) 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법
KR100589798B1 (ko) 중지동안 바이트 코드 최적화 장치 및 방법
KR101999196B1 (ko) 전자장치 및 검출 방법
EP3191964B1 (en) Memory leak analysis by usage trends correlation
US9037717B2 (en) Virtual machine demand estimation
CN107515663B (zh) 调整中央处理器内核运行频率的方法和装置
EP3805940A1 (en) Automatic demand-driven resource scaling for relational database-as-a-service
US8943252B2 (en) Latency sensitive software interrupt and thread scheduling
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
US20120023493A1 (en) Judging apparatus, method, and recording medium of program
US20130211762A1 (en) Self-tuning statistical resource leak detection
KR20120026046A (ko) 애플리케이션 효율 엔진
WO2014074168A1 (en) Memory usage configuration based on observations
US20090044198A1 (en) Method and Apparatus for Call Stack Sampling in a Data Processing System
JP6149595B2 (ja) キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法
EP2790106A2 (en) Performance measurement unit, processor core including the same and process profiling method
KR20090098500A (ko) 가상 머신의 유휴 구간 검사 장치 및 방법, 그리고 그방법을 수행하기 위한 컴퓨터 프로그램
JP2014523598A (ja) マルチプロセッシング・コンピュータ・システムにおいて作業負荷を管理するための方法、装置、コンピュータ・プログラム(マルチプロセッシング・コンピュータ・システムにおける作業負荷の管理)
CN104932963B (zh) 管理终端的方法及装置
US9471237B1 (en) Memory consumption tracking
JP5136658B2 (ja) 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置
US20210191701A1 (en) Method and system for profile based deployments
US10409636B2 (en) Apparatus and method to correct an execution time of a program executed by a virtual machine
KR101548134B1 (ko) 실시간 스택 검사 시스템 및 그 방법
Kalibera et al. Scheduling real-time garbage collection on uniprocessors

Legal Events

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

Payment date: 20190906

Year of fee payment: 5