KR20000002901A - Method for memory management with memory statistics - Google Patents

Method for memory management with memory statistics Download PDF

Info

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
Application number
KR1019980023881A
Other languages
Korean (ko)
Inventor
최윤애
백성청
박기범
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019980023881A priority Critical patent/KR20000002901A/en
Publication of KR20000002901A publication Critical patent/KR20000002901A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space 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/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/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details 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

PURPOSE: A method for memory management with memory statistics is provided to allocate memory according to progress of process status and deallocate memory according to completion of process state automatically. CONSTITUTION: The method comprises the steps of: allocating memory according to progress of process status, making memory statistics for uniting the memory allocation and the memory deallocation when the progress of process status completes, and deallocation the memory automatically. Thereby it is possible to remove case that can not be allocated according to discordance between memory allocation and deallocation.

Description

메모리 통계를 가지는 메모리 관리 방법Memory management method with memory statistics

본 발명은 메모리 관리 방법에 관한 것으로서, 특히 하나 이상의 프로세스들이 공유하는 메모리를 사용하는 장치에서의 특정 프로세스 진행에 따른 메모리 할당과 해제의 일치를 위해 메모리 할당· 해제 영역에 메모리 통계를 구비하는 것을 특징으로 하는 메모리 관리 방법에 관한 것이다.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)

메모리 통계를 표시하는 표시 장치와, 상기 표시 장치에 출력된 사항에 입력을 하기 위한 입력 장치를 구비한, 하나 이상의 프로세스들이 공유하는 메모리를 사용하는 장치의 메모리의 할당· 해제에 관한 메모리 통계를 가지는 메모리 관리 방법에 있어서,And a memory device for allocating and releasing memory of a device using a memory shared by one or more processes, including a display device for displaying memory statistics and an input device for inputting an output to the display device. In the memory management method, 상기 프로세스 각 단계의 진행시 소정의 메모리를 할당하는 과정과,Allocating a predetermined memory during each step of the process; 상기 메모리 할당 후 상기 프로세스 각 단계의 진행종료시 상기 프로세스가 진행되는 동안 메모리 할당과 해제를 일치시키는 메모리 통계를 수행하는 과정과,Performing memory statistics to match memory allocation and release during the process at the end of each step of the process after the memory allocation; 상기 메모리 통계 수행 후 그에 따라 상기 프로세스 각 단계 진행시에 할당한 소정의 메모리 할당을 자동으로 해제시킴을 특징으로 하는 메모리 통계를 가지는 메모리 관리 방법.And automatically releasing a predetermined memory allocation allocated according to each step of the process after performing the memory statistics. 제 1항에 있어서,The method of claim 1, 상기 메모리 통계는 소정의 수로 동일하게 지정된 메모리 할당 및 해제 카운터를 이용하여 상기 메모리 할당과 해제를 일치시킴을 특징으로 하는 메모리 통계를 가지는 메모리 관리방법.And the memory statistics match memory allocation and release using a memory allocation and release counter equally designated by a predetermined number. 제 1항에 있어서,The method of claim 1, 상기 메모리 통계 수행 과정은,The process of performing memory statistics, 특정 프로세스 진행에 따른 메모리 할당을 위한 메모리 할당 함수를 콜하는 제 1과정과,A first step of calling a memory allocation function for allocating memory according to a specific process; 상기 메모리 할당 함수의 콜 후 메모리 통계의 메모리 할당 카운터를 초기화하는 제 2과정과,A second step of initializing a memory allocation counter of memory statistics after the call of the memory allocation function; 상기 메모리 할당 카운터의 초기화 과정 수행후 상기 프로세스 진행에 따른 메모리 해제를 위한 할당 메모리 해제 함수를 콜하는 제 3과정과,A third process of calling an allocation memory releasing function for releasing memory according to the process after performing the initialization process of the memory allocation counter; 상기 할당 메모리 해제 함수 콜 후 상기 메모리 통계의 메모리 해제 카운터를 초기화하는 제 4과정과,A fourth step of initializing a memory release counter of the memory statistics after the allocation memory release function call; 상기 메모리 해제 카운터의 초기화 과정 후 상기 프로세스의 진행에 따라 상기 메모리 할당 카운터의 값을 소정의 값을 더해 증가시키는 제 5과정과,A fifth step of increasing the value of the memory allocation counter by adding a predetermined value as the process proceeds after the initialization of the memory release counter; 상기 메모리 할당 카운터 값의 증가후 상기 프로세스가 종료되었을 경우 상기 메모리 해제 카운터의 값을 소정의 값을 더해 증가시키는 제 6과정과,A sixth step of increasing the value of the memory release counter by adding a predetermined value when the process is terminated after the increase of the memory allocation counter value; 상기의 제 5과정과 제 6과정을 상기 프로세스의 모든 단계가 종료될 때까지 반복 수행하는 제 7과정으로 이루어짐을 특징으로 하는 메모리 통계를 가지는 메모리 관리 방법.And a seventh process of repeatedly performing the fifth and sixth processes until all the steps of the process are completed. 제 1항에 있어서,The method of claim 1, 상기 메모리 통계의 메모리 할당 카운터 값과 메모리 해제 카운터 값이 일치하지 않을 경우 디버깅하는 과정을 더 수행하는 것을 특징으로 하는 메모리 통계를 가지는 메모리 관리 방법.And if the memory allocation counter value and the memory release counter value of the memory statistics do not coincide with each other, debugging the memory. 제 4항에 있어서,The method of claim 4, wherein 상기 메모리 디버깅 과정은,The memory debugging process, 상기 메모리 통계의 메모리 할당 카운터 값과 메모리 해제 카운터 값을 비교하는 과정과,Comparing a memory allocation counter value and a memory release counter value of the memory statistics; 상기 비교 결과 상기 카운터 값이 일치하지 않을 경우 표시장치를 통해 에러 메시지를 출력하는 과정과,Outputting an error message through a display device when the counter value does not match as a result of the comparison; 상기 에러 메시지 출력 후 상기 메모리 통계 테이블을 모니터링하기 위한 명령어를 입력받는 과정과,Receiving a command for monitoring the memory statistics table after outputting the error message; 상기 명령어를 입력받은 후 상기 메모리 통계 테이블을 상기 표시장치로 출력하는 과정과,Outputting the memory statistics table to the display device after receiving the command; 상기 메모리 통계 테이블의 출력후 운용자로부터 수정 내용을 입력받는 과정과,Receiving corrections from an operator after outputting the memory statistics table; 상기 수정 내용을 입력받은 후 그 내용을 상기 메모리 통계 테이블에 저장하는 과정으로 이루어짐을 특징으로 하는 메모리 통계를 가지는 메모리 관리 방법.And receiving the corrected contents and storing the contents in the memory statistics table.
KR1019980023881A 1998-06-24 1998-06-24 Method for memory management with memory statistics KR20000002901A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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