KR20030019000A - Apparatus and method for supervisory analysis of embedded system - Google Patents
Apparatus and method for supervisory analysis of embedded system Download PDFInfo
- Publication number
- KR20030019000A KR20030019000A KR1020010053623A KR20010053623A KR20030019000A KR 20030019000 A KR20030019000 A KR 20030019000A KR 1020010053623 A KR1020010053623 A KR 1020010053623A KR 20010053623 A KR20010053623 A KR 20010053623A KR 20030019000 A KR20030019000 A KR 20030019000A
- Authority
- KR
- South Korea
- Prior art keywords
- log data
- data
- server
- log
- command
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0784—Routing of error reports, e.g. with a specific transmission path or data flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/321—Display for diagnostics, e.g. diagnostic result display, self-test user interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 임베디드 시스템(Embedded System)에 관한 것으로, 특히 임베디드 시스템에서 운용체제의 CPU 스케쥴링(Scheduling)을 실시간으로 감시하고 분석하기에 적당하도록 한 임베디드 시스템의 감시분석 장치 및 그 방법에 관한 것이다.The present invention relates to an embedded system, and more particularly, to an apparatus and method for monitoring analysis of an embedded system, which is suitable for monitoring and analyzing CPU scheduling of an operating system in real time in an embedded system.
일반적으로 임베디드 시스템은 통신 시스템, 항공기, 선박, 우주선, 고속 교통 기관 등의 전자 기계 시스템과 한 몸으로 되어 있는 컴퓨터 시스템을 말한다.In general, embedded systems are computer systems that are integrated with electromechanical systems such as communication systems, aircraft, ships, spacecraft, and high-speed transportation.
도 1은 종래 임베디드 시스템과 전용 계층장비의 블록구성도이다.1 is a block diagram of a conventional embedded system and dedicated layer equipment.
여기서 참조번호 1은 임베디드 시스템이고, 2는 전용 계측장비이다.Where reference numeral 1 is an embedded system, and 2 is a dedicated instrument.
그래서 종래에는 전용 계측장비(2)를 통하여 임베디드 시스템(1)의 CPU를 체크하였다.Thus, in the related art, the CPU of the embedded system 1 is checked through the dedicated measurement equipment 2.
즉, 전용 계측장비(2)에서 임베디드 시스템(1)에 있는 보드로부터 핀을 선으로 빼서 신호선을 연결하여 신호를 감시함으로써 CPU의 동작을 체크하였다.That is, the operation of the CPU was checked by monitoring the signal by connecting a signal line by removing a pin from the board in the embedded system 1 in the dedicated measuring equipment 2.
그러나 이러한 종래의 기술은 전용 계측장비(2)를 이용하여 외부에서 임베디드 시스템(1)의 CPU를 체크만 하였을 뿐 CPU의 스케쥴링을 감시하고 분석하지는 못하였다.However, this conventional technology only checks the CPU of the embedded system 1 from the outside by using the dedicated measuring equipment 2, but cannot monitor and analyze the scheduling of the CPU.
또한 외부로부터 전용 계측장비(2)를 이용하였기 때문에 임베디드 시스템의 CPU 스케쥴링을 실시간으로 감시할 수 있고 임베디드 시스템의 성능에 영향을 미치지는 않았지만, 하드웨어적으로 핀을 뽑고 계측기의 세팅을 하는데 많은 노력이 필요하였으며, 조작이 불편하고 얻어온 결과(데이터)를 가공하여 원하는 정보를 추출하기 어려운 문제점이 있었다.In addition, since dedicated measurement equipment (2) was used from outside, it was possible to monitor the CPU scheduling of the embedded system in real time and did not affect the performance of the embedded system. There was a problem that the operation was inconvenient and difficult to extract the desired information by processing the obtained result (data).
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 임베디드 시스템에서 운용체제의 CPU 스케쥴링을 실시간으로 감시하고 분석하여 실시간 운영체제에서 작동하는 소프트웨어의 디버깅과 튜닝을 수행할 수 있는 임베디드 시스템의 감시분석 장치 및 그 방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and an object of the present invention is to monitor and analyze CPU scheduling of an operating system in an embedded system in real time, and to debug and tune software operating in a real-time operating system. An object of the present invention is to provide an apparatus and method for monitoring analysis of an embedded system.
또한 본 발명의 다른 목적은 소프트웨어의 실행시 CPU 스케쥴링과 관련된 운영체제의 인터럽트 루틴들을 가로채서 미리 정해진 자료구조에 디버깅 데이터를 저장한 후 원격에서 네트워크로 연결되어 있는 서버에 전송하고, 서버는 데이터를 가공 분석하여 개발자가 필요로하는 각종 데이터와 통계, 분석자료를 제공하여 시스템의 성능을 향상시킬 수 있는 임베디드 시스템의 감시분석 장치 및 그 방법을 제공하는 데 있다.In addition, another object of the present invention is to intercept interrupt routines of the operating system related to CPU scheduling at the time of execution of the software, store the debugging data in a predetermined data structure, and transmit the data to a server connected remotely from the network, and the server processes the data. The present invention provides a monitoring analysis apparatus and method for an embedded system that can improve the performance of a system by providing various data, statistics, and analysis data required by a developer.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 임베디드 시스템의 감시분석 장치는,Surveillance analysis device of the embedded system according to an embodiment of the present invention to achieve the above object,
임베디드 시스템 내에 위치하여 운영체제의 훅을 이용하여 필요한 데이터를 수집하여 서버로 전송하는 에이전트와; 상기 에이전트와 제어메시지 및 로그 데이터를 주고 받으며, 받은 로그 데이터를 바탕으로 임베디드 시스템의 상황을 분석하고 그 분석결과를 디스플레이하는 서버를 포함하여 이루어짐을 그 기술적 구성상의 특징으로 한다.An agent which is located in the embedded system and collects necessary data by using a hook of an operating system and transmits it to a server; The technical configuration is characterized in that it comprises a server for exchanging control messages and log data with the agent, and analyzing the situation of the embedded system based on the received log data and displaying the results of the analysis.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 임베디드 시스템의 감시분석 방법은,Surveillance analysis method of an embedded system according to an embodiment of the present invention to achieve the above object,
임베디드 시스템에 에이전트를 구성한 다음 상기 에이전트와 서버 간에 제어 메시지와 로그 데이터를 송/수신하는 제 1 단계와; 상기 제 1 단계 후 로그 데이터로 임베디드 시스템의 상황을 분석하고, 그 분석결과를 디스플레이시키는 제 2 단계를 포함하여 수행함을 그 기술적 구성상의 특징으로 한다.A first step of configuring an agent in an embedded system and then transmitting / receiving control messages and log data between the agent and the server; The technical configuration is characterized by including the second step of analyzing the situation of the embedded system with the log data after the first step and displaying the analysis result.
도 1은 종래 임베디드 시스템과 전용 계층장비의 블록구성도이고,1 is a block diagram of a conventional embedded system and dedicated layer equipment,
도 2는 본 발명에 의한 임베디드 시스템의 감시분석 장치의 블록구성도이며,2 is a block diagram of an apparatus for monitoring analysis of an embedded system according to the present invention;
도 3은 본 발명에 의한 임베디드 시스템의 감시분석 방법을 보인 흐름도이고,3 is a flowchart illustrating a monitoring analysis method of an embedded system according to the present invention;
도 4는 도 3에서 제 1 단계의 상세흐름도이며,4 is a detailed flowchart of the first step in FIG.
도 5는 도 3에서 제 2 단계의 상세흐름도이다.FIG. 5 is a detailed flowchart of the second step in FIG. 3.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
1 : 임베디드 시스템 2 : 전용 계측장비1: Embedded system 2: Dedicated measuring equipment
10 : 에이전트 11 : 인터럽트 관리부10 agent 11: interrupt management unit
12 : 커맨드 핸들러 13 : 로그 관리부12: command handler 13: log management unit
14 : 소켓 서버 15 : ISR 핸들러14: socket server 15: ISR handler
16 : 메모리 20 : 서버16: memory 20: server
21 : 유저 MMI 22 : 커맨드 핸들러21: user MMI 22: command handler
23 : 디스플레이 제어부 24 : 메인 분석부23: display control unit 24: main analysis unit
25 : 소켓 클라이언트 26 : 로그 데이터베이스25: Socket Client 26: Log Database
27 : 분석 데이터베이스27: analysis database
이하, 상기와 같이 구성된 본 발명, 임베디드 시스템의 감시분석 장치 및 그 방법의 기술적 사상에 따른 일실시예를 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the present invention configured as described above, an apparatus for monitoring analysis of an embedded system and a method thereof will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 의한 임베디드 시스템의 감시분석 장치의 블록구성도이다.2 is a block diagram of an apparatus for monitoring analysis of an embedded system according to the present invention.
이에 도시된 바와 같이, 임베디드 시스템 내에 위치하여 운영체제의 훅(Hook)을 이용하여 필요한 데이터를 수집하여 서버(20)로 전송하는 에이전트(Agent)(10)와; 상기 에이전트(10)와 제어메시지 및 로그 데이터를 주고 받으며, 받은 로그 데이터를 바탕으로 임베디드 시스템의 상황을 분석하고 그 분석결과를 디스플레이하는 서버(20)를 포함하여 구성된다.As shown therein, an agent 10 is located in an embedded system and collects necessary data using a hook of an operating system and transmits the necessary data to the server 20; It is configured to include a server 20 for exchanging control messages and log data with the agent 10 and analyzing the situation of the embedded system based on the received log data and displaying the results of the analysis.
상기에서 에이전트(10)는, 운영체제의 훅을 미리 설정하고 필요한 데이터 설정을 유지하며, 커맨드 핸들러(Command Handler)(12)로부터 명령을 받아 훅이 실행하는 루틴의 동작을 조정하는 인터럽트 관리부(Interrupt Manager)(11)와; 상기 서버(20)로부터의 제어 메시지를 해석하여 필요한 동작을 수행하고 응답하는 커맨드 핸들러(12)와; 메모리(16)로부터 훅이 써놓은 로그 데이터를 주기적으로 읽고 관리하는 로그 관리부(Log Manager)(13)와; 상기 로그 관리부(13)로부터 로그 데이터를 받아 상기 서버(20)로 전송하고, 상기 커맨드 핸들러(12)와 제어 메시지를 송/수신하는 소켓 서버(14)와; 상기 인터럽트 관리부(11)와 연결되고, 태스크 스케쥴링과 관련된 ISR(Interrupt Service Routine) 루틴을 제공하는 ISR 핸들러(15)와; 상기 ISR 핸들러(15)가 수집한 데이터를 저장하는 메모리(16)를 포함하여 구성된다.In the above, the agent 10 sets an hook of an operating system in advance, maintains necessary data settings, and receives an instruction from a command handler 12 to control an operation of a routine executed by the hook. 11; A command handler 12 for interpreting a control message from the server 20 to perform and respond to a required operation; A log manager 13 which periodically reads and manages log data written by the hook from the memory 16; A socket server (14) which receives log data from the log manager (13) and transmits it to the server (20), and transmits / receives a control message with the command handler (12); An ISR handler (15) connected to the interrupt manager (11) for providing an interrupt service routine (ISR) routine related to task scheduling; And a memory 16 for storing data collected by the ISR handler 15.
상기에서 서버(20)는, 유저와의 인터페이스를 담당하여 미리 정해진 형식의 명령과 응답을 보내고, 디스플레이 제어부(23)에서 보내온 GUI(Graphic User Interface) 데이터를 유저에게 전달하는 유저 MMI(Man Machine Interface)(21)와; 상기 유저 MMI(21)로부터 받은 명령을 직접 실행하는 커맨드 핸들러(22)와; 메인 분석부(24)에서 가공된 로그 데이터의 값을 디스플레이될 수 있는 데이터로 변환시켜 상기 유저 MMI(21)로 제공하는 디스플레이 제어부(Display Control)(23)와; 로그 데이터를 분석하고 명령에 따라 가공하는 메인 분석부(Main Analyzing)(24)와; 상기 메인 분석부(24)와 제어 메시지를 송/수신하며, 상기 에이전트(10)와 연결하여 제어 메시지 및 로그 데이터를 송/수신하는 소켓 클라이언트(Socket Client)(25)와; 상기 메인 분석부(24)와 연결되고, 상기 에이전트(10)로부터 받은 로그 데이터를 저장하는 로그 데이터베이스(Log DB)(26)와; 상기 메인 분석부(24)와 연결되고, 로그 데이터를 분석하기 위해 필요한 정보들을 저장하는 분석 데이터베이스(Analyzing DB)(27)를 포함하여 구성된다.In the above, the server 20 is responsible for the interface with the user, and sends a command and response of a predetermined format, and the user MMI (Graphic User Interface) data sent from the display control unit 23 to the user Man Machine Interface 21; A command handler 22 for directly executing a command received from the user MMI 21; A display control unit 23 for converting the value of the log data processed by the main analyzer 24 into data that can be displayed and providing the same to the user MMI 21; A main analyzing unit (Main Analyzing) 24 for analyzing log data and processing according to commands; A socket client 25 which transmits / receives a control message with the main analyzer 24 and connects with the agent 10 to transmit / receive control messages and log data; A log database (Log DB) 26 connected to the main analyzer 24 and storing log data received from the agent 10; It is connected to the main analysis unit 24, and comprises an analysis database (Analyzing DB) 27 for storing information necessary for analyzing the log data.
도 3은 본 발명에 의한 임베디드 시스템의 감시분석 방법을 보인 흐름도이다.3 is a flowchart illustrating a monitoring analysis method of an embedded system according to the present invention.
이에 도시된 바와 같이, 임베디드 시스템에 에이전트(10)를 구성한 다음 상기 에이전트(10)와 서버(20) 간에 제어 메시지와 로그 데이터를 송/수신하는 제 1 단계(ST11)(ST12)와; 상기 제 1 단계 후 로그 데이터로 임베디드 시스템의 상황을 분석하고, 그 분석결과를 디스플레이시키는 제 2 단계(ST13)(ST14)를 포함하여 수행한다.As shown therein, a first step (ST11) (ST12) of configuring an agent (10) in an embedded system and then transmitting / receiving control messages and log data between the agent (10) and the server (20); After the first step, a log data is analyzed to analyze the situation of the embedded system, and the second step ST13 (ST14) for displaying the analysis result is performed.
도 4는 도 3에서 제 1 단계의 상세흐름도이다.4 is a detailed flowchart of the first step in FIG.
이에 도시된 바와 같이, MMI를 수행하여 입력스트링(Input String)을 읽고 구문 분석(Lexical Analyze)을 수행하며 파싱을 수행한 다음 함수를 호출하는 단계(ST21 ~ ST23)와; 상기 함수 호출에 의해 커맨드 핸들러의 커맨드 규칙 데이터베이스로부터 규칙 점검 함수(Rule Check Function)를 호출하여 규칙을 점검하는 단계(ST24)와; 상기 규칙 점검 후 인터페이스 함수(Interface Function)를 호출하여 에이전트(10)와 서버(20) 간에 제어 메시지가 송/수신되도록 하는 단계(ST25)와; 상기 인터페이스 함수 호출 후 해당 함수를 호출하여 제어 메시지에 의한 명령이 수행되도록 하는 단계(ST26)를 더욱 포함하여 수행한다.As shown in this figure, performing an MMI, reading an input string, performing a parse, performing parsing, and calling a function (ST21 to ST23); Calling a rule check function from a command rule database of a command handler by calling the function to check a rule (ST24); Calling the interface function after checking the rule to transmit / receive a control message between the agent 10 and the server 20 (ST25); The method may further include a step ST26 of calling a corresponding function to perform a command by a control message after the interface function is called.
도 5는 도 3에서 제 2 단계의 상세흐름도이다.FIG. 5 is a detailed flowchart of the second step in FIG. 3.
이에 도시된 바와 같이, 로그 데이터베이스(26)로부터 로그 데이터를 읽고, 분석 데이터베이스(27)로부터 로그 데이터를 분석하기 위해 필요한 정보를 읽는 단계(ST31)(ST32)와; 상기 데이터를 읽은 다음 로그 데이터를 분석하는 단계(ST33)와; 상기 분석된 로그 데이터로부터 결과를 추출하여 저장하고, MMI에 맞는 디스플레이 형식으로 변환시켜 출력시키는 단계(ST34)(ST35)를 더욱 포함하여 수행한다.As shown therein, steps (ST31) (ST32) of reading log data from the log database 26 and reading information necessary for analyzing log data from the analysis database 27; Reading the data and analyzing log data (ST33); The method may further include extracting and storing the result from the analyzed log data, converting the result into a display format suitable for MMI, and outputting the result (ST34).
이와 같이 구성된 본 발명에 의한 임베디드 시스템의 감시분석 장치 및 그 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Operation of the monitoring analysis apparatus and method of the embedded system according to the present invention configured as described above will be described in detail with reference to the accompanying drawings.
먼저 본 발명은 임베디드 시스템에서 운용체제의 CPU 스케쥴링을 실시간으로 감시하고 분석하고자 하는 것이다.First, the present invention intends to monitor and analyze CPU scheduling of an operating system in an embedded system in real time.
그래서 분석도는 임베디드 시스템에서 동작하는 에이전트(10), 에이전트(10)와 통신하며 받는 로그 데이터를 분석하여 유저와 인터페이스하는 서버(20)로 나뉘어진다.Thus, the analysis diagram is divided into the agent 10 operating in the embedded system, the server 20 communicating with the agent 10 and analyzing the received log data to interface with the user.
여기서 에이전트(10)는 임베디드 시스템 내에 위치하여 운영체제의 훅(Hook)을 이용하여 필요한 데이터를 수집하여 서버(20)로 전송하는 기능을 수행하는 것으로, 이에는 인터럽트 관리부(11), 커맨드 핸들러(12), 로그 관리부(13), 소켓 서버(14), ISR 핸들러(15), 메모리(16) 등이 포함된다.In this case, the agent 10 is located in the embedded system and performs a function of collecting necessary data using a hook of an operating system and transmitting the collected data to the server 20, which includes an interrupt manager 11 and a command handler 12. ), Log management unit 13, socket server 14, ISR handler 15, memory 16 and the like.
인터럽트 관리부(11)는 운영체제의 훅을 미리 설정하고 필요한 데이터 설정을 유지한다. 또한 커맨드 핸들러(12)로부터 명령을 받아 훅이 실행하는 루틴의 동작을 조정하는 역할을 한다.The interrupt management unit 11 sets hooks of the operating system in advance and maintains necessary data settings. Also, it receives a command from the command handler 12 and adjusts the operation of the routine executed by the hook.
커맨드 핸들러(12)는 서버(20)에게서 오는 제어 메시지를 해석하여 필요한 동작을 수행하고 응답한다. 인터럽트 제어 명령을 인터럽트 관리부(11)로 전송하여 주로 인터럽트 관리부(11)의 동작에 관련된 명령을 수행하게 된다.The command handler 12 interprets the control message from the server 20 to perform and respond to the required action. The interrupt control command is transmitted to the interrupt management unit 11 to perform a command mainly related to the operation of the interrupt management unit 11.
로그 관리부(13)는 메모리(16)로부터 훅이 써놓은 로그 데이터를 주기적으로 읽어서 전송모듈인 소켓 서버(14)를 통해 서버(20)로 전송되도록 한다. 클럭 틱 인터럽트(Clock Tick Interrupt)를 통하여 주기적으로 활성화된다.The log manager 13 periodically reads log data written by the hook from the memory 16 and transmits the log data to the server 20 through the socket server 14 serving as a transmission module. It is periodically activated through a clock tick interrupt.
소켓 서버(14)는 로그 관리부(13)로부터 로그 데이터를 받아 서버(20)로 전송하고, 커맨드 핸들러(12)와 제어 메시지를 송/수신한다. 그래서 서버(20)와의 연결설정, 연결유지, 로그 데이터 전송에 관련된 통신 기능을 수행한다.The socket server 14 receives log data from the log management unit 13, transmits the log data to the server 20, and transmits / receives a control message with the command handler 12. Therefore, it performs a communication function related to connection establishment, connection maintenance, and log data transmission with the server 20.
ISR 핸들러(15)는 인터럽트 관리부(11)와 연결되고, 태스크 스케쥴링과 관련된 ISR(Interrupt Service Routine) 루틴을 제공한다. ISR 루틴에는 태스크 스케쥴링과 관련된 task_switch_hook 등이 있다. ISR 핸들러(15)는 인터럽트 관리부(11)가 유지하는 설정 정보에 따라서 그 동작을 제어할 수 있다.The ISR handler 15 is connected to the interrupt management unit 11 and provides an interrupt service routine (ISR) routine related to task scheduling. ISR routines include task_switch_hook related to task scheduling. The ISR handler 15 can control its operation according to the setting information held by the interrupt management unit 11.
메모리(16)는 ISR 핸들러(15)가 수집한 데이터를 임시로 저장한다.The memory 16 temporarily stores data collected by the ISR handler 15.
한편 서버(20)는 에이전트(10)와 제어메시지 및 로그 데이터를 주고 받으며, 받은 로그 데이터를 바탕으로 임베디드 시스템의 상황을 분석하고 그 분석결과를 디스플레이하는 것으로, 유저 MMI(21), 커맨드 핸들러(22), 디스플레이 제어부(23), 메인 분석부(24), 소켓 클라이언트(25), 로그 데이터베이스(26), 분석 데이터베이스(27)를 포함하여 이루어진다.Meanwhile, the server 20 exchanges control messages and log data with the agent 10, analyzes the situation of the embedded system based on the received log data, and displays the analysis result. The user MMI 21 and the command handler ( 22), the display control unit 23, the main analysis unit 24, the socket client 25, the log database 26, and the analysis database 27.
유저 MMI(21)는 유저와의 인터페이스를 담당하여 미리 정해진 형식의 명령과 응답을 보내고, 디스플레이 제어부(23)에서 보내온 GUI 데이터를 유저에게 전달한다. 또한 명령의 파싱과 해당 함수로의 명령어 패치 기능 응답을 다시 정해진 형식으로 바꾸어주는 포맷팅 기능을 수행한다.The user MMI 21 is responsible for the interface with the user, sends commands and responses in a predetermined format, and delivers the GUI data sent from the display control unit 23 to the user. In addition, it performs the parsing of the command and the formatting function to change the command patch function response to the function into a predetermined format.
커맨드 핸들러(22)는 유저 MMI(21)로부터 받은 명령을 직접 실행하는 루틴들의 집합으로 구성된다.The command handler 22 is composed of a set of routines that directly execute a command received from the user MMI 21.
디스플레이 제어부(23)는 메인 분석부(24)에서 가공된 로그 데이터의 값을 디스플레이될 수 있는 데이터로 변환시켜 유저 MMI(21)로 제공한다. 그래서 가공된 로그 데이터의 값을 직접 화면에 표현할 수 있는 데이터로 변환시켜 준다.The display controller 23 converts the value of the log data processed by the main analyzer 24 into data that can be displayed and provides the converted data to the user MMI 21. Therefore, the converted log data value is converted into data that can be directly displayed on the screen.
메인 분석부(24)는 로그 데이터를 분석하고 명령에 따라 가공하는 역할을 수행한다. 가공에 필요한 분석 데이터베이스(27)와 연결된다.The main analyzer 24 analyzes log data and processes the log data. It is connected to the analysis database 27 required for processing.
소켓 클라이언트(25)는 메인 분석부(24)와 제어 메시지를 송/수신한다. 또한 에이전트(10)와 연결하여 제어 메시지 및 로그 데이터를 송/수신한다.The socket client 25 transmits / receives a control message with the main analyzer 24. In addition, it connects with the agent 10 to transmit / receive control messages and log data.
로그 데이터베이스(26)는 메인 분석부(24)와 연결되고, 에이전트(10)로부터 받은 로그 데이터를 저장한다.The log database 26 is connected to the main analyzer 24 and stores log data received from the agent 10.
분석 데이터베이스(27)는 메인 분석부(24)와 연결되고, 로그 데이터를 분석하기 위해 필요한 정보들을 저장한다. 즉, 임베디드 시스템에 로딩된 이미지의 맵(Map) 정보, 디버깅 정보, 분석을 위한 패턴 정보들을 저장한다.The analysis database 27 is connected to the main analyzer 24 and stores information necessary for analyzing log data. That is, map information, debugging information, and pattern information for analysis of the image loaded in the embedded system are stored.
이러한 본 발명의 동작을 좀더 상세히 설명하면 다음과 같다.Referring to the operation of the present invention in more detail as follows.
먼저 에이전트(10) 측에서는 다음과 같이 동작한다.First, the agent 10 operates as follows.
임베디드 시스템에는 에이전트(10)가 함께 컴파일 되어서 로딩되어야 한다.In the embedded system, the agent 10 must be compiled and loaded together.
이때 태스크 스케쥴링과 관련된 운영체제 훅 또는 인터럽트의 서비스 루틴을 재설정한다.At this time, it resets service routine of operating system hook or interrupt related to task scheduling.
임베디드 시스템이 실행되면 자동적으로 미리 설정하여 놓은 루틴들이 실행되게 되는데, 이 루틴들은 태스크 스케쥴링과 관련된 데이터를 수집하는 역할을 수행한다.When the embedded system is executed, preset routines are executed automatically. These routines collect data related to task scheduling.
수집된 데이터들은 메모리(16) 상의 임시 자료구조에 저장되는데, 이를 로그 관리부(13)가 읽어서 서버(20)에 전송하게 된다. 로그 관리부(13)는 클럭 틱의 인터럽트를 가로채서 주기적으로 활성화되게 되고, 메모리(16) 상에 임시로 저장되어 있는 로그 데이터를 소켓 서버(14)를 통하여 서버(20)로 전송하게 된다.Collected data is stored in a temporary data structure on the memory 16, which is read by the log management unit 13 and transmitted to the server (20). The log manager 13 is intermittently activated by intercepting an interrupt of a clock tick, and transmits log data temporarily stored on the memory 16 to the server 20 through the socket server 14.
소켓 서버(14)를 통해서 로그 데이터와 함께 제어 메시지를 주고 받을 수 있는데, 이러한 제어 메시지들은 에이전트(10)의 커맨드 핸들러(12)에 의해서 처리된다. 커맨드 핸들러(12)는 서버(20)에서 오는 제어 메시지를 파싱, 관련 함수를 수행하게 되는데, 주로 인터럽트 관리부(11)를 제어하는데 사용된다.The control message can be exchanged with the log data through the socket server 14, and these control messages are processed by the command handler 12 of the agent 10. The command handler 12 parses a control message coming from the server 20 and performs a related function. The command handler 12 is mainly used to control the interrupt manager 11.
한편 서버(20) 측에서는 다음과 같이 동작한다.On the other hand, the server 20 operates as follows.
서버(20)는 초기화를 끝낸 다음 소켓 클라이언트(25)를 통해 에이전트(10)의 소켓 서버(14)에 연결을 시도하게 된다.After completing the initialization, the server 20 attempts to connect to the socket server 14 of the agent 10 through the socket client 25.
연결이 성립되면 에이전트(10)로부터 로그 데이터를 수신하게 되는데, 이는 로그 데이터베이스(26)에 저장되게 된다.When the connection is established, log data is received from the agent 10, which is stored in the log database 26.
일단 저장된 데이터를 분석하는 역할을 하는 것이 메인 분석부(24)이다. 메인 분석부(24)는 분석과 디버깅에 관련된 정보를 미리 분석 데이터베이스(27)에 자체적으로 가지고 있어서, 그 정보를 바탕으로 취약점의 분석, 전체적인 성능의 튜닝과 관련된 정보를 가공하여 제공할 수 있다.The main analyzer 24 serves to analyze the data once stored. The main analysis unit 24 has information related to analysis and debugging in advance in the analysis database 27, and may process and provide information related to analysis of a vulnerability and tuning of overall performance based on the information.
일단 가공된 데이터는 성격에 따라서 디스플레이 제어부(23)나 유저 MMI(21)에 전달되게 되는데, 최종적으로는 유저 MMI(21)를 통하여 유저에게 전달되게 된다.Once processed, the data is transmitted to the display control unit 23 or the user MMI 21 according to the characteristics, and finally, the data is delivered to the user through the user MMI 21.
서버(20)의 유저 MMI(21)는 유저와의 인터페이스를 담당한다.The user MMI 21 of the server 20 is in charge of the interface with the user.
유저의 명령에 따라서 수집된 데이터를 보여주기도 하고, 에이전트(10)에 명령을 내리기도 한다.The collected data may be displayed according to the user's command, or the agent 10 may be issued.
명령은 유저 MMI(21)에서 규칙에 따라 파싱되고, 커맨드 핸들러(22)의 해당 함수를 호출하는 과정을 거친다.The command is parsed according to the rules in the user MMI 21, and the corresponding function of the command handler 22 is called.
이 명령은 또한 성격에 따라서 에이전트(10)에 전달되어 수행될 수도 있다.This command may also be passed to and executed by the agent 10 depending on the nature.
이처럼 본 발명은 임베디드 시스템에서 운용체제의 CPU 스케쥴링을 감시하고 분석하여 실시간 운영체제에서 작동하는 소프트웨어의 디버깅과 튜닝을 실시간으로 수행하게 되는 것이다.As such, the present invention monitors and analyzes CPU scheduling of an operating system in an embedded system to perform debugging and tuning of software operating in a real-time operating system in real time.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.
이상에서 살펴본 바와 같이, 본 발명에 의한 임베디드 시스템의 감시분석 장치 및 그 방법은 임베디드 시스템에서 운용체제의 CPU 스케쥴링을 감시하고 분석하여 실시간 운영체제에서 작동하는 소프트웨어의 디버깅과 튜닝을 실시간으로 수행할 수 있는 효과가 있게 된다.As described above, the apparatus and method for monitoring analysis of an embedded system according to the present invention can monitor and analyze CPU scheduling of an operating system in an embedded system and perform debugging and tuning of software operating in a real-time operating system in real time. It will work.
또한 본 발명은 실시간 운영체제를 사용하는 임베디드 시스템에서 소프트웨어의 오류탐지나 성능개선에 효과적으로 사용될 수 있다. 실시간 운영체제는 시스템 동작의 정확성이 논리적 정확성 뿐만 아니라 시간적 정확성에도 좌우되는 시스템에서 사용되는 운영체제이다. 통신 장비도 그 대표적인 예이다. 에러나 스위칭 신호가 들어왔을 경우에 주어진 종료시한 안에 해당 작업을 끝내지 못할 경우 막대한 손실을 가져다 줄 수 있다. 이러한 시스템은 보통의 운영체제와는 달리 독특한 실시간 스케쥴링 방법을 사용한다.In addition, the present invention can be effectively used for error detection or performance improvement of software in an embedded system using a real-time operating system. Real-time operating systems are operating systems used in systems where the accuracy of system operation depends not only on logical accuracy but also on time accuracy. Telecommunication equipment is a representative example. In the event of an error or a switching signal, if the task is not completed within the given end time, it can cause enormous loss. This system uses a unique real-time scheduling method unlike a normal operating system.
이러한 스케쥴링의 차이 때문에 의도하지 않은 동작들이 발생하기 쉽고, 적절히 튜닝되지 않으면 전체적인 성능이 급격히 떨어지게 된다.Due to this scheduling difference, unintended behaviors are likely to occur, and if not properly tuned, the overall performance drops dramatically.
그래서 본 발명은 태스크 상호간의 스케쥴링 영향을 분석할 수 있어 논리상의 오류가 아닌 시간적인 제한을 측정하는데 도움을 줄 수 있고, 태스크 상호간의 우선순위 조정 및 태스크 스위칭 유도 등의 방식을 통해 전체적인 시스템의 성능을 향상시키게 되는 효과가 있게 된다.Therefore, the present invention can analyze the scheduling influence between tasks, which can help to measure the time limit rather than the logic error, and the performance of the overall system through a method such as priority adjustment and task switching between tasks. There is an effect to improve the.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010053623A KR20030019000A (en) | 2001-08-31 | 2001-08-31 | Apparatus and method for supervisory analysis of embedded system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010053623A KR20030019000A (en) | 2001-08-31 | 2001-08-31 | Apparatus and method for supervisory analysis of embedded system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030019000A true KR20030019000A (en) | 2003-03-06 |
Family
ID=27722090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010053623A KR20030019000A (en) | 2001-08-31 | 2001-08-31 | Apparatus and method for supervisory analysis of embedded system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20030019000A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030021592A (en) * | 2001-09-07 | 2003-03-15 | 엘지이노텍 주식회사 | Controller operating state verification system |
WO2009131367A2 (en) * | 2008-04-23 | 2009-10-29 | 삼성에스디에스 주식회사 | System and method for managing service level |
KR100948416B1 (en) * | 2008-04-29 | 2010-03-19 | 김현수 | Apparatus and method for analyzing embedded data |
KR100951942B1 (en) * | 2007-08-06 | 2010-04-09 | 엘아이지넥스원 주식회사 | Method of expressing data using memory saving ROM based log table, and measuring instrument having the said ROM based log table |
KR101021657B1 (en) * | 2009-01-07 | 2011-03-17 | (주)유비더스시스템 | Remote management system for device alarm |
KR101046025B1 (en) * | 2008-10-07 | 2011-07-01 | 이경수 | Embedded system data extraction device and method |
KR20190047464A (en) | 2017-10-27 | 2019-05-08 | 국민대학교산학협력단 | Analysis System and Method of iOS System Log |
KR20190047473A (en) | 2017-10-27 | 2019-05-08 | 국민대학교산학협력단 | Analysis System and Method of Android System Log |
-
2001
- 2001-08-31 KR KR1020010053623A patent/KR20030019000A/en not_active Application Discontinuation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030021592A (en) * | 2001-09-07 | 2003-03-15 | 엘지이노텍 주식회사 | Controller operating state verification system |
KR100951942B1 (en) * | 2007-08-06 | 2010-04-09 | 엘아이지넥스원 주식회사 | Method of expressing data using memory saving ROM based log table, and measuring instrument having the said ROM based log table |
WO2009131367A2 (en) * | 2008-04-23 | 2009-10-29 | 삼성에스디에스 주식회사 | System and method for managing service level |
WO2009131367A3 (en) * | 2008-04-23 | 2010-02-18 | 삼성에스디에스 주식회사 | System and method for managing service level |
KR100972073B1 (en) * | 2008-04-23 | 2010-07-22 | 삼성에스디에스 주식회사 | System and method for managing service level |
KR100948416B1 (en) * | 2008-04-29 | 2010-03-19 | 김현수 | Apparatus and method for analyzing embedded data |
KR101046025B1 (en) * | 2008-10-07 | 2011-07-01 | 이경수 | Embedded system data extraction device and method |
KR101021657B1 (en) * | 2009-01-07 | 2011-03-17 | (주)유비더스시스템 | Remote management system for device alarm |
KR20190047464A (en) | 2017-10-27 | 2019-05-08 | 국민대학교산학협력단 | Analysis System and Method of iOS System Log |
KR20190047473A (en) | 2017-10-27 | 2019-05-08 | 국민대학교산학협력단 | Analysis System and Method of Android System Log |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0925532B1 (en) | Control system monitor | |
US5630049A (en) | Method and apparatus for testing software on a computer network | |
US20050119853A1 (en) | Method and apparatus for making and using test verbs | |
EP0471924A2 (en) | Automated function testing of application programs | |
US9170856B2 (en) | Message traffic interception system | |
CN111309343B (en) | Development deployment method and device | |
KR20030019000A (en) | Apparatus and method for supervisory analysis of embedded system | |
US20010011215A1 (en) | Network device simulation system and method | |
KR101440505B1 (en) | Real Time Verification Device for the Flight Control Computer and Controlling Method therefor | |
JPH03224037A (en) | Architecture for server expansion | |
CN115357493A (en) | Test method, test device, electronic equipment and storage medium | |
US7020600B2 (en) | Apparatus and method for improvement of communication between an emulator unit and a host device | |
KR100315675B1 (en) | Method for graphic displaying loading information according to processor in exchanger system | |
JP3559439B2 (en) | Plant monitoring control device and plant monitoring control method | |
KR100404570B1 (en) | Device for monitoring system | |
KR100293913B1 (en) | Method for form filling command processing in switching system | |
CN115905087A (en) | Data processing method and device, electronic equipment and storage medium | |
KR100545606B1 (en) | IPC communication function test method in all electronic switch | |
KR100416798B1 (en) | Command processing method in asynchronous transfer mode exchange system | |
KR920010410B1 (en) | Testing program management method | |
CN115687160A (en) | Interface test system, method and equipment cluster | |
CN114036021A (en) | Dynamic monitoring method and system for service running state of intelligent power supply scheduling system | |
CN112863662A (en) | In-vitro medical diagnosis display system | |
CN116302754A (en) | Solid state disk detection method, system, device and storage medium | |
JP2861085B2 (en) | Debug method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |