KR20080054592A - Log storage method using fixed location memory area in embedded system - Google Patents
Log storage method using fixed location memory area in embedded system Download PDFInfo
- Publication number
- KR20080054592A KR20080054592A KR1020060127025A KR20060127025A KR20080054592A KR 20080054592 A KR20080054592 A KR 20080054592A KR 1020060127025 A KR1020060127025 A KR 1020060127025A KR 20060127025 A KR20060127025 A KR 20060127025A KR 20080054592 A KR20080054592 A KR 20080054592A
- Authority
- KR
- South Korea
- Prior art keywords
- log
- area
- fixed location
- application
- storing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 239000000872 buffer Substances 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 11
- 238000011010 flushing procedure Methods 0.000 claims 2
- 230000007547 defect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
부하없는 고장 추적을 위해 내장형 시스템(embedded system)에서 고정 위치 메모리 영역을 이용한 로그 저장 방법이 개시된다. 일 실시예에서, 운영체제 또는 응용 프로그램이 사용하지 못하도록 운영체제 시작시 램과 같은 메모리에서의 고정위치 로그 영역을 예약하고, 응용 프로그램 또는 커널로부터 내용 출력시 출력을 위해 사용되는 버퍼에 대한 포인터를 상기 고정위치 로그 영역으로 설정하여, 출력되는 내용을 고정위치 로그 영역에 저장한다. 상기 방법을 통해 로그를 저장하기 위해 별도의 라이브러리나 관리자를 설치할 필요가 없고 실질적으로 실시간으로 로그가 남길 수 있기 때문에 치명적인 장치 결함의 이유로 갑자기 시스템이 고장 나는 경우에도 로그를 남길 수 있게 된다.Disclosed is a log storage method using a fixed location memory area in an embedded system for load-free failure tracking. In one embodiment, the fixed location log area in memory, such as RAM, is reserved at the start of the operating system so that the operating system or application cannot use it, and the pointer to the buffer used for output when outputting content from the application or kernel is fixed. Set the location log area and save the output contents in the fixed location log area. With this method, there is no need to install a separate library or administrator to save the log, and the log can be left in real time, so that the log can be left even if the system suddenly fails due to a fatal device defect.
Description
도 1은 저장매체 또는 할당받은 메모리에 로그를 저장하는 종래의 방법을 도시한 도면.1 illustrates a conventional method of storing logs in a storage medium or an allocated memory.
도 2는 일 실시예에 따른 로그 영역의 구조를 도시한 도면.2 is a diagram illustrating a structure of a log area according to an exemplary embodiment.
도 3은 일 실시예에 따른 로그 저장 방법을 도시한 도면.3 is a diagram illustrating a log storing method according to an exemplary embodiment.
도 4는 일 실시예에 따른 고장 원인 추적을 위한 로그 출력의 예를 도시한 도면.4 is a diagram illustrating an example of a log output for tracking a cause of a failure, according to an exemplary embodiment;
도 5는 일 실시예에 따른 고정위치 메모리 영역을 이용한 로그 저장 흐름도.5 is a flowchart illustrating a log storage using a fixed location memory area according to an exemplary embodiment.
본 발명은 내장형 시스템에서의 고장 추적 방법에 관한 것으로, 특히 램과 같은 메모리의 고정 위치에 로그(LOG)를 남겨 내장형 시스템에서의 고장을 추적할 수 있도록 하는 방법에 관한 것이다. The present invention relates to a fault tracking method in an embedded system, and more particularly, to a method of tracking faults in an embedded system by leaving a log in a fixed position of a memory such as a RAM.
로그는 소프트웨어가 수행한 이력 정보(에러, 이벤트 등)의 기록을 말하는 것으로, 시스템에 문제가 발생한 경우 고장 원인을 추적할 수 있는 정보가 된다. 일반적으로 시스템에서의 고장을 추적할 수 있도록 로그를 남기는 방법에는 두 가지가 있다. 하나는 저장 매체에 로그를 남기는 방법이며, 다른 하나는 할당받은 램 영역에 로그를 남기는 방법이다. 도 1에 도시된 바와 같이 디스크나 플래시(Flash) 등의 저장매체에 로그를 남기는 시스템은, API 호출을 통해 로그 저장을 요청하는 응용프로그램(110)과 로그를 저장하는 라이브러리(또는 관리자)(120), 로그 내용이 실제로 저장되는 공간인 저장매체(140)로 구성된다. 저장매체(140)는 데이터를 저장할 수 있는 장치를 말하며, 일반적으로 데이터를 저장한 후 전원이 인가되지 않아도 데이터가 그대로 남아있는 비휘발성 저장매체를 말한다. 응용프로그램(110)이 로그를 저장하기 위한 라이브러리나 관리자(120)에게 필요한 로그의 저장을 요청하면 로그 라이브러리나 관리자(120)가 이를 저장매체(140)에 저장하는 방식으로 저장매체(140)의 크기에 따라 많은 양의 로그를 남길 수 있고, 문제가 발생하여 시스템이 재시작되어도 저장매체(140)에 로그 내용이 그대로 남아서 문제점을 추적할 수 있다The log is a record of the history information (errors, events, etc.) performed by the software. The log is information that can trace the cause of the failure when a problem occurs in the system. In general, there are two ways to log so that you can track failures in your system. One method is to log on the storage medium and the other method is to log on the allocated RAM area. As shown in FIG. 1, a system for recording a log on a storage medium such as a disk or flash includes an
한편, 할당받은 램 영역에 로그를 남기는 시스템은, API호출 을 통해 로그 저장을 요청하는 응용 프로그램(110)과, 로그의 내용을 메모리를 할당받아 저장하는 라이브러리(또는 관리자)(120), 로그 내용이 실제로 저장되는 공간인 램(RAM)(130)으로 구성된다. 응용프로그램(110)이 로그를 저장하기 위한 라이브러리나 관리자(120)에게 필요한 로그의 저장을 요청하면 로그 라이브러리나 관리자(120)는 로그에 필요한 양만큼 메모리(130)를 할당받아 로그를 저장하는 것으로 서, 저장 매체(140)에 로그를 남기는 것에 비해 시스템 부하가 상대적으로 적고, 저장매체(140)에 비해 수명이 반영구적이며 안정성이 높다On the other hand, the system that leaves a log in the allocated RAM area, the
그러나, 저장 매체에 로그를 남기는 방법은 디스크나 플래시 등의 저장매체에 로그(LOG)를 남기는 것이므로 상대적으로 느리게 동작하고, 부하가 많이 발생하는 저장매체에 저장함으로 인해 시스템에 많은 부하가 발생하게 된다. 또한, 로그를 저장하기 위해서는 응용 프로그램에서 별도로 로그를 저장하는 API를 호출해 주어야 하며, 저장매체의 특성상 수명이 정해져 있고 저장매체가 고장이 발생할 확률이 높아서 안정성이 떨어지는 문제점이 있다. However, the method of leaving a log on a storage medium is to leave a log on a storage medium such as disk or flash, so that the operation is relatively slow and the load is generated on a storage medium that has a high load. . In addition, in order to save the log, an application program must call an API that stores the log separately. Due to the characteristics of the storage medium, its life is fixed, and the storage medium has a high probability of failure, resulting in poor stability.
할당받은 램 영역에 로그를 남기는 방법 역시 시스템에 문제가 발생하여 시스템이 재시작되면 로그가 사라져서 문제점을 추적할 수 없고, 로그를 저장하기 위해서 응용 프로그램이 별도의 API를 호출해야 하며, 로그를 남기기 위해 추가적인 부하가 발생하고, 응용 프로그램이 로그를 남기지 않을 경우에는 로그를 볼 수 없다는 문제점이 있었다.Logging in the allocated RAM area also causes problems in the system. When the system is restarted, the log disappears and the problem cannot be tracked. The application must call a separate API to save the log. If there is an additional load and the application does not leave a log, there is a problem that the log cannot be viewed.
본 발명은 부하없는 고장 추적을 수행하기 위해 내장형 시스템에서 고정위치 메모리 영역을 이용한 로그 저장 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a log storage method using a fixed location memory area in an embedded system to perform a load-free failure tracking.
이를 위해 일 실시예에서, 운영체제 또는 응용 프로그램이 사용하지 못하도록 운영체제 시작시 메모리에서의 고정위치 로그 영역을 예약하고, 응용 프로그램 또는 커널로부터 내용 출력시 출력을 위해 사용되는 버퍼에 대한 포인터를 상기 고정위치 로그 영역으로 설정하여, 출력되는 내용을 고정위치 로그 영역에 저장하는 방법이 제공된다.To this end, in one embodiment, the fixed location log area in memory is reserved at operating system startup to prevent the operating system or application from using it, and the pointer to the buffer used for output when outputting content from the application or kernel is fixed to the fixed location. By providing a log area, a method of storing the output content in a fixed location log area is provided.
일 실시예에서, 로그 영역은 상기 로그에 관한 정보를 저장하는 로그 헤더 영역, 상기 응용 프로그램 로그를 저장하는 응용 프로그램 로그 영역, 및 상기 커널에 관련된 로그를 저장하는 커널 로그 영역을 포함할 수 있으며, 로그 헤더 영역은 마지막으로 로그를 저장한 위치 정보 및 상기 로그 헤더 정보가 올바른 것인지 검사할 수 있도록 하는 체크섬(checksum) 정보를 포함할 수도 있다.In one embodiment, the log area may include a log header area for storing information about the log, an application log area for storing the application log, and a kernel log area for storing logs related to the kernel, The log header area may include location information where the log was last stored and checksum information for checking whether the log header information is correct.
일 실시예에서, 출력과 관련된 시간 정보를 더 포함하여 로그가 저장될 수 있으며, 와치독(watchdog) 기능을 지원하는 경우 CPU 캐시(cache)를 플러쉬(flush)할 수 있다. In one embodiment, the log may be stored further including time information related to the output, and the CPU cache may be flushed when the watchdog function is supported.
일 실시예에서, 로그 영역은 버퍼에서 버퍼가 다 사용된 경우, 새롭게 추가되는 버퍼 내용을 처음 위치에서부터 원형으로 겹쳐쓰도록(overwrite) 하기 위한 고정된 크기의 원형 버퍼(circular buffer) 형태로 관리될 수 있다.In one embodiment, the log area may be managed in the form of a fixed size circular buffer to overwrite the newly added buffer contents circularly from the initial position when the buffer is used up. Can be.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들에 관하여 설명한다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings.
도 2는 일 실시예에 따른 로그 영역의 구조를 도시한 도면이다. 시스템이 부팅되면서 운영체제는 각각의 목적에 따라 메모리를 맵핑(mapping)한다. 각각 운영체제 영역(210), 로그 영역(240) 및 응용 프로그램 영역(270)으로 메모리가 할당될 수 있으며, 로그 영역(240)은 고정 위치에 있는 램 영역으로서 전원이 차단되지 않는 한 시스템이 재시작되어도 내용이 그대로 보존된다. 본 실시예에서, 램(RAM) 은 전원이 공급되는 동안에만 저장된 데이터를 유지하는 휘발성 메모리를 의미하지만, 여기에 한정되는 것은 아니며, 이러한 기능을 수행하는 본 발명의 기술분야의 어떠한 적절한 저장매체로 구현될 수 있다.2 is a diagram illustrating a structure of a log area according to an exemplary embodiment. As the system boots, the operating system maps memory for different purposes. Memory may be allocated to the
로그 영역(240)은 시스템 전체 메모리의 크기에 따라 변화할 수 있으며, 로그에 관한 정보를 저장하는 로그 헤더(header) 영역(242), 응용 프로그램 로그를 저장하는 응용 프로그램 로그 영역(245) 및 운영체제 또는 장치 드라이버의 로그를 저장하는 커널(Kernel) 로그 영역(248)으로 나누어질 수 있다. 로그 헤더 영역(242)은 마지막으로 로그를 저장한 위치(243) 및 로그 헤더 정보가 올바른 것인지 검사할 수 있도록 하는 체크섬(Checksum) 정보(244)를 포함할 수 있다. 마지막으로 로그를 저장한 위치(243) 정보를 바탕으로 버퍼 포인터를 마지막으로 로그가 저장된 위치로 변경하여 그 이후부터 로그가 저장될 수 있도록 한다. 체크섬이란 데이터의 정확성을 검사하기 위한 용도로 사용되는 합계, 오류 검출 방식의 하나로서, 데이터의 입력이나 전송 시에 제대로 되었는지를 확인하기 위해, 입력 데이터나 전송 데이터의 맨 마지막에 앞서 보낸 모든 데이터를 다 합한 합계를 따로 보내는 것이다. 데이터를 받아들이는 측에서는 하나씩 받아들여 합산한 다음 이를 최종적으로 들어온 검사 합계와 비교하여 착오가 있는지를 점검함으로써, 로그 헤더 정보의 무결성을 검사할 수 있다. 앞서 설명한 바와 같이, 고정위치의 메모리 영역(fixed memory area)을 로그 영역(240)으로 사용하고 이 영역을 보호하는 것은, 시스템에 고장이 발생하여 재시작되더라도 전원이 차단되지 않는 한 로그의 내용이 그대로 남게 되므로 사후에 고장의 원인을 추적할 수 있기 때문이다. The
도 3은 일 실시예에 따른 로그 저장 방법을 도시한 도면이다. 응용 프로그램(310) 또는 커널(350)이 콘솔 장치로 임의의 내용을 출력할 때에는 반드시 임시버퍼에 출력될 내용을 저장하게 된다. 커널(350)은 운영체제에서 가장 기초적이고 핵심적인 기능을 담당하는 부분으로 기억 장소, 메모리, 파일, 주변 장치 등과 같은 시스템을 구성하는 중요한 자원을 관리한다. 뿐만 아니라 시간 관리, 프로세서 관리, CPU 스케줄링, 입출력 제어, 시스템 자원의 배분 등과 같이 컴퓨터 운영에 필요한 핵심 사항을 처리한다. 한편, 콘솔 장치는 시스템의 수행 내용을 보여주는 터미널 장치를 말하는 것으로 예컨대 PC에서의 모니터, 내장형 시스템에서의 시리얼 장치나 랜 등이 이에 해당된다. 시스템 수행 단계에서 예컨대, printf(320) 또는 printk(360)와 같은 프린트 출력 함수 등을 통해 응용 프로그램(310) 또는 커널(350)에서의 내용을 콘솔 장치로 출력하게 되는데, 시스템 모듈(도시하지 않음)은 사용되는 버퍼에 대한 포인터를 고정위치의 메모리 영역인 응용 프로그램 로그 영역(330) 또는 커널 로그 영역(370)으로 바꿀 수 있다. 고정위치의 메모리 영역은 크기가 한정되어 있으므로, 정해진 크기 내에서 사용할 있도록 로그 영역은 원형 버퍼(circular buffer; 340, 380) 형태로 관리될 수 있다. 원형 버퍼(340, 380)는 원형 버퍼에서 버퍼가 다 사용된 경우, 새롭게 추가되는 버퍼 내용을 처음 위치에서부터 원형으로 겹쳐쓰도록(overwrite) 함으로써 고정된 크기를 가질 수 있다. 이를 통해 버퍼 내용을 따로 복사하여 저장하는 추가적인 부하 없이 로그를 저장할 수 있으며, 응용 프로그램(310) 또는 커널(350)에서 출력되는 모든 메시지의 내용이 로그 영역에 남게 되므로 로그를 남기기 위해 응용 프로그램(310)이나 커널(350)에서 별도의 API를 사용할 필요가 없게 된다. 3 is a diagram illustrating a log storing method according to an exemplary embodiment. When the
시스템에 따라 와치독(Watchdog) 장치를 포함할 수도 있다. 와치독 장치는 하드웨어나 소프트웨어의 고장으로 인해 특정 위치에서 무한루프를 수행하게 되어 다른 작업을 전혀 할 수 없게 된 경우, 일정 주기 동안 와치독을 소프트웨어가 리셋하지 않으면 시스템 전체를 자동으로 강제 리셋시키는 장치이다. 이러한 와치독 기능을 가진 시스템에서는 와치독을 통해 하드웨어가 리셋되는 경우 메모리에 저장된 내용이 실제의 물리적 메모리에 저장되지 않고 중앙처리장치의 캐시(CPU Cache)에만 존재할 수 있다. 따라서, 와치독 기능이 있는 시스템에서는 출력이 끝난 후 캐시를 플러쉬(flush)함으로써 중앙처리장치의 캐시와 메모리의 내용을 일치시키는 작업을 수행할 수 있다. Depending on the system, a watchdog device may be included. Watchdog is a device that automatically resets the entire system when the watchdog is not reset by the software for a certain period of time when a hardware or software failure causes an infinite loop to be performed at a specific position and no other work can be done at all. to be. In a system having such a watchdog function, when hardware is reset through the watchdog, the contents stored in the memory may exist only in the CPU cache of the central processing unit instead of the actual physical memory. Therefore, in a system having a watchdog function, after the output is finished, the cache may be flushed to match the contents of the cache and the memory of the CPU.
한편, 로그 영역(330, 370)에 로그를 저장할 때 시각 정보를 함께 저장할 수도 있다. 고장 분석 시, 문제가 발생한 시각이 중요한 경우가 많으므로 이와 같이 시각 정보를 함께 저장하게 되면 분석을 보다 용이하게 수행할 수 있다. Meanwhile, when storing logs in the
리눅스와 같은 유닉스 계열의 운영체제에서는 응용 프로그램(310)이 잘못된 주소에 접근하여 종료될 때에, 수행중인 응용 프로그램의 수행 내용은 파일로 저장되고 사후에 이 파일을 분석할 수 있게 된다. 이러한 파일의 저장공간이 따로 존재하지 않는 경우에는 이를 저장하여 분석할 수 없게 되지만, 일 실시예에 따라 종료 정보를 출력하기만 하면 로그가 자동으로 로그 영역에 저장되므로, 응용 프로그램(310)의 오류 분석이 가능해진다. In a Unix-like operating system such as Linux, when an
도 4는 일 실시예에 따른 고장 원인 추적을 위한 로그 출력의 예를 도시한 도면이다. 예를 들어, 응용 프로그램이나 장치 드라이버에 오류가 발생한 경우 이들은 강제 종료되고 종료될 시점의 중앙처리장치 내의 레지스터 정보 등을 출력한 후 운영체제는 시스템을 재시작하거나 응용 프로그램을 재시작할 수 있다. 이 때, 출력 메시지는 앞에서 설명한 바와 같이 로그로 저장되므로 고장의 원인을 추적할 수 있게 된다. 도 4에 도시된 로그 정보는 출원인이 개발한 통신 장비에 사용하기 위해 안정성을 높인 리눅스인 FTLinux(Fault Tolerant Linux)에서의 로그 출력을 예시한 것이며, 이러한 정보를 통해 로그를 분석하여 고장 원인을 추적할 수 있다. 4 is a diagram illustrating an example of a log output for tracking a cause of a failure, according to an exemplary embodiment. For example, when an error occurs in an application program or a device driver, the operating system may restart the system or restart the application program after outputting register information in the central processing unit at the time of forced termination and termination. At this time, the output message is stored as a log as described above, so that the cause of the failure can be traced. The log information shown in FIG. 4 is an example of a log output from FTLinux (Fault Tolerant Linux), which is a Linux having improved stability for use in a communication device developed by the applicant, and analyzes the log to track the cause of the failure. can do.
도 5는 일 실시예에 따른 고정위치 메모리 영역을 이용한 로그 저장 흐름도이다. 시스템이 시작되면 운영체제가 각각의 목적에 따라 메모리를 할당하며 고정위치 메모리 영역, 즉 로그 영역(240)(도 2)을 사용하지 못하도록 예약한다(S510). 운영 프로그램 또는 커널이 콘솔로 정보를 출력할 때, 예컨대, printf 또는 printk와 같은 프린트 출력 함수를 호출한다(S520). 단계(S530)에서, 버퍼 포인터를 마지막으로 로그가 저장된 위치로 변경하여 그 이후부터 로그가 저장될 수 있도록 한다. 다음으로, 콘솔로 출력되는 내용이 램과 같은 메모리의 로그 영역, 즉 응용 프로그램 로그 영역(245) 또는 커널 로그 영역(248)에 저장된다(S540). 시스템이 와치독 기능을 지원하는지를 판단하고(S550), 와치독 기능을 지원하는 경우, CPU의 캐시를 플러쉬함으로써 CPU 캐시의 내용과 메모리의 내용을 일치시킨다(S560). 5 is a flowchart illustrating a log storing using a fixed location memory area, according to an exemplary embodiment. When the system starts, the operating system allocates memory for each purpose and reserves the fixed location memory area, that is, the log area 240 (FIG. 2) from being used (S510). When the operating program or the kernel outputs information to the console, for example, a print output function such as printf or printk is called (S520). In step S530, the buffer pointer is changed to the location where the log was last stored so that the log can be stored thereafter. Next, the content output to the console is stored in the log area of the memory such as RAM, that is, the
상기 실시예들은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨 터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The above embodiments can also be embodied as computer readable codes on a computer readable recording medium. Computer-readable recording media include any type of recording device that stores data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the art to which the present invention belongs.
이상에서 본 발명의 바람직한 실시예를 참조하여 본 발명에 대해서 상세하게 설명되었으나, 이들은 단지 예시적인 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described in detail with reference to the preferred embodiments of the present invention, these are merely exemplary, and those skilled in the art to which the present invention pertains have various modifications and equivalents therefrom. It will be appreciated that embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
상기 실시예들에 따르면, 응용 프로그램 개발자는 장치 드라이버 개발자가 별도의 로그를 고려하거나 사용하지 않고 단순한 출력 함수만으로도 로그를 남길 수 있게 되어 개발자의 부담을 줄일 수 있고, 로그를 빠뜨리는 실수를 원천적으로 방지할 수 있으며, 별도의 라이브러리나 관리자를 설치할 필요가 없다. 그리고 실시간으로 로그가 남기 때문에 치명적인 장치 결함의 이유로 갑자기 시스템이 고장 나는 경우에도 로그를 남길 수 있게 된다. According to the above embodiments, the application program developer can leave a log with a simple output function without the device driver developer considering or using a separate log, thereby reducing the burden on the developer and preventing a mistake of dropping the log. You don't need to install a separate library or manager. And because the log remains in real time, it can be logged even if the system suddenly fails due to a fatal device fault.
또한 상기 실시예들에 따르면, 로그를 저장하기 위해 추가적인 버퍼 복사가 없으므로 시스템 부하를 줄일 수 있고, 로그를 메모리에 저장하므로 로그가 손상될 확률이 줄어들게 되며 전원이 차단되지 않는 한 시스템이 재시작되어도 이전의 로그가 그대로 남아있게 된다. 마지막으로, 응용 프로그램 로그 뿐만 아니라 커널 로그도 남길 수 있게 되는 효과가 있다. In addition, according to the above embodiments, there is no additional buffer copy to store the log, so that the system load can be reduced, and the log is stored in memory, thereby reducing the possibility of log corruption, even if the system is restarted unless the power is turned off. Will remain intact. Finally, the effect is that you can leave not only the application log but also the kernel log.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060127025A KR20080054592A (en) | 2006-12-13 | 2006-12-13 | Log storage method using fixed location memory area in embedded system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060127025A KR20080054592A (en) | 2006-12-13 | 2006-12-13 | Log storage method using fixed location memory area in embedded system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080054592A true KR20080054592A (en) | 2008-06-18 |
Family
ID=39801520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060127025A KR20080054592A (en) | 2006-12-13 | 2006-12-13 | Log storage method using fixed location memory area in embedded system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080054592A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294176A (en) * | 2016-08-19 | 2017-01-04 | 暴风集团股份有限公司 | The method and system of application failure location in Mac OS system |
CN110147304A (en) * | 2019-04-03 | 2019-08-20 | 珠海全志科技股份有限公司 | A kind of method and apparatus of acquisition system bootload log |
KR102326683B1 (en) | 2020-07-22 | 2021-11-16 | 웹케시 주식회사 | System and method for asynchronous logging using queue and computer program for the same |
CN113971164A (en) * | 2021-10-22 | 2022-01-25 | 北京千丁智能技术有限公司 | Log collection method, device, terminal device and readable storage medium |
WO2024244555A1 (en) * | 2023-06-02 | 2024-12-05 | 荣耀终端有限公司 | Log generation method, and terminal device and readable storage medium |
-
2006
- 2006-12-13 KR KR1020060127025A patent/KR20080054592A/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294176A (en) * | 2016-08-19 | 2017-01-04 | 暴风集团股份有限公司 | The method and system of application failure location in Mac OS system |
CN106294176B (en) * | 2016-08-19 | 2018-11-06 | 暴风集团股份有限公司 | The method and system that application failure positions in Mac OS systems |
CN110147304A (en) * | 2019-04-03 | 2019-08-20 | 珠海全志科技股份有限公司 | A kind of method and apparatus of acquisition system bootload log |
KR102326683B1 (en) | 2020-07-22 | 2021-11-16 | 웹케시 주식회사 | System and method for asynchronous logging using queue and computer program for the same |
CN113971164A (en) * | 2021-10-22 | 2022-01-25 | 北京千丁智能技术有限公司 | Log collection method, device, terminal device and readable storage medium |
WO2024244555A1 (en) * | 2023-06-02 | 2024-12-05 | 荣耀终端有限公司 | Log generation method, and terminal device and readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1693757B1 (en) | System and method for using a file system to automatically backup a file as a generational file | |
US8694983B1 (en) | Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system | |
US10296423B2 (en) | System and method for live virtual incremental restoring of data from cloud storage | |
US7225361B2 (en) | Detecting a stalled routine | |
US8806476B2 (en) | Implementing a software installation process | |
US7552044B2 (en) | Simulated storage area network | |
US20170046152A1 (en) | Firmware update | |
US9678682B2 (en) | Backup storage of vital debug information | |
US7363546B2 (en) | Latent fault detector | |
US8397032B2 (en) | Recovery in shared memory environment | |
US20090044051A1 (en) | Extracting log and trace buffers in the event of system crashes | |
US8219851B2 (en) | System RAS protection for UMA style memory | |
US7984332B2 (en) | Distributed system checker | |
US10514972B2 (en) | Embedding forensic and triage data in memory dumps | |
CN114222975A (en) | Data preservation using memory aperture flush sequence | |
US7516317B2 (en) | Measuring an operating system's boot duration | |
JP2023532835A (en) | Live migrate virtual machine to target host on fatal memory error | |
KR20080054592A (en) | Log storage method using fixed location memory area in embedded system | |
US7231634B2 (en) | Method for determining scope and cause of memory corruption | |
CN118444987A (en) | Jailhouse non-root cell internal OS restart method, system and storage medium | |
US11210024B2 (en) | Optimizing read-modify-write operations to a storage device by writing a copy of the write data to a shadow block | |
US20070083792A1 (en) | System and method for error detection and reporting | |
US20070079292A1 (en) | Management of watchpoints in debuggers | |
US11226875B2 (en) | System halt event recovery | |
US20220229719A1 (en) | Error logging during system boot and shutdown |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20061213 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20071220 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20080630 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20071220 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |