KR20000002901A - Method for memory management with memory statistics - Google Patents
Method for memory management with memory statistics Download PDFInfo
- Publication number
- KR20000002901A KR20000002901A KR1019980023881A KR19980023881A KR20000002901A KR 20000002901 A KR20000002901 A KR 20000002901A KR 1019980023881 A KR1019980023881 A KR 1019980023881A KR 19980023881 A KR19980023881 A KR 19980023881A KR 20000002901 A KR20000002901 A KR 20000002901A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- statistics
- allocation
- release
- counter
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 메모리 관리 방법에 관한 것으로서, 특히 하나 이상의 프로세스들이 공유하는 메모리를 사용하는 장치에서의 특정 프로세스 진행에 따른 메모리 할당과 해제의 일치를 위해 메모리 할당· 해제 영역에 메모리 통계를 구비하는 것을 특징으로 하는 메모리 관리 방법에 관한 것이다.The present invention relates to a memory management method, and in particular, to provide memory statistics in a memory allocation and deallocation area in order to match memory allocation and release according to a specific process progress in a device using memory shared by one or more processes. It relates to a memory management method.
종래의 메모리 관리 방법에 있어서는, 응용 프로그램상에서 특정 프로세스를 진행하고 있을 경우 그 진행에 따른 메모리의 할당과 해제가 일치하지 않아 프로세스의 진행이 종료된 후에도 메모리가 계속 할당되어 있는 상태로 남아 있어 상기 프로세스 이외의 다른 프로세스들이 진행될 경우 더 이상의 메모리 할당을 할 수 없는 경우가 있었다. 그래서 메모리를 효율적으로 사용할 수 없다는 단점이 있었다.In the conventional memory management method, when a specific process is in progress in an application program, memory allocation and release according to the progress do not coincide, and thus the memory remains allocated even after the process is finished. If other processes were going on, there could be no more memory allocation. The disadvantage was that memory could not be used efficiently.
따라서, 본 발명의 목적은 특정 프로세스가 진행되는 경우, 그 프로세스의 단계의 진행에 따른 각 단계의 메모리 할당과 상기 각 단계의 진행이 종료된 후 상기 프로세스의 각 단계에 할당되어 있던 메모리를 자동으로 해제시키기 위해 메모리 할당· 해제 영역에 메모리 통계를 구비하는 메모리 관리 방법을 제공함에 있다.Accordingly, an object of the present invention is to automatically allocate memory of each step according to the progress of a step of the process and to automatically allocate the memory allocated to each step of the process after the completion of the step when the specific process proceeds. The present invention provides a memory management method including memory statistics in a memory allocation / release area for decommissioning.
상기한 목적을 달성하기 위한 본 발명은 메모리에 특정 프로세스 진행에 따른 메모리 할당과 해제 영역에 메모리 할당 카운터와 메모리 해제 카운터를 가지고 있는 메모리 통계를 구비하여 자동으로 메모리 할당과 해제를 일치시키고, 메모리 통계 수행중에 메모리 할당과 해제가 일치하지 않아 생기는 오류가 있을 경우 표시장치에 그 오류 내용을 디스플레이 하는 기능과 상기 디스플레이 상태에서 사용자가 직접 그 오류를 수정할 수 있는 디버깅 기능을 구비하는 것을 특징으로 한다.The present invention for achieving the above object has a memory statistics having a memory allocation counter and a memory release counter in the memory allocation and release area according to the progress of a specific process in the memory to automatically match the memory allocation and release, memory statistics If there is an error caused by mismatch of memory allocation and release during execution, the display device may include a function of displaying the error content on the display device and a debugging function of allowing the user to directly correct the error in the display state.
도 1은 본 발명의 일 실시예에 따른 기능을 수행하기 위한 컴퓨터의 내부 구성을 간략히 도시한 블록도1 is a block diagram schematically illustrating an internal configuration of a computer for performing a function according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 메모리 통계에 적용되는 프로그램의 일 예를 도시하는 도면2 is a diagram illustrating an example of a program applied to memory statistics according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에서 특정 프로세스 진행에 따른 메모리 할당· 해제에 관한 메모리 통계 과정을 도시하는 흐름도3 is a flowchart illustrating a memory statistic process related to memory allocation and release according to a specific process in one embodiment of the present invention.
도 4는 본 발명의 일 실시예에서 특정 프로세스 진행에 따른 메모리 영역의 할당과 해제 과정을 도시하는 흐름도FIG. 4 is a flowchart illustrating a process of allocating and freeing memory areas according to a specific process according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 메모리 통계의 디버깅 과정을 도시하는 흐름도5 is a flowchart illustrating a process of debugging memory statistics according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 메모리 통계 테이블의 일 예를 도시하는 도면6 illustrates an example of a memory statistics table according to an embodiment of the present invention.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흐트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted so as not to obscure the subject matter of the present invention.
도 1은 본 발명의 실시예에 따른 기능을 수행하기 위한 컴퓨터의 내부 구성을 도시한 블록도로서, 특히 메모리 할당과 해제의 일치를 위한 메모리 통계를 구비한 메모리 관리 방법을 수행할 수 있는 컴퓨터의 내부 구성을 도시한 것이다. 본 발명의 일 실시예에서는 컴퓨터를 예로 들어 설명하지만 본 발명의 메모리 관린 방법은 하나 이상의 프로세스들이 공유하는 메모리를 사용하는 장치에 적용될 수 있다.1 is a block diagram illustrating an internal configuration of a computer for performing a function according to an embodiment of the present invention. In particular, FIG. 1 is a block diagram of a computer capable of performing a memory management method having memory statistics for matching memory allocation and release. The internal configuration is shown. Although one embodiment of the present invention describes a computer as an example, the memory management method of the present invention may be applied to an apparatus using a memory shared by one or more processes.
도 1에 도시한 제어부 111은 컴퓨터의 전반적인 동작을 제어한다. 상기 제어부 111은 키보드 115를 소정의 주기로 스캐닝하여 그로부터 입력되는 키신호가 있는지를 검색한다. 본 발명의 일 실시예에서는 키보드를 입력장치로 사용하지만 마우스 등의 입력장치도 사용될 수 있다. 상기 키보드 115는 사용자가 선택한 키에 대응되는 키신호를 상기 제어부 111로 전달한다. 상기 제어부 111은 상기 키보드 115로부터 전달받은 신호를 입력하고 그 신호를 분석한다.The controller 111 shown in FIG. 1 controls the overall operation of the computer. The controller 111 scans the keyboard 115 at predetermined intervals and searches for a key signal input therefrom. In one embodiment of the present invention, a keyboard is used as an input device, but an input device such as a mouse may also be used. The keyboard 115 transmits a key signal corresponding to a key selected by the user to the controller 111. The controller 111 inputs a signal received from the keyboard 115 and analyzes the signal.
상기 메모리 113은 상기 제어부 111에 의해 수행되는 작업에 대한 기본 데이터를 저장하고, 특히 상기 제어부 111에 의해 특정 프로세스가 진행되고 있을 경우 그에 대한 메모리 할당과 해제를 하고, 또한 상기 메모리 할당과 해제 영역에 상기 프로세스 수행에 따른 메모리 할당과 해제를 일치시키기 위한 메모리 통계를 구비하고 있다. 그리고 상기 메모리 113은 프로세스 운용중에 총 메모리 공간과 할당된 메모리 공간을 알 수 있는 명령어 및 디스플레이 명령어 등을 저장하고 있다.The memory 113 stores basic data on the work performed by the controller 111, and in particular, allocates and releases memory for a specific process in progress by the controller 111, and also stores the memory data in the memory allocation and release area. Memory statistics are provided to match memory allocation and release according to the process execution. The memory 113 stores a command and a display command for knowing the total memory space and the allocated memory space during the process operation.
또한 상기 메모리 통계의 메모리 할당과 해제에 있어 오류가 발생할 경우 그 오류 내용은 상기 제어부 111에 의해 감지되고 상기 제어부 111은 그 오류 내용을 모니터 119로 전달한다. 상기 모니터 119는 전달받은 상기 오류 내용을 디스플레이하며, 상기 제어부 111에 의한 작업 수행 과정 및 제어 사항들을 출력하는 역할을 한다.In addition, when an error occurs in memory allocation and release of the memory statistics, the error content is detected by the controller 111 and the controller 111 transmits the error content to the monitor 119. The monitor 119 displays the received error content and outputs a job execution process and control items by the controller 111.
따라서 도 1과 같은 내부 구성을 가진 컴퓨터는 메모리에 메모리 할당과 해제에 관한 통계를 구비하여 프로세스 진행에 따른 메모리 할당과 해제를 자동으로 일치시키는 메모리 관리 방법을 수행할 수 있게 된다.Therefore, a computer having an internal configuration as shown in FIG. 1 may have a memory management method for automatically matching memory allocations and releases as a process progresses by providing statistics on memory allocations and releases.
도 2는 본 발명의 일 실시예에 따른 메모리 통계에 적용되는 프로그램의 일 예를 도시한 도면으로서, 특히 특정 프로세스, 예를 들어 A프로세스 진행에 따른 프로그램의 예를 도시한 것이다.FIG. 2 is a diagram illustrating an example of a program applied to memory statistics according to an exemplary embodiment of the present invention. In particular, FIG. 2 illustrates an example of a program according to a specific process, for example, an A process.
도 3은 본 발명의 일 실시예에서의 특정 프로세스 진행에 따른 메모리 할당· 해제에 관한 메모리 통계 과정을 도시하는 흐름도이다.3 is a flowchart illustrating a memory statistic process related to memory allocation and deallocation according to a specific process progress in an embodiment of the present invention.
도 1과 같이 구성된 컴퓨터가 동작되면 도 1의 제어부 111은 초기화 동작을 수행한다. 상기 제어부 111은 311단계에서 도 1의 키보드 115를 스캐닝하여 그로부터 프로세스 선택에 관한 키입력이 있는지를 반복 검사한다. 검사 결과 프로세스 선택에 관한 키입력이 있다면 상기 제어부 111은 313단계로 진행한다. 상기 313단계에서 상기 제어부 111은 상기 프로세스 선택이 특정 프로세스, 예를 들어 도 2의 A프로세스 선택인지를 검사한다. 검사 결과 A프로세스 선택이 아니라면 상기 제어부 111은 다른 프로세스 작업을 위한 키선택이라고 판단하고 314단계로 진행한다. 상기 314단계에서 상기 제어부 111은 해당 키선택에 따른 해당 프로세스를 진행한다. 만약 검사 결과 A프로세스 선택이라면 상기 제어부 111은 315단계로 진행한다. 상기 315단계에서 상기 제어부 111은 프로세스 진행에 따른 메모리 할당에 관한 함수 malloc()를 콜하고 317단계로 진행한다. 상기 317단계에서 상기 제어부 111은 메모리 통계의 메모리 할당에 관한 카운터 event_all oc[0]을 0으로 초기화하고(event_alloc[0] = 0) 319단계로 진행한다. 이때 event _alloc[0]은 A프로세스에 관한 카운터이고, 본 발명의 일 실시예에서는 메모리 할당에 관한 카운터를 100개까지 지정할 수 있다.(BYTE event_alloc[100];) 그러므로 만약 다른 프로세스에 관한 카운터라면 event_alloc[1]에서 event_alloc [99]까지 중 하나를 순차적으로 사용하게 된다.When the computer configured as shown in FIG. 1 is operated, the controller 111 of FIG. 1 performs an initialization operation. In step 311, the control unit 111 scans the keyboard 115 of FIG. 1 and repeatedly checks whether there is a key input related to process selection. If there is a key input for process selection as a result of the test, the control unit 111 proceeds to step 313. In step 313, the controller 111 checks whether the process selection is a specific process, for example, process A of FIG. If the result of the check is not the process A selection, the control unit 111 determines that the key selection is for another process operation, and proceeds to step 314. In step 314, the controller 111 proceeds with the corresponding process according to the corresponding key selection. If the test result A is selected, the controller 111 proceeds to step 315. In step 315, the control unit 111 calls a function malloc () related to memory allocation according to process progression and proceeds to step 317. In step 317, the control unit 111 initializes the counter event_all oc [0] regarding memory allocation of memory statistics to 0 (event_alloc [0] = 0) and proceeds to step 319. In this case, event_alloc [0] is a counter related to process A, and in one embodiment of the present invention, up to 100 counters related to memory allocation may be designated. (BYTE event_alloc [100];) Therefore, if the counter is related to another process, One of event_alloc [1] through event_alloc [99] is used sequentially.
상기 319단계에서 상기 제어부 111은 할당된 메모리 해제에 관한 함수 fr ee()를 콜하고 321단계로 진행한다. 상기 321단계에서 상기 제어부 111은 메모리 통계의 할당된 메모리 해제에 관한 카운터 event_free[0]을 0으로 초기화하고 (event_free[0] = 0)323단계로 진행한다. 이때 event_free[0]은 A프로세스에 관한 카운터이고, 본 발명의 일 실시예에서는 할당된 메모리 해제에 관한 카운터를 100개까지 지정할 수 있다.(BYTE event_free[100];) 그러므로 다른 프로세스에 관한 카운터라면 event_free[1]에서 event_free[99]까지 중 하나를 순차적으로 사용하게 된다. 여기서 상기 메모리 할당 카운터 event_alloc[ ]과 상기 메모리 해제 카운터 event_free[ ]의 개수를 동일하게 지정한다. 상기 323단계에서 상기 제어부 111은 A프로세스의 진행 단계에 관한 변수 n을 1로 초기화하고(n = 1) 325단계로 진행한다. 여기서 n은 A프로세스의 진행중의 단계를 n으로 구분한 것이다.In step 319, the control unit 111 calls the function fr ee () on the allocated memory release and proceeds to step 321. In step 321, the control unit 111 initializes the counter event_free [0] relating to the release of the allocated memory of memory statistics to 0 (step event_free [0] = 0) and proceeds to step 323. In this case, event_free [0] is a counter related to process A, and according to an embodiment of the present invention, up to 100 counters related to memory allocation may be designated. (BYTE event_free [100];) One of event_free [1] through event_free [99] is used sequentially. Here, the number of the memory allocation counter event_alloc [] and the memory free counter event_free [] is equally designated. In step 323, the control unit 111 initializes the variable n regarding the progress of the process A to 1 (n = 1) and proceeds to step 325. Where n is the process in progress of process A divided by n.
상기 325단계에서 상기 제어부 111은 n번째 진행 단계를 시작하고 327단계로 진행한다. 상기 327단계에서 상기 제어부 111은 event_alloc[0]의 값에 event_alloc[0] + 1의 값을 대입하고(event_alloc[0] = event_alloc[0] + 1) 329단계로 진행한다. 상기 329단계에서 상기 제어부 111은 상기 n 진행 단계가 종료되었는지를 반복 검사한다. 검사 결과 n 진행 단계가 종료되었다면 상기 제어부 111은 331단계로 진행한다. 상기 331단계에서 상기 제어부 111은 event_free[0]의 값에 event_free[0] + 1의 값을 대입하고(event_free[0] = event_free[0] + 1) 333단계로 진행한다. 상기 333단계에서 상기 제어부 111은 n의 값에 n + 1의 값을 대입하고(n = n + 1) 335단계로 진행한다. 상기 335단계에서 상기 제어부 111은 상기 A프로세스의 n 진행 단계가 마지막 단계인지를 검사한다. 검사 결과 마지막 단계라면 상기 제어부 111은 리턴한다. 만약 검사 결과 상기 n 진행 단계가 마지막 단계가 아니라면 상기 제어부 111은 325단계로 되돌아간다.In step 325, the control unit 111 starts the nth progression step and proceeds to step 327. In step 327, the controller 111 substitutes the value of event_alloc [0] + 1 into the value of event_alloc [0] (event_alloc [0] = event_alloc [0] + 1) and proceeds to step 329. In step 329, the control unit 111 repeatedly checks whether the n step has been completed. If the n progress step is finished, the control unit 111 proceeds to step 331. In step 331, the control unit 111 substitutes the value of event_free [0] + 1 into the value of event_free [0] (event_free [0] = event_free [0] + 1) and proceeds to step 333. In step 333, the control unit 111 substitutes a value of n + 1 into n (n = n + 1) and proceeds to step 335. In step 335, the control unit 111 checks whether the n progress step of the A process is the last step. If the test result is the last step, the control unit 111 returns. If the n progress step is not the last step, the control unit 111 returns to step 325.
상기 도 3의 프로세스 진행에 따라 메모리 할당과 해제에 관한 메모리 통계 과정은 프로세스 진행에 따른 메모리의 할당과 해제를 자동으로 일치시킬 수 있다. 특히, 상기 도 3의 327단계와 331단계의 수행에 의해 메모리 할당과 해제를 자동으로 일치시킬 수 있다.According to the process of FIG. 3, the memory statistic process related to memory allocation and release may automatically match memory allocation and release according to process progress. In particular, by performing steps 327 and 331 of FIG. 3, memory allocation and release may be automatically matched.
도 4는 본 발명의 일 실시예에서의 특정 프로세스 진행에 따른 메모리 영역의 할당과 해제 과정을 도시하는 흐름도이다.FIG. 4 is a flowchart illustrating a process of allocating and releasing memory areas according to a specific process in an embodiment of the present invention.
도 1과 같이 구성된 컴퓨터가 동작되면 도 1의 제어부 111은 초기화 동작을 수행한다. 411단계에서 상기 제어부 111은 도 1의 키보드 115를 스캐닝하여 특정 프로세스, 예를 들어 A프로세스의 수행 시작을 위한 키입력이 있는지를 반복 검사한다. 검사 결과 A프로세스의 수행 시작을 위한 키입력이 있다면 상기 제어부 111은 413단계로 진행한다. 상기 413단계에서 상기 제어부 111은 프로세스 수행에 따른 제 n진행 단계가 시작되면 415단계로 진행하여 메모리를 할당한다. 상기 417단계에서 상기 제어부 111은 제 n진행 단계가 검사하여 상기 제 n진행 단계가 종료되면 상기 제어부 111은 419단계로 진행한다. 상기 419단계에서 상기 제어부 111은 상기 제 n 진행 단계에 할당되었던 메모리를 해제하고 421단계로 진행한다. 상기 421단계에서 상기 제어부 111은 상기 A프로세스가 종료되었는지를 검사한다. 검사결과 상기 A프로세스가 종료되었다면 상기 제어부 111은 리턴한다. 만약 검사 결과 상기 A프로세스가 종료되지 않았다면 상기 제어부 111은 상기 413단계로 되돌아간다.When the computer configured as shown in FIG. 1 is operated, the controller 111 of FIG. 1 performs an initialization operation. In step 411, the controller 111 scans the keyboard 115 of FIG. 1 to repeatedly check whether there is a key input for starting a specific process, for example, process A. FIG. If there is a key input for starting process A, the controller 111 proceeds to step 413. In step 413, the control unit 111 proceeds to step 415 to allocate a memory when the nth progress step of the process execution is started. In step 417, the control unit 111 checks the nth progression step, and when the nth progression step ends, the control unit 111 proceeds to step 419. In step 419, the controller 111 releases the memory allocated to the n th progress step and proceeds to step 421. In step 421, the controller 111 checks whether the process A has ended. If the process A is finished, the control unit 111 returns. If the process A is not terminated, the control unit 111 returns to step 413.
상기 도 4와 같은 방법으로 프로세스의 각 단계의 진행에 따라 메모리 영역의 할당과 해제를 수행할 수 있다.In the same manner as in FIG. 4, memory regions may be allocated and released according to the progress of each step of the process.
도 5는 본 발명의 일 실시예에 따른 메모리 통계의 디버깅 과정을 도시하는 흐름도로서, 특히 메모리 통계에서 메모리 할당에 관한 통계값과 메모리 해제에 관한 통계값이 일치하지 않을 경우의 디버깅 과정을 도시한 것이다.FIG. 5 is a flowchart illustrating a process of debugging memory statistics according to an embodiment of the present invention. In particular, FIG. 5 is a diagram illustrating a process of debugging when a statistical value regarding memory allocation does not coincide with a statistical value regarding memory release in memory statistics. will be.
도 5는 하기에서 도 3의 메모리 통계 과정을 참고로 하여 설명될 것이다.FIG. 5 will be described below with reference to the memory statistics process of FIG. 3.
511단계에서 도 1의 제어부 111은 상기 메모리 통계 과정에서 수행된 eve nt_alloc[0]의 값과 event_free[0]의 값이 일치하는지를 검사한다. 검사 결과 ev ent_alloc[0]의 값과 event_free[0]의 값이 일치한다면 상기 제어부 111은 리턴한다. 만약 검사 결과 event_alloc[0]의 값과 event_free[0]의 값이 일치하지 않는다면 상기 제어부 111은 513단계로 진행한다. 상기 513단계에서 상기 제어부 111은 도 1의 메모리 113에 미리 저장되어 있던 에러 메시지를 도 1의 모니터 119를 통해 출력하고 515단계로 진행한다. 상기 515단계에서 상기 제어부 111은 도 1의 키보드 115를 검색하여 상기 메모리 통계를 디스플레이하기 위한 명령어의 입력이 있는지를 검사한다. 검사 결과 명령어의 입력이 없다면 상기 제어부 111은 리턴한다. 만약 검사 결과 명령어의 입력이 있다면 상기 제어부 111은 517단계로 진행한다. 상기 517단계에서 상기 제어부 111은 상기 메모리 통계 테이블을 상기 모니터 119를 통해 출력하고 519단계로 진행한다. 상기 519단계에서 사기 제어부 111은 상기 키보드 115를 검색하여 상기 오류를 수정하는 키입력이 있는지를 검사한다. 검사 결과 수정 내용 입력이 없다면 상기 제어부 111은 리턴한다. 만약 검사 결과 수정 내용 입력이 있다면 상기 제어부 111은 521단계로 진행한다. 상기 521단계에서 상기 제어부 111은 상기 수정 내용을 상기 메모리 113에 저장하고 리턴한다.In step 511, the control unit 111 of FIG. 1 checks whether the value of eve nt_alloc [0] and the value of event_free [0] performed in the memory statistics process match. If the result of the check ent_alloc [0] and the value of event_free [0] match, the control unit 111 returns. If the value of event_alloc [0] does not match the value of event_free [0], the controller 111 proceeds to step 513. In step 513, the control unit 111 outputs an error message previously stored in the memory 113 of FIG. 1 through the monitor 119 of FIG. 1 and proceeds to step 515. In step 515, the control unit 111 searches the keyboard 115 of FIG. 1 to check whether there is an input of a command for displaying the memory statistics. If there is no input of the test result, the control unit 111 returns. If there is an input of a test result command, the controller 111 proceeds to step 517. The control unit 111 outputs the memory statistics table through the monitor 119 in step 517 and proceeds to step 519. In step 519, the fraud control unit 111 searches for the keyboard 115 and checks whether there is a key input to correct the error. If there is no correction content input, the control unit 111 returns. If there is a correction result input, the controller 111 proceeds to step 521. In step 521, the control unit 111 stores the correction contents in the memory 113 and returns them.
따라서, 도 5와 같은 디버깅 작업 과정은 프로세스 진행에 따른 메모리 할당과 해제에 관한 메모리 통계에 오류가 발생할 경우 그 오류 내용을 사용자가 디버깅하는 것을 가능하게 한다.Accordingly, the debugging operation process as shown in FIG. 5 enables the user to debug the error contents when an error occurs in memory statistics regarding memory allocation and release according to process progress.
도 6은 본 발명의 일 실시예에 따른 메모리 통계 테이블의 일 예를 도시하는 도면으로서, 프로세스 각각에 인덱스를 지정하여 해당 event_alloc[ ]카운터와 event_free[ ]의 초기값과 상기 프로세스 진행에 따른 증가값을 저장한다.FIG. 6 is a diagram illustrating an example of a memory statistics table according to an embodiment of the present invention, in which an index is assigned to each process so that an initial value of a corresponding event_alloc [] counter and event_free [] and an increase value according to the process progress are provided. Save it.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the detailed description of the present invention has been described with respect to specific embodiments, various modifications are of course possible without departing from the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.
상술한 바와 같이 본 발명은 프로세스가 진행됨에 따른 메모리 할당과 메모리 해제에 관한 메모리 통계를 구비하여 특정 프로세스 진행에 따른 메모리 할당과 해제가 일치하지 않아 메모리가 계속 할당되어 있는 상태로 남아 있어 더 이상의 메모리 할당을 할 수 없는 경우를 제거할 수 있다는 이점을 가지고 있다.As described above, the present invention includes memory statistics regarding memory allocation and memory releasing as a process progresses, so that memory is continuously allocated because memory allocation and releasing according to a specific process progressing do not match. This has the advantage of eliminating cases where it cannot be allocated.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980023881A KR20000002901A (en) | 1998-06-24 | 1998-06-24 | Method for memory management with memory statistics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980023881A KR20000002901A (en) | 1998-06-24 | 1998-06-24 | Method for memory management with memory statistics |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000002901A true KR20000002901A (en) | 2000-01-15 |
Family
ID=19540615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980023881A KR20000002901A (en) | 1998-06-24 | 1998-06-24 | Method for memory management with memory statistics |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000002901A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010077399A (en) * | 2000-02-02 | 2001-08-17 | 박종섭 | Restoration of Data in statistics processor in case of abnormal power down |
US9223689B2 (en) | 2010-05-14 | 2015-12-29 | Samsung Electronics Co., Ltd. | Apparatus and method for managing memory |
-
1998
- 1998-06-24 KR KR1019980023881A patent/KR20000002901A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010077399A (en) * | 2000-02-02 | 2001-08-17 | 박종섭 | Restoration of Data in statistics processor in case of abnormal power down |
US9223689B2 (en) | 2010-05-14 | 2015-12-29 | Samsung Electronics Co., Ltd. | Apparatus and method for managing memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779413B2 (en) | Method of assigning available resources for internal and external users at start time of scheduled time period based on program reservations information | |
US6848033B2 (en) | Method of memory management in a multi-threaded environment and program storage device | |
US3876987A (en) | Multiprocessor computer systems | |
US6658653B1 (en) | Debugging methods for heap misuse | |
EP0505792A1 (en) | Computer system with mechanism for dynamically changing the hardware I/O configuration | |
US7962832B2 (en) | Method for detecting memory error | |
US20060245264A1 (en) | Computing with both lock-step and free-step processor modes | |
JP4971679B2 (en) | Processor system and performance measurement method for processor system | |
KR20000002901A (en) | Method for memory management with memory statistics | |
US6502176B1 (en) | Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas | |
KR20070056862A (en) | Memory structure and memory corruption finding method for dynamic memory allocation of system program | |
CN112162780B (en) | Application operation control method and device and electronic equipment | |
CN109753363B (en) | Embedded system memory management method and device | |
CN114327673A (en) | Task starting method and device, electronic equipment and storage medium | |
JP3001951B2 (en) | Production machine operation schedule correction device | |
US6185700B1 (en) | Method and device for evaluating a program | |
JP2736114B2 (en) | Area allocation device | |
JP2005250722A (en) | Sequential execution method for input/output dynamic reconfiguration | |
US20070220524A1 (en) | Apparatus and method to manage system by processes using process data record | |
KR970063409A (en) | Reticle management device and method | |
US20120096471A1 (en) | Apparatus and method for executing components based on thread pool | |
JP2845694B2 (en) | Data processing device | |
CN111694597A (en) | Interrupt repairing method, device, equipment and medium | |
JPH0520089A (en) | Assembly system | |
JPH0683592A (en) | System parameter revision system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |