KR20110036237A - Calculation system for cpu load in real time operation system, and method thereof - Google Patents

Calculation system for cpu load in real time operation system, and method thereof Download PDF

Info

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

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

PURPOSE: A system for calculating CPU load in a real time operation system is provided to calculate system load without generating an additional work load. CONSTITUTION: A count module(100) counts an executed background tasks in an appointed sensing section. A time measuring module(200) measures execution time of the background task. An inclination analysis module(300) records the execution time of the executed interrupt or the task or identification information to a processor buffer(500). A load rate calculation module(400) calculates the load rate by calculating idle state time of the processor.

Description

실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법{CALCULATION SYSTEM FOR CPU LOAD IN REAL TIME OPERATION SYSTEM, AND METHOD THEREOF}Processor Load Ratio Calculation System and Method in Real-Time Operating System {CALCULATION SYSTEM FOR CPU LOAD IN REAL TIME OPERATION SYSTEM, AND METHOD THEREOF}

본 발명은 프로세서(Processor) 부하율 계산 방안에 관한 것으로, 더욱 상세하게는, 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 효율적인 OS 운용 방법을 찾아내는 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법에 관한 것이다.The present invention relates to a method for calculating a processor load ratio, and more particularly, to calculate an load ratio of a processor in an idle state of a processor and to allocate an internal buffer to provide an efficient OS operation method. The present invention relates to a system for calculating a processor load ratio in a real-time operating system and a method thereof.

일반적으로, 실시간 운영체제(RTOS, Real Time Operating System)라 함은, 통상적으로 디스크를 이용한 다중 프로그래밍 운영 체계를 말하며, 우선 순위가 높은 전위에서는 실시간 다중 프로그래밍을 하며, 우선 순위가 낮은 후위(background)에서는 일괄 처리를 한다. 디스크로부터의 프로그램 입력과 디스크로의 프로그램 출력은 자동적으로 실행되며 동적인 주기억장치 할당 방식을 사용한다.In general, a real time operating system (RTOS) refers to a multiple programming operating system using a disk. In general, a real time multiple programming is performed at a high priority and a low priority background is used. Do batch processing. Program input from the disk and program output to the disk are executed automatically and use dynamic main memory allocation.

이와 관련하여, 실시간 운영체제에서는 프로세서의 인터럽트가 우선순위를 가지고 동작하며, 우선순위가 높은 인터럽트는 하위 인터럽트의 동작 도중에 실행 할 수 있는 특성을 이용하여 OS(Operation System)를 최하위 인터럽트 레벨에 설정하여 인터럽트를 두 개의 범주로 나누어 동작한다. 즉, 실시간 운영체제에서는 OS의 태스크(Task)들이 우선순위를 가지고 동작하는 범주1과 OS의 상위 인터럽트들이 동작하는 범주2로 나눌 수 있다.In this regard, in the real-time operating system, the interrupt of the processor operates with priority, and the interrupt with high priority is set to the lowest interrupt level by setting the operating system (OS) using the characteristic that can be executed during the operation of the lower interrupt. Works by dividing into two categories. That is, in the real-time operating system, the tasks of the OS may be divided into category 1, which operates with priority, and category 2, in which upper interrupts of the OS operate.

이를 통해, OS는 태스크 들의 활성화(Activation) 시점에서 우선순위를 고려하여 높은 우선순위를 가지는 태스크가 먼저 실행되도록 한다. 아울러, 범주2의 인터럽트는 OS보다 높은 우선순위를 가지며, 범주1에서와 마찬가지로 높은 우선순위를 가지는 인터럽트가 먼저 실행된다. 한편, 범주1에서는 최하위 우선순위로 백그라운드 태스크(Background Task)가 위치하며, 이러한 최하위 우선순위인 백그라운드 태스크는 인터럽트나 태스크의 실행이 없을 때, 즉 프로세서 유휴상태(Idle)에서만 동작하게 된다.Through this, the OS allows a task having a high priority to be executed first considering the priority at the time of activation of the tasks. In addition, the interrupt of category 2 has a higher priority than the OS, and the interrupt having a high priority as in category 1 is executed first. Meanwhile, in category 1, a background task is located at the lowest priority, and the background task, which is the lowest priority, operates only when there is no interruption or execution of the task, that is, the processor idle state.

이상에서 살펴본 바와 같이, 실시간 운영체제 시스템에서는 우선순위에 따른 상술한 일련의 동작 특성을 갖는바, OS의 효율적인 운용을 구성하기 위해서 인터럽트나 태스크의 실행에 따른 프로세서의 부하율을 고려하는 방안이 필수적이다.As described above, in the real-time operating system system has the above-described series of operating characteristics according to the priority, in order to configure the efficient operation of the OS, it is necessary to consider the load factor of the processor according to the execution of interrupts or tasks.

본 발명은 상기한 바와 같이 선행 기술에 내재되었던 문제점을 해결하기 위해 창작된 것으로 본 발명의 목적은 별도의 OS(Operation System)을 사용하지 않고, 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 효율적인 OS 운용 방법을 찾아내는 실시간 운영체제 에서의 프로세서 부하율 계산 시스템 및 그 방법을 제공함에 있다. The present invention was created to solve the problems inherent in the prior art as described above, and an object of the present invention is to use a processor in an idle state of a processor without using a separate operating system (OS). The present invention provides a system and method for calculating a processor load rate in a real-time operating system which calculates a load rate and allocates an internal buffer to find an efficient OS operation method.

상술한 목적을 달성하기 위한 본 발명의 일면에 따라, 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템이 제공되며: 이 시스템은, 사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈; 상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 모듈; 및 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈을 포함하는 것을 특징으로 한다.In accordance with an aspect of the present invention for achieving the above object, there is provided a processor load factor calculation system in a real time operating system (RTOS): the system is executed for a specified detection interval according to user settings. A count module for counting the background tasks; A time measurement module for measuring an execution time of a background task executed during the detection period; A trend analysis module for recording an execution time and identification information (ID) of an interrupt or a task executed during the detection period in a processor buffer; And a load ratio calculation module configured to calculate a load ratio at which the processor operates by calculating an idle time of the processor based on the count count and execution time of the background task executed during the detection period.

바람직하게는, 상기 경향 분석 모듈은, 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 한다.Advantageously, the trend analysis module writes an execution start time and an execution end time for each of the interrupts and tasks executed during the detection interval into the processor buffer, wherein the recorded execution start time and execution end time are respectively recorded in the processor buffer. Characterized in that the identification information is inserted.

바람직하게는, 상기 부하율 계산 모듈은, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하며, 상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하고, 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 계산하는 것을 특징으로 한다.Preferably, the load factor calculation module is configured to calculate a difference in each background task execution time executed during the detection interval, and set a minimum time difference as a background task reference execution time, and set the reference execution time and the count number of times. Computation calculates the idle time of the processor, and calculates the load ratio of the processor based on the calculated idle time ratio compared to the detection interval.

본 발명의 또 다른 일면에 따라 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 방법이 제공되며: 이 방법은, 사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 단계; 상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 단계; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 단계; 및 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 단계를 포함하는 것을 특징으로 한다.According to yet another aspect of the present invention, a method for calculating a processor load ratio in a real time operating system (RTOS) is provided. The method may include an interrupt executed during a specified detection interval according to a user setting. A trend analysis step of recording an execution time and identification information (ID) of a task in a processor buffer; A counting step of counting a background task executed during the sensing period; A time measurement step of measuring an execution time of a background task executed during the detection period; And calculating a load ratio of the processor by calculating an idle time of the processor based on the count number and execution time of the background task executed during the detection period.

바람직하게는, 상기 경향 분석 단계는, 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 한다.Preferably, the trend analysis step, the execution start time and execution end time for each interrupt and task executed during the detection interval is recorded in the processor buffer, wherein the recorded execution start time and execution end time respectively; Characterized in that the identification information is inserted.

바람직하게는, 상기 부하율 계산 단계는, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하는 시간차 계산 단계; 상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하는 기준 실행시간 설정 단계; 상기 설정된 기준 실행시간과 상 기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하는 유휴상태 시간 산출 단계; 및 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 산출하는 부하율 산출 단계를 포함하는 것을 특징으로 한다.Advantageously, said load factor calculation step comprises: a time difference calculation step of calculating a difference of each background task execution time executed during said detection interval; A reference execution time setting step of setting a minimum time difference as a background task reference execution time as a result of the difference calculation of the background task execution time; Calculating an idle time of the processor by calculating the set reference execution time and the count count; And calculating a load ratio of the processor based on the calculated idle time ratio with respect to the detection interval.

이상에서 설명한 바와 같이, 본 발명의 실시예에 따른 차량용 패시브 도어/시동 시스템 및 그 방법에 따르면, 프로세서의 유휴상태(Idle) 상태에서 프로세서에 부하를 주지 않으면서 실제 부하율을 계산할 수 있음에 따라 태스크(Task) 실행을 고르게 분배할 수 있으며 이를 통해 시스템의 효율을 높일 수 있다.As described above, according to the vehicle passive door / start system and the method according to an embodiment of the present invention, the actual load ratio can be calculated without loading the processor in the idle state (Idle) state of the task Tasks can be evenly distributed, increasing system efficiency.

이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1에는 본 발명의 실시예에 따른 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템의 개략적인 구성도를 도시한다.FIG. 1 is a schematic block diagram of a processor load ratio calculation system in a real time operating system (RTOS) according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 상기 시스템은, 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈(100); 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈(200); 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 정보를 기록하는 경향 분석 모듈(300); 및 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈(400)을 포함하는 구성을 갖는다.As shown in FIG. 1, the system includes a count module 100 for counting executed background tasks; A time measurement module 200 for measuring an execution time of an executed background task; A trend analysis module 300 for recording information on the executed interrupt or task; And a load rate calculation module 400 for calculating a load rate at which the processor operates.

상기 카운트 모듈(100)은 사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트한다. 즉, 카운트 모듈(100)은 상기 감지구간 동안 백그라운트 태스크가 실행될 때 마다 카운트 회수(bg_ctr)을 증가시킨다. 여기서, 상기 감지구간은 사용자 설정에 따라 프로세서 부하율 계산을 위한 타당한 계산 구간으로 지정되며, 주기적으로 프로세서의 부하율을 계산하기 위한 구간으로 적용된다. 참고로, 최하위 우선순위인 백그라운드 태스크는 상기 감지구간 동안 인터럽트나 태스크의 실행이 없을 때, 즉 프로세서 유휴상태(Idle)에서만 지속적으로 동작하게 된다.The count module 100 counts a background task executed during a specified detection interval according to a user setting. That is, the count module 100 increases the count number bg_ctr each time the background task is executed during the sensing period. Here, the detection section is designated as a valid calculation section for calculating the processor load ratio according to a user setting, and is periodically applied as a section for calculating the load ratio of the processor. For reference, the lowest priority background task continuously operates when there is no interruption or execution of the task during the detection interval, that is, only in the processor idle state.

상기 시간 측정 모듈(200)은 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정한다.The time measurement module 200 measures the execution time of the background task executed during the detection interval.

상기 경향 분석 모듈(300)은 상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록한다. 보다 구체적으로 경향 분석 모듈(300)은 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간과 식별정보(ID) 그리고 실행 종료시간과 식별정보를 프로세서 버퍼(500)에 기록한다. 도 2를 참조하면, 경향 분석 모듈(300)은 감지구간 동안 인터럽트나 태스크 실행 시작 전에 사전처리(pre-process)와 종료 직전에 사후처리(post-process)를 수행한다. 다시 말해, 사전처리에서는 동작 시작시간과 해당 ID(start ID)를 버퍼에 저장하는 일을 하고, 사후처리에서는 동작 종료시간과 해당 ID(end ID)를 저장하는 일을 수행한다. 한편, 경향 분석 모듈(300)은 사전처리와 사후처리를 수행하는 동안 상위 인 터럽트의 동작으로 인한 버퍼 인덱스(index)의 연속성이 망가지지 않도록 인터럽트들의 활성화를 금지시키고(disable) 동작이 마무리된 후에 인터럽트를 동작을 가능하게(enalbe) 해야 한다.The trend analysis module 300 records an execution time and identification information (ID) of an interrupt or a task executed during the detection period in a processor buffer. More specifically, the trend analysis module 300 records the execution start time and identification information (ID) and the execution end time and identification information for each interrupt and task executed during the detection interval in the processor buffer 500. Referring to FIG. 2, the trend analysis module 300 performs a pre-process before the start of interrupt or task execution and a post-process immediately before the end of the detection period. In other words, in the preprocessing, the operation start time and the corresponding ID (start ID) are stored in the buffer, and in the post processing, the operation end time and the corresponding ID (end ID) are stored. Meanwhile, the trend analysis module 300 prohibits activation of interrupts so as not to break the continuity of the buffer index due to the operation of the upper interrupt during preprocessing and postprocessing, and after the operation is completed. The interrupt must be enabled.

상기 부하율 계산 모듈(400)은 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산한다. 도 3을 참조하면, 부하율 계산 모듈(400)은 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이(dx)를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간(bg_min_dur)으로 설정한다. 이때, 인터럽트나 상위 태스크들이 수행된 경우 실행 시간의 차가 길게 측정되게 된다. 이를 토대로, 부하율 계산 모듈(400)은 상기 설정된 기준 실행시간(bg_min_dur)과 상기 카운트 회수(bg_ctr)를 연산하여 상기 프로세서의 유휴상태 시간을 아래와 같은 [수식 1]을 통해 산출한다.The load factor calculation module 400 calculates an idle time of the processor based on the count number and execution time of the background task executed during the detection period, and calculates the load factor of the processor operation. Referring to FIG. 3, the load factor calculation module 400 calculates a difference dx of each background task execution time executed during the detection interval and sets the minimum time difference as the background task reference execution time bg_min_dur. At this time, if the interrupt or higher tasks are performed, the difference in execution time is measured long. Based on this, the load factor calculation module 400 calculates the idle state time of the processor through Equation 1 below by calculating the set reference execution time bg_min_dur and the count number bg_ctr.

[수식 1][Equation 1]

프로세서의 유휴상태 시간=기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)Processor idle time = base execution time (bg_min_dur) * count count (bg_ctr)

더 나아가 부하율 계산 모듈(400)은 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 아래와 같은 [수식 2]를 통해 상기 프로세서의 부하율을 계산한다.Furthermore, the load factor calculation module 400 calculates the load factor of the processor through Equation 2 below based on the calculated idle time ratio with respect to the detection interval.

[수식 2][Equation 2]

프로세서의 부하율(%)=(1-기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)/감지구간에 따른 총시간(cpu_load_ses_dur))*100% Processor Load = (1-Based Execution Time (bg_min_dur) * Count Count (bg_ctr) / Total Time by Detection Zone (cpu_load_ses_dur)) * 100

이상에서 살펴본 바와 같이, 본 발명에 따른 실시간 운영체제에서의 프로세서 부하율 계산 시스템에 의하면, 각 인터럽트와 태스크들의 동작 유형과 수행 시간을 통해서 OS의 유휴 상태가 고르게 분포되어 있는지 확인할 수 있다. 프로세서 부하율 계산 구간이 지난 후에 전체 버퍼를 스캔하여 시작 ID와 종료 ID의 시간차이를 계산하면 가장 긴 시간, 태스크들의 중첩되어서 실행된 구간을 찾을 수 있다. 그리고 ID를 분석하여 중첩되어 실행된 태스크와 인터럽트의 수행 순서 또한 확인할 수 있다. 예컨대, 도 2에 도시한 바와 같이 T9부터 T4까지 task와 인터럽트의 동작 패턴을 보면 다른 구간에 비해 "function depth"가 깊고 T10에서 T14까지도 태스크 들이 연달아 수행되고 있다. 상대적으로 유휴 상태가 긴 T27부터 태스크가 동작할 수 있도록 태스크 실행에 오프셋(offset)을 적용할 수 있다. 참고로, 프로세서 수행 경향 분석은 충분한 내부 버퍼를 필요로 하기 때문에 OS 운용을 구성하는 단계에서 활용하는 것이 바람직할 것이다.As described above, according to the processor load ratio calculation system of the real-time operating system according to the present invention, it is possible to determine whether the idle state of the OS is evenly distributed through the operation type and execution time of each interrupt and task. After the processor load ratio calculation interval has passed, the entire buffer can be scanned to calculate the time difference between the start ID and the end ID to find the longest time and the overlapped execution of the tasks. By analyzing the ID, you can also check the execution order of nested tasks and interrupts. For example, as shown in FIG. 2, when the operation patterns of tasks and interrupts are performed from T9 to T4, "function depth" is deeper than other sections, and tasks are continuously performed from T10 to T14. An offset can be applied to the task execution to allow the task to operate from T27, which is relatively idle. For reference, since processor performance trend analysis requires sufficient internal buffers, it may be desirable to use it at the stage of configuring OS operation.

이하에서는, 도 4를 참조하여 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 방법을 설명하기로 한다. 여기서, 설명의 편의를 위해 전술한 도 1 내지 도 3에 도시된 구성은 해당 참조번호를 언급하여 설명하기로 한다.Hereinafter, a method of calculating a processor load ratio in a real-time operating system according to an embodiment of the present invention will be described with reference to FIG. 4. Here, for the convenience of description, the configuration shown in FIGS. 1 to 3 will be described with reference to the corresponding reference numerals.

먼저, 사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록한다(S110-S160). 바람직하게는, 경향 분석 모듈(300)이 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간과 식별정 보(ID) 그리고 실행 종료시간과 식별정보를 프로세서 버퍼(500)에 기록한다.First, an execution time and identification information (ID) of an interrupt or a task executed during a specified detection period according to a user setting are recorded in the processor buffer (S110-S160). Preferably, the trend analysis module 300 records the execution start time and identification information (ID) and the execution end time and identification information for each of the interrupts and the tasks executed during the detection interval in the processor buffer 500.

그런 다음, 상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트한다(S170). 바람직하게는, 카운트 모듈(100)이 상기 감지구간 동안 백그라운트 태스크가 실행될 때 마다 카운트 회수(bg_ctr)을 증가시킨다.Then, the background task executed during the detection period is counted (S170). Preferably, the count module 100 increments the count number bg_ctr each time the background task is executed during the detection interval.

그리고 나서, 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하여 이를 토대로 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하며, 상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 갱신한다(S180-S190). 바람직하게는, 부하율 계산 모듈(400)이 상기 시간 측정 모듈(200)을 통해 측정된 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 토대로 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이(dx)를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간(bg_min_dur)으로 설정한다.Then, the execution time of the background task executed during the detection period is measured, and the difference between the execution time of each background task executed during the detection period is calculated based on this. Update to a background task reference execution time (S180-S190). Preferably, the difference in the execution time of each background task executed during the detection interval based on the execution time of the background task executed during the detection interval measured by the load measurement module 400 by the time measurement module 200 (dx ), The minimum time difference is set to the background task reference execution time (bg_min_dur).

다음으로, 상기 감지구간이 종료될 경우 프로세서의 부하율을 계산한다(S200-S210). 바람직하게는, 부하율 계산 모듈(400)은 상기 설정된 기준 실행시간(bg_min_dur)과 상기 카운트 회수(bg_ctr)를 연산하여 상기 프로세서의 유휴상태 시간을 아래와 같은 [수식 1]을 통해 산출한다.Next, when the sensing period ends, the load factor of the processor is calculated (S200-S210). Preferably, the load factor calculation module 400 calculates the idle state time of the processor through Equation 1 below by calculating the set reference execution time bg_min_dur and the count number bg_ctr.

[수식 1][Equation 1]

프로세서의 유휴상태 시간=기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)Processor idle time = base execution time (bg_min_dur) * count count (bg_ctr)

더 나아가, 부하율 계산 모듈(400)은 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 아래와 같은 [수식 2]를 통해 상기 프로세서의 부하율을 계산한다.Further, the load factor calculation module 400 calculates the load factor of the processor through Equation 2 below based on the calculated idle time ratio with respect to the detection interval.

[수식 2][Equation 2]

프로세서의 부하율(%)=(1-기준 실행시간(bg_min_dur)*카운트 회수(bg_ctr)/감지구간에 따른 총시간(cpu_load_ses_dur))*100% Processor Load = (1-Based Execution Time (bg_min_dur) * Count Count (bg_ctr) / Total Time by Detection Zone (cpu_load_ses_dur)) * 100

이를 토대로, 태스크마다 시작 ID와 종료ID 사이에 다른 작업이 가장 많이 중첩된 구간을 찾는다(S220). 바람직하게는, 경향 분석 모듈(300)이 프로세서 버퍼(500)를 스캔하여 시작 ID와 종료 ID의 시간차이를 계산함으로써, 태스크들의 중첩되어서 실행된 구간을 찾는다.Based on this, the task finds a section in which different tasks overlap the most between the start ID and the end ID (S220). Preferably, the trend analysis module 300 scans the processor buffer 500 to calculate the time difference between the start ID and the end ID, thereby finding overlapping executed sections of tasks.

지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to the preferred embodiments, the present invention is not limited to the above-described embodiments, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will have the technical idea of the present invention to the extent that various modifications or changes are possible.

본 발명에 따른 차량용 패시브 도어/시동 시스템 및 그 방법의 경우 프로세서(Processor)의 유휴상태(Idle)에서 프로세서의 부하율을 계산하고 내부의 버퍼(Buffer)를 할당하여 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하여 태스크들의 중첩되어서 실행된 구간을 검출할 수 있다는 점에서 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.In the case of a vehicle passive door / starting system and a method thereof according to the present invention, an interrupt executed during a detection period by calculating a load ratio of the processor in an idle state of the processor and allocating an internal buffer. Alternatively, the execution time and identification information (ID) of the task can be recorded in the processor buffer so that the overlapped execution sections of the tasks can be detected. It is an invention with industrial applicability because it is not only sufficient for the use of the apparatus but also the possibility of the commercial or commercial application of the apparatus to be applied is not only sufficient but also practically obvious.

본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.The following drawings, which are attached in this specification, illustrate preferred embodiments of the present invention, and together with the detailed description of the present invention, serve to further understand the technical spirit of the present invention. It should not be construed as limited to.

도 1은 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 시스템의 개략적인 구성도.1 is a schematic block diagram of a processor load ratio calculation system in a real-time operating system according to an embodiment of the present invention.

도 2 및 도 3은 본 발명의 실시예에 따른 시스템 동작을 설명하기 위한 도면.2 and 3 are diagrams for explaining a system operation according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 실시간 운영체제에서의 프로세서 부하율 계산 방법을 설명하기 위한 순서도.4 is a flowchart illustrating a method for calculating a processor load ratio in a real-time operating system according to an embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100: 카운트 모듈100: count module

200: 시간 측정 모듈200: time measurement module

300: 경향 분석 모듈300: trend analysis module

400: 부하율 계산 모듈400: load factor calculation module

500: 프로세서 버퍼500: processor buffer

Claims (6)

실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 시스템에 있어서,In the processor load ratio calculation system in a real time operating system (RTOS), 사용자 설정에 따라 지정된 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 모듈; A count module that counts a background task executed during a specified detection interval according to a user setting; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 모듈;A time measurement module for measuring an execution time of a background task executed during the detection period; 상기 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 모듈; 및A trend analysis module for recording an execution time and identification information (ID) of an interrupt or a task executed during the detection period in a processor buffer; And 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 모듈을 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 시스템.In the real-time operating system, characterized in that it comprises a load ratio calculation module for calculating the load ratio of the processor by calculating the idle time (Idle) time of the processor on the basis of the count number and execution time of the background task executed during the detection interval Processor load factor calculation system. 제 1 항에 있어서, 상기 경향 분석 모듈은,The method of claim 1, wherein the trend analysis module, 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 하는 실시 간 운영체제에서의 프로세서 부하율 계산 시스템.An execution start time and an execution end time of each interrupt and task executed during the detection period are recorded in the processor buffer, and the identification information is inserted into and recorded in each of the recorded execution start time and execution end time. Processor load factor calculation system in real-time operating system. 제 1 항에 있어서, 상기 부하율 계산 모듈은,The method of claim 1, wherein the load factor calculation module, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하여 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하며, 상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하고, 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 계산하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 시스템.The minimum time difference is set as the background task reference execution time by calculating the difference of each background task execution time executed during the detection period, and calculating the idle time of the processor by calculating the set reference execution time and the count number. And calculating a load ratio of the processor based on the calculated idle time ratio with respect to the detection interval. 실시간 운영체제(RTOS, Real Time Operating System)에서의 프로세서(Processor) 부하율 계산 방법에 있어서,In the processor load ratio calculation method in a real time operating system (RTOS), 사용자 설정에 따라 지정된 감지구간 동안 실행된 인터럽트(Interrupt) 또는 태스크(Task)에 대한 실행시간 및 식별정보(ID)를 프로세서 버퍼(Buffer)에 기록하는 경향 분석 단계;A trend analysis step of recording execution time and identification information (ID) of an interrupt or a task executed during a specified detection interval according to a user setting in a processor buffer; 상기 감지구간 동안 실행된 백그라운드 태스크(Background Task)를 카운트하는 카운트 단계;A counting step of counting a background task executed during the sensing period; 상기 감지구간 동안 실행된 백그라운드 태스크의 실행시간을 측정하는 시간 측정 단계; 및A time measurement step of measuring an execution time of a background task executed during the detection period; And 상기 감지구간 동안 실행된 백그라운드 태스크의 카운트 회수 및 실행시간을 토대로 상기 프로세서의 유휴상태(Idle) 시간을 산출하여 프로세서가 동작한 부하율을 계산하는 부하율 계산 단계를 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.And a load ratio calculation step of calculating a load ratio of the processor by calculating an idle time of the processor based on the count number and execution time of the background task executed during the detection interval. How to calculate processor load factor. 제 4 항에 있어서, 상기 경향 분석 단계는,The method of claim 4, wherein the trend analysis step comprises: 상기 감지구간 동안 실행된 인터럽트 및 태스크 각각에 대한 실행 시작시간 및 실행 종료시간을 상기 프로세서 버퍼에 기록하며, 상기 기록된 실행 시작시간 및 실행 종료시간 각각에 상기 식별정보를 삽입 기록하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.An execution start time and an execution end time of each interrupt and task executed during the detection period are recorded in the processor buffer, and the identification information is inserted into and recorded in each of the recorded execution start time and execution end time. How to calculate processor load factor in real time operating system. 제 4 항에 있어서, 상기 부하율 계산 단계는,The method of claim 4, wherein the load factor calculation step, 상기 감지구간 동안 실행된 각각의 백그라운드 태스크 실행 시간의 차이를 계산하는 시간차 계산 단계;A time difference calculation step of calculating a difference in each background task execution time executed during the detection period; 상기 백그라운드 태스크 실행 시간의 차이 계산 결과 최소 시간 차이를 백그라운드 태스크 기준 실행시간으로 설정하는 기준 실행시간 설정 단계;A reference execution time setting step of setting a minimum time difference as a background task reference execution time as a result of the difference calculation of the background task execution time; 상기 설정된 기준 실행시간과 상기 카운트 회수를 연산하여 상기 프로세서의 유휴상태 시간을 산출하는 유휴상태 시간 산출 단계; 및Calculating an idle time of the processor by calculating the set reference execution time and the count number; And 상기 감지구간 대비 상기 산출된 유휴상태 시간 비율을 토대로 상기 프로세서의 부하율을 산출하는 부하율 산출 단계를 포함하는 것을 특징으로 하는 실시간 운영체제에서의 프로세서 부하율 계산 방법.And a load factor calculating step of calculating a load factor of the processor based on the calculated idle time ratio with respect to the sensing period.
KR1020090093791A 2009-10-01 2009-10-01 Calculation system for cpu load in real time operation system and method thereof KR101554555B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090093791A KR101554555B1 (en) 2009-10-01 2009-10-01 Calculation system for cpu load in real time operation system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090093791A KR101554555B1 (en) 2009-10-01 2009-10-01 Calculation system for cpu load in real time operation system and method thereof

Publications (2)

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

Family

ID=44044227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090093791A KR101554555B1 (en) 2009-10-01 2009-10-01 Calculation system for cpu load in real time operation system and method thereof

Country Status (1)

Country Link
KR (1) KR101554555B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130631A (en) * 2014-05-13 2015-11-24 한국전자통신연구원 Partition control apparatus and method of operating system
CN106897203A (en) * 2017-03-29 2017-06-27 北京经纬恒润科技有限公司 A kind of cpu load rate computational methods and device
CN107580116A (en) * 2017-08-25 2018-01-12 广东欧珀移动通信有限公司 Applied program processing method and device, computer equipment, storage medium
CN112083946A (en) * 2020-09-17 2020-12-15 南方电网科学研究院有限责任公司 Method, device, terminal and medium for estimating program load rate of direct current protection system
KR20220085365A (en) * 2020-12-15 2022-06-22 현대오토에버 주식회사 Apparatus for monitoring task execution time and operating method of node

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101928349B1 (en) 2016-09-26 2018-12-12 재단법인대구경북과학기술원 Apparatus for monitoring run-time of real time operating system and thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084013A (en) 2006-09-27 2008-04-10 Nec Corp Load control circuit, data processing system and load control method
JP4771431B2 (en) 2007-09-20 2011-09-14 Kddi株式会社 Device and program for event processing function based on operating system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130631A (en) * 2014-05-13 2015-11-24 한국전자통신연구원 Partition control apparatus and method of operating system
CN106897203A (en) * 2017-03-29 2017-06-27 北京经纬恒润科技有限公司 A kind of cpu load rate computational methods and device
CN107580116A (en) * 2017-08-25 2018-01-12 广东欧珀移动通信有限公司 Applied program processing method and device, computer equipment, storage medium
CN112083946A (en) * 2020-09-17 2020-12-15 南方电网科学研究院有限责任公司 Method, device, terminal and medium for estimating program load rate of direct current protection system
CN112083946B (en) * 2020-09-17 2024-02-06 南方电网科学研究院有限责任公司 Method, device, terminal and medium for predicting program load rate of direct current protection system
KR20220085365A (en) * 2020-12-15 2022-06-22 현대오토에버 주식회사 Apparatus for monitoring task execution time and operating method of node

Also Published As

Publication number Publication date
KR101554555B1 (en) 2015-09-21

Similar Documents

Publication Publication Date Title
KR20110036237A (en) Calculation system for cpu load in real time operation system, and method thereof
EP3191964B1 (en) Memory leak analysis by usage trends correlation
US9658936B2 (en) Optimization analysis using similar frequencies
US8694574B2 (en) Optimized settings in a configuration database with boundaries
US8843901B2 (en) Cost analysis for selecting trace objectives
EP3805940A1 (en) Automatic demand-driven resource scaling for relational database-as-a-service
CN107223232B (en) Electronic equipment and detection method
US20130073829A1 (en) Memory Usage Configuration Based on Observations
WO2013119480A1 (en) Self-tuning statistical resource leak detection
US20120023493A1 (en) Judging apparatus, method, and recording medium of program
US9128747B2 (en) Methods and systems for optimizing the performance of software applications at runtime
CN104932963B (en) The method and device of management terminal
US9875169B2 (en) Modeling real capacity consumption changes using process-level data
US20210191701A1 (en) Method and system for profile based deployments
US20110191094A1 (en) System and method to evaluate and size relative system performance
KR20120129257A (en) Battery management apparatus on mobile system and method thereof
Höpfner et al. On Measuring Smartphones' Software Energy Requirements.
JP5571230B1 (en) Evaluation system and evaluation method
KR20110036243A (en) Real-time monitoring system for stack and method thereof
Amaral et al. Kepler: A framework to calculate the energy consumption of containerized applications
CN109117139A (en) A kind of software building method and device, server and readable storage medium storing program for executing
WO2015042964A1 (en) Software test method and apparatus
US10742430B2 (en) Information processing apparatus and information processing method
CN111324353B (en) Optimization method and device for continuous integration task
GB2607224A (en) Implementing workloads in a multi-cloud environment

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