KR100369799B1 - 엠베드 시스템의 동적 메모리 관리방법 및 장치 - Google Patents

엠베드 시스템의 동적 메모리 관리방법 및 장치 Download PDF

Info

Publication number
KR100369799B1
KR100369799B1 KR10-2000-0087189A KR20000087189A KR100369799B1 KR 100369799 B1 KR100369799 B1 KR 100369799B1 KR 20000087189 A KR20000087189 A KR 20000087189A KR 100369799 B1 KR100369799 B1 KR 100369799B1
Authority
KR
South Korea
Prior art keywords
information
dynamic memory
block
memory space
preblock
Prior art date
Application number
KR10-2000-0087189A
Other languages
English (en)
Other versions
KR20020056970A (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 KR10-2000-0087189A priority Critical patent/KR100369799B1/ko
Publication of KR20020056970A publication Critical patent/KR20020056970A/ko
Application granted granted Critical
Publication of KR100369799B1 publication Critical patent/KR100369799B1/ko

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서, 상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과, 애플리케이션으로부터 소정 사이즈의 동적 메모리 공간 할당 요구가 있으면 상기 할당 요구한 사이즈와 상기 프리블록테이블들의 정보들을 이용해서 상기 동적 메모리 공간의 사용영역 및 미사용 영역중 하나에 상기 요구된 사이즈의 동적메모리 공간을 선택적으로 할당하는 과정과, 상기 할당한 동적 메모리공간 위치에 대응한 프리블록 테이블 정보 삭제, 프리블록 테이블 정보 갱신, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 과정으로 이루어진다.

Description

엠베드 시스템의 동적 메모리 관리방법 및 장치{METHOD AND APPARATUS FOR MANAGING DYNAMIC MEMORY OF EMBED SYSTEM}
본 발명은 엠베드 시스템(embed system)에 관한 것으로, 특히 엠베드 시스템의 동적 메모리 관리방법 및 장치에 관한 것이다.
제품의 특성상 메모리 용량을 PC(Personal Computer)만큼 크게 구현할 수 없는 통신 단말기들에도 RTOS(real time Operating System)를 채용한 엠베드 시스템이 내장되어 있다. 이러한 엠베드 시스템들 중에서 브라우징 기능 등을 포함하고 있는 엠베드 시스템은 그 특성상 그 제품의 사용자들이 내장된 메모리를 확장할 수 없으므로 한정된 메모리의 사용에 제한이 있다. 특히 브라우징 기능 등을 포함하고 있는 엠베드 시스템은 브라우징시 HTML(HyperText Markup Language) 페이지마다 다양한 사이즈의 동적 메모리 공간 할당을 요구하므로, 이로 인하여 엠베드 시스템에 단순 동적 메모리 관리방법 적용할 시에는 메모리 부족현상이라는 시스템적 문제에 도달한다. 그 결과 시스템이 죽거나(hang up) 재부팅(reboot)된다. 상기에서 단순 동적 메모리 관리방법이라 함은 메모리 공간 할당과 해제의 동작시 조각난 메모리 공간의 합병이 이루어지지 않거나, 합병의 동작이 단순방법에 의함을 지칭한다. 단순방법의 일 예를 들면, 메모리 공간 해제시 그 메모리 공간을 옆에 비어 있는 메모리 공간과 단순히 합병하는 것이다.
따라서 본 발명의 목적은 엠베드 시스템상에서 조각난 메모리 공간을 최대한의 사용 공간으로 생성할 수 있는 동적 메모리 관리방법을 제공하는데 있다.
본 발명의 다른 목적은 엠베드 시스템 상의 메모리 총 사이즈 중에서 조각으로 남아 있는 메모리 공간이 미사용 메모리 공간으로 최대 근접되게 하는 동적 메모리 관리방법을 제공하는데 있다.
본 발명의 또 다른 목적은 다양한 사이즈의 동적메모리 할당 요청이 존재하는 엠베드 시스템 상에서의 효율적인 동적 메모리 관리 방법을 제공하는데 있다.
상기한 목적에 따라 본 발명은, 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서, 상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과, 애플리케이션으로부터 소정 사이즈의 동적 메모리 공간 할당 요구가 있으면 상기 할당 요구한 사이즈와 상기 프리블록테이블들의 정보들을 이용해서 상기 동적 메모리 공간의 사용영역 및 미사용 영역중 하나에 상기 요구된 사이즈의 동적메모리 공간을 선택적으로 할당하는 과정과, 상기 할당한 동적 메모리공간 위치에 대응한 프리블록 테이블 정보 삭제, 프리블록 테이블 정보 갱신, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 과정으로 이루어짐을 특징으로 한다.
또한 본 발명은, 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서, 상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과, 동적 메모리 공간 할당받은 애플리케이션으로부터의 동적 메모리 공간 해제 요구가 있으면 상기 프리블록 테이블 및 미사용 영역 테이블을 참조하여 대응 블록의 사용영역상 위치 및 대응 블록의 합병여부를 판단하는 과정과, 상기 판단에 따라 신규 프리블록 테이블 정보 등록, 대응 프리블록 테이블 삭제, 대응 프리블록 테이블 합병, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 과정으로 이루어짐을 특징으로 한다.
도 1은 본 발명의 실시 예에 따른 엠베드 시스템 동적 메모리 관리를 위한 블록 구성도,
도 2는 본 발명의 실시 예에 따른 동적 메모리 할당영역을 설명하기 위한 메모리맵도,
도 3은 본 발명의 실시 예에 따른 할당 요구 관리자에서의 동작 제어 흐름도,
도 4는 본 발명의 실시 예에 따른 해제 요구 관리자에서의 동작 제어 흐름도,
도 5는 사용영역의 각 블록들의 헤더정보를 보여주기 위한 도면,
도 6은 본 발명의 실시 예에 따른 프리블록 합병의 일 예를 보여주는 도면.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 실시 예에 따른 엠베드 시스템 동적 메모리 관리를 위한 블록 구성도로서, 동적 메모리 관리자(2), 메인 메모리(4), 및 동적 메모리 사용을 요구하는 애플리케이션(application)(6)을 포함하고 있다. 동적 메모리 관리자(2)는 할당 요구 관리자(8), 해제 요구 관리자(10), 프리블록 테이블부(free block table unit)(12), 미사용 영역 테이블부(14)로 구성된다.
도 1의 메인 메모리(4)는 DRAM(Dynamic Random Access Memory)로 구성되며, 전체 메모리 용량중 일부를 동적 메모리 공간으로 제공하고 있다. 예컨대, 전체 메모리 사이즈가 32MB(Mega Bytes)이라면 12MB정도를 동적 메모리 공간으로 제공할 수 있다. 도 2의 (a)에서는 메인 메모리(4)상에 제공된 동적 메모리 공간이 사용되기 전(즉 초기상태) 상태를 보여주는 것으로, 제공된 동적 메모리 공간 전체가 미사용 영역이다. 도 2의 (b)에서는 동적 메모리 공간이 사용중인 상태를 보여주는것으로 사용영역(20)과 미사용 영역(22)으로 구분되어진다. 상기 사용영역(20)은 애플리케이션들의 동적 메모리 공간 할당 요구에 띠라서 동적 메모리 공간 할당 및 할당 해제된 복수개의 블록들로 구성되어 있다. 사용 영역(20)내에서 F1,F2,F3,F4는 동적 메모리 사용을 필요로 하는 애플리케이션(6)의 동적 메모리 공간 할당 요구에 의해서 할당되어 사용되어진 후 할당 해제된 블록으로서 본 발명의 실시 예에서는 "프리블록(free block)"이라 칭한다. 상기 사용영역(20)내에서 프리블록들 F1,F2,F3,F4외 나머지 블록들은 동적 메모리 공간 할당 요구에 의해서 할당되어진 블록으로서 본 발명의 실시 예에서는 "할당블록"이라 칭한다.
도 1의 동적 메모리 관리자(2)의 할당 요구 관리자(8)는 애플리케이션(6)으로부터 동적 메모리 공간 할당 요청이 있으면 프리블록 테이블부(12) 및 미사용 영역 테이블부(14)를 이용하여 동적 메모리 공간 할당 관리를 수행하며, 해제 요구 관리자(10)는 애플리케이션(6)의 동적 메모리 해제 요청이 있으면 프리블록테이블부(12) 및 사용 영역 테이블부(14)를 이용하여 동적 메모리 공간 해제 관리를 수행한다. 동적 메모리 관리자(2)에서의 프리블록 테이블부(12)는 동적 메모리 공간의 사용영역(20)중의 프리블록들(F1,F2,..) 각각에 대한 정보를 가지고 있다. 상기 프리블록 테이블부(12)에는 도 2의 (b)에 도시된 일 예와 같이, 사용영역(20)에 있는 프리블록 개수만큼의 프리블록 테이블(Free Block Table)들 FBT[n](n=1∼N)이 구비되며, 프리블록 테이블들 FBT[n] 각각은 대응 프리블록에 대한 정보를 가지고 있다. 상기 프리블록에 대한 정보에는 시작위치정보, 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보가 있다. 동적 메모리 관리자(2)에서의 미사용영역 테이블부(14)에는 미사용 영역(22)에 대응된 하나의 미사용영역 테이블이 있으며 상기 미사용 영역테이블에는 시작위치정보 및 사이즈 정보가 있다.
본 발명의 실시 예에서는 동적 메모리공간 중에서 조각난 메모리공간을 최대 가용 공간으로 재창출하기 위하여 할당요구 관리자(8)는 프리블록 테이블 삭제 및 갱신, 미사용 영역 테이블 갱신하는 동작을 수행하며, 해제 요구 관리자(10)는 프리블록 테이블 등록, 프리블록 테이블 삭제, 프리블록 테이블 합병(갱신), 미사용 영역 테이블 갱신하는 동작을 수행한다.
할당요구 관리자(8)가 프리블록 테이블 삭제 동작을 수행하는 경우는 애플리케이션(6)으로부터의 할당 요구한 메모리 공간 사이즈와 동일한 사이즈 정보를 가진 프리블록 테이블이 있을 때이다. 할당요구 관리자(8)가 프리블록 테이블 갱신 동작을 수행하는 경우는 애플리케이션(6)으로부터의 할당 요구한 메모리 공간 사이즈보다 큰 사이즈 정보를 가지는 프리블록 테이블이 있을 때이다.
해제요구 관리자(10)가 프리블록 테이블 등록 동작을 수행하는 경우는 애플리케이션(6)으로부터의 해제 요구시 그 해제 요구된 블록이 합병이 이루어지지 않는 위치에 있을 때이다. 해제요구 관리자(10)가 프리블록 테이블 삭제 동작을 수행하는 경우는 애플리케이션(6)으로부터의 해제 요구시 그 해제 요구된 블록이 미사용영역(22)의 바로 상위 위치에 있을 때이다. 해제요구 관리자(10)가 프리블록 테이블 합병(갱신) 및 삭제 동작을 수행하는 경우는 애플리케이션(6)으로부터의 해제 요구시 그 해제 요구된 블록이 다른 프리블록 테이블 대응 블록과 합병이 이루어지는 위치에 있을 때이다.
먼저 본 발명의 실시 예에 따른 동적 메모리 관리자(2)의 할당 요구 관리자(8)의 동작을 도 3을 참조하여 상세히 설명한다.
시스템 부팅에 의해서 동적 메모리 관리자(2)는 동작을 시작한다. 동적메모리 관리자(2)의 동작 시작과 함께 메인 메모리(4)상의 동적 메모리 공간은 도 2의 (a)에서와 같이 "미사용영역"으로 있다.
할당 요구 관리자(8)는 도 3의 100단계의 판단에서 동적 메모리 공간 사용을 필요로 하는 애플리케이션(6)으로부터 특정한 사이즈의 메모리 공간 할당 요구가 있으면 도 3의 102단계로 진행한다. 도 3의 102단계에서 할당 요구 관리자(8)는 프리블록 테이블부(12)를 액세스하여 프리블록 테이블부(12)에 있는 프리블록 테이블들 FBT[n]중 요구한 특정 사이즈와 같거나 큰 사이즈의 메모리 공간 사이즈 정보를 가진 프리블록 테이블(들)이 있는지를 판단한다. 도 3의 102단계의 판단에서 상기 요구한 특정 사이즈와 같거나 큰 사이즈 정보를 가진 프리블록 테이블(들)이 있으면 할당 요구 관리자(8)는 프리블록 테이블(들)중 시작위치에 가까운 프리블록 테이블이 지정하는 메인 메모리(4)의 위치에 동적 메모리 공간을 할당해 준다(도 3의 104단계 내지 108단계). 상기와 같이 시작위치에 가까운 프리블록 테이블이 지정하는 메인 메모리(4)의 위치에 동적 메모리 공간을 할당하는 것은 동적 메모리 할당영역에 있는 미사용 영역(20)을 넓혀 가기 위한 본 발명의 기법들중 하나이다.
도 3의 104단계 내지 108단계의 동작을 보다 구체적으로 설명하면 하기와 같다. 도 3의 104단계의 판단에서 애플리케이션(6)이 요구한 특정 사이즈와 같은 사이즈 정보를 가진 프리블록 테이블(들)이 있으면 106단계로 진행하여 대응 프리블록 테이블(들)중 시작위치에 가까운 대응 프리블록 테이블이 위치 지정하는 사용영역(20)상의 프리블록을 동적 메모리 공간으로 할당한다(할당블록이 됨). 그리고 상기 할당 블록에 대응된 프리블록 테이블을 삭제한다. 그 후 할당요구 관리자(8)는 도 3의 112단계에서 상기 할당 블록 서두에 헤더 정보를 기록한다. 도 5에서는 사용 영역(20)의 블록(300)(할당블록 또는 프리블록) 서두에 헤더정보(310)가 기록된 일 예를 보여주고 있다. 상기 헤더정보(310)에는 도 5에 도시된 바와 같이, 사용상태 플래그 정보, 해당 블록내 헤더 사이즈를 제외한 사이즈 정보, ID코드(Identity code) 정보가 포함된다. 상기 사용상태 플래그 정보는 해당 블록(300)이 할당블록인지 프리블록인지를 구분하기 위한 플래그 정보 영역으로서 예컨대, 할당블록일 경우 "631209"로 표시될 수 있다. 그리고 ID코드 정보는 사용상태 플래그 정보가 일반 데이터 값과 동일할 경우 그와의 구분을 위한 코드로서, 예컨대 "MALO"로 표시될 수 있다. 상기 사용상태 플래그 정보, ID코드 정보는 동적 메모리 사용 해제 요구 동작시 사용중인 인접한 상위 및 하위 블록 위치를 찾는 중요 정보가 된다.
도 3의 104단계의 판단에서 애플리케이션(6)이 요구한 특정 사이즈보다 큰 사이즈 정보를 가진 프리블록 테이블(들)이 있으면 108단계로 진행하여 대응 프리블록 테이블(들)중 시작위치에 가까운 대응 프리블록 테이블이 위치 지정하는 사용영역(20)상의 프리블록에서 애플리케이션(6)이 요구한 특정 사이즈만큼을 동적 메모리 공간으로 할당한다(할당블록이 됨). 그리고 상기 할당 블록을 제외한 사이즈의 프리블록을 위해 상기 대응 프리블록 테이블 정보를 갱신한다. 즉 대응 프리블록 테이블의 시작위치정보, 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보를 갱신한다. 그 후 할당요구 관리자(8)는 상기 할당 블록 서두에 도 5와 같은 헤더 정보(310)를 기록한다.
한편 도 3의 102단계의 판단에서 애플리케이션(6)이 요구한 특정 사이즈보다 작은 사이즈 정보를 가진 프리블록 테이블들만이 사용영역(20)에 있으면 할당요구 관리자(8)는 11O단계로 진행한다. 100단계에서 할당요구 관리자(8)는 미사용영역(30)의 시작위치에서 애플리케이션(6)이 요구한 특정 사이즈만큼을 동적 메모리 공간으로 할당한다(할당블록이 됨). 그리고 할당 요구 관리자(8)는 미사용 영역 테이블부(14)의 미사용 영역 테이블 정보를 갱신한다. 즉 미사용 영역 테이블의 시작위치정보, 사이즈 정보를 갱신한다. 그 후 할당요구 관리자(8)는 미사용 영역에 할당된 동적 메모리공간 블록(할당블록)의 서두에 도 5와 같은 헤더 정보(310)를 기록한다.
도 3의 112단계를 수행한 후 할당 요구 관리자(8)는 도 3의 114단계로 진행하여 애플리케이션(6)으로 동적 메모리 공간 할당된 위치를 지정해준다. 그에 따라 애플리케이션(6)은 메인 메모리(4)상에서 자기가 필요로 하는 동적 메모리 공간을 할당받게 된다.
한편 동적 메모리 할당을 받은 애플리케이션(6)이 그 목적의 사용을 종료하게 되면 동적 메모리 관리자(2)에게 동적 메모리 사용 해제 요구를 하며, 해제 요구에 따라 동적 메모리 관리자(2)는 해제 요구 관리자(10)를 이용해 하기와 같은 일련의 기능 및 절차를 통하여 동적 메모리의 사용이 최적화되게 관리한다.
본 발명의 실시 예에 따른 동적 메모리 관리자(2)의 할당 요구 관리자(8)의동작을 도 4를 참조하여 상세히 설명한다.
애플리케이션(6)으로부터 동적 메모리 사용 해제 요구가 있으면 동적 메모리 관리자(2)의 해제 요구 관리자(10)는 도 4의 200단계에서 이를 판단하고, 202단계로 진행한다. 202단계에서 해제 요구 관리자(10)는 동적 메모리 사용 해제 요구한 블록의 위치를 파악한다. 그 후 도 4의 204단계의 판단에서 해제 요구한 블록 위치가 미사용영역(22)의 바로 위에 존재하는 블록인지를 판단한다. 해제 요구 관리자(10)가 미사용영역(22)의 바로 위에 존재하는 블록인지를 판단할 때는 미사용영역 테이블부(14)의 미사용영역 테이블의 시작위치정보를 이용한다. 도 4의 204단계의 판단에서 만약 그렇다면 도 4의 206단계로 진행하고 미사용영역 테이블부(14)의 미사용영역 테이블 정보를 갱신하고 그 후 208단계에서 미사용영역(22)의 헤더정보를 갱신한다. 즉 미사용 영역 테이블정보의 갱신된 시작위치는 해제된 블록의 시작위치가 되며 미사용 영역(22)의 사이즈정보도 갱신된다. 미사용영역(22) 서두에 있는 헤더 정보에서 사용중 플래그의 정보는 미사용으로 갱신된다.
한편 도 4의 204단계의 판단에서 해제 요구 위치가 미사용 영역 바로 위 블록이 아니면 210단계로 진행하여 해제 요구한 위치가 기존 프리블록과 합병될 수 있는지를 판단한다. 이 때에는 해제 요구 위치 블록에 대응된 프리블록 테이블에 등록되어 있는 정보들에서의 상위 및 하위 위치정보 및 사이즈 정보를 이용한다.
210단계의 판단에서 만약 합병이 가능하다면 212단계로 진행하여 프리블록 테이블 합병 및 그에 따른 프리블록들을 합병한다. 프리블록 테이블 및 프리블록합병은 상위합병, 하위합병, 상하위합병 세 가지 종류가 있다. 상기 프리블록 테이블 합병 시에는 프리블록 테이블 정보의 갱신 및 합병에 해당되는 메모리 위치에 있는 헤더정보가 삭제 또는 갱신된다. 상기 프리블록 테이블의 합병을 통하여 사용영역(20)상의 조각된 메모리 공간이 큰 블록으로 다시 창출된다. 본 발명의 실시 예에 따른 프리블록 테이블 및 그에 따른 프리블록 합병의 일 예가 도 6에 도시되어 있다. 도 6에서는 해제 요구에 의한 상하위블록 합병의 일 예를 보여주고 있으며, 해제 요구전 프리블록테이블 FBT[1],FBT[2]는 해제 요구 후 프리블록 테이블 FBT[1]로 합병되었다. 도 6을 참조하면 할당블록이 프리블록으로 해제 후 사용영역(20)에서의 실제 최대 가용한 영역은 합병에 의해서 프리블록2가 됨을 알 수 있다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.
상술한 바와 같이 본 발명은 다양한 사이즈의 동적메모리 할당 요청이 존재하는 엠베드 시스템 상에서의 동적 메모리 자원을 효율성을 증가시킴으로써 시스템 문제 야기 현상을 방지할 수 있다. 또한 브라우징 기능과 같은 다양한 사이즈의 동적메모리 할당 요청이 존재하는 엠베드 시스템 상에서의 동적메모리 관리자로서 동적 합병기법을 통하여, 조각난 메모리 공간이 최대의 가용 공간으로 재창출 될 수 있어 전체 영역중 조각으로 남아있는 공간(프리블록)을 최대한 미사용 영역이 되게 근접시킬 수 있다.

Claims (16)

  1. 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서,
    상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과,
    애플리케이션으로부터 소정 사이즈의 동적 메모리 공간 할당 요구가 있으면 상기 할당 요구한 사이즈와 상기 프리블록테이블들의 정보들을 이용해서 상기 동적 메모리 공간의 사용영역 및 미사용 영역중 하나에 상기 요구된 사이즈의 동적메모리 공간을 선택적으로 할당하는 과정과,
    상기 할당한 동적 메모리공간 위치에 대응한 프리블록 테이블 정보 삭제, 프리블록 테이블 정보 갱신, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 과정으로 이루어짐을 특징으로 하는 동적 메모리 관리방법.
  2. 제1항에 있어서, 상기 요구 사이즈로 할당된 블록의 서두에 헤더정보를 기록하는 과정을 더 가짐을 특징으로 하는 동적 메모리 관리방법.
  3. 제2항에 있어서, 상기 헤더정보는 해당 블록이 할당블록인지 프리블록인지를구분하기 위한 사용상태 플래그 정보, 해당 블록내 헤더 사이즈를 제외한 사이즈 정보를 포함함을 특징으로 하는 동적 메모리 관리방법.
  4. 제3항에 있어서, 상기 헤더정보는 상기 사용상태 플래그 정보의 값과 일반 데이터 값이 동일시 구분을 위한 인식자 코드 정보를 더 포함함을 특징으로 하는 동적 메모리 관리방법.
  5. 제1항에 있어서, 상기 프리블록 테이블의 정보는 대응 프리블록의 시작위치정보, 대응 프리블록의 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보를 포함하며, 상기 미사용영역 테이블의 정보는 상기 미사용영역의 시작위치정보 및 상기 미사용영역의 사이즈 정보를 포함함을 특징으로 하는 동적 메모리 관리방법.
  6. 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서,
    상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과,
    애플리케이션으로부터 소정 사이즈의 동적 메모리 공간 할당 요구가 있으면상기 프리블록테이블들에 상기 할당 요구한 사이즈와 같거나 큰 사이즈 정보를 갖는 프리블록테이블이 있는가를 판단하는 과정과,
    상기 할당 요구한 사이즈와 같은 사이즈정보를 가진 프리블록 테이블이 있으면 상기 프리블록 테이블이 지정하는 사용영역상의 위치에 할당 요구된 동적 메모리 공간을 할당하고 대응 프리블록 테이블을 삭제하는 과정과,
    상기 할당 요구한 사이즈보다 큰 사이즈 정보를 가진 프리블록 테이블이 있으면 상기 프리블록 테이블이 지정하는 사용영역상의 위치에 할당 요구된 동적 메모리 공간을 할당하고 대응 프리블록 테이블의 정보를 갱신하는 과정과,
    상기 할당 요구한 사이즈보다 적은 사이즈 정보를 가진 프리블록 테이블이 있으면 상기 동적메모리 공간 미사용 영역에 상기 요구된 사이즈의 동적메모리 공간을 할당하고 상기 미사용 영역 테이블의 정보를 갱신하는 과정으로 이루어짐을 특징으로 하는 동적 메모리 할당 방법.
  7. 제6항에 있어서, 상기 요구 사이즈로 할당된 블록의 서두에 헤더정보를 기록하는 과정을 더 가짐을 특징으로 하는 동적 메모리 관리방법.
  8. 제7항에 있어서, 상기 헤더정보는 해당 블록이 할당블록인지 프리블록인지를 구분하기 위한 사용상태 플래그 정보, 해당 블록내 헤더 사이즈를 제외한 사이즈정보를 포함함을 특징으로 하는 동적 메모리 관리방법.
  9. 제8항에 있어서, 상기 헤더정보는 상기 사용상태 플래그 정보의 값과 일반 데이터 값이 동일시 구분을 위한 인식자 코드 정보를 더 포함함을 특징으로 하는 동적 메모리 관리방법.
  10. 제6항에 있어서, 상기 프리블록 테이블의 정보는 대응 프리블록의 시작위치정보, 대응 프리블록의 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보를 포함하며, 상기 미사용영역 테이블의 정보는 상기 미사용영역의 시작위치정보 및 상기 미사용영역의 사이즈 정보를 포함함을 특징으로 하는 동적 메모리 관리방법.
  11. 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서,
    상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과,
    동적 메모리 공간 할당받은 애플리케이션으로부터의 동적 메모리 공간 해제 요구가 있으면 상기 프리블록 테이블 및 미사용 영역 테이블을 참조하여 대응 블록의 사용영역상 위치 및 대응 블록의 합병여부를 판단하는 과정과,
    상기 판단에 따라 신규 프리블록 테이블 정보 등록, 대응 프리블록 테이블 삭제, 대응 프리블록 테이블 합병, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 과정으로 이루어짐을 특징으로 하는 동적 메모리 관리방법.
  12. 동적 메모리 공간을 가진 엠베드 시스템의 동적 메모리 관리방법에 있어서,
    상기 동적메모리 공간의 사용영역내 할당 해제된 블록들 각각에 대응한 프리블록테이블 및 상기 동적메모리 공간 미사용영역에 대응한 미사용 영역 테이블을 제공하는 과정과,
    동적 메모리 공간 할당받은 애플리케이션으로부터의 동적 메모리 공간 해제 요구가 있으면 상기 프리블록 테이블 및 미사용 영역 테이블을 참조하여 대응 블록의 사용영역상 위치 및 대응 블록의 합병여부를 판단하는 과정과,
    상기 판단에서 대응 블록의 사용영역상 위치가 미사용 영역 바로 위이면 미사용 영역테이블을 갱신하는 과정과,
    상기 판단에서 대응블록의 사용영역상 위치가 기존블럭과 합병 가능한 위치이면 기존 블록에 대응된 프리블록 테이블과 함께 프리블록 테이블을 합병하는 과정과,
    상기 판단에서 대응블록의 사용영역상 위치가 기존블록과 합병 가능한 위치가 아니면 신규 프리블록 테이블을 생성하는 과정으로 이루어짐을 특징으로 하는동적 메모리 관리방법.
  13. 제12항에 있어서, 상기 프리블록 테이블의 정보는 대응 프리블록의 시작위치정보, 대응 프리블록의 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보를 포함하며, 상기 미사용영역 테이블의 정보는 상기 미사용영역의 시작위치정보 및 상기 미사용영역의 사이즈 정보를 포함함을 특징으로 하는 동적 메모리 관리방법.
  14. 엠베드 시스템의 동적 메모리 관리 장치에 있어서,
    사용여부에 따라 사용영역과 미사용영역으로 구분되는 동적 메모리 공간을 제공하는 메모리와,
    상기 사용영역중 할당 해제된 블록들 각각에 대응한 정보를 가진 프리블록 테이블들로 구성된 프리블록 테이블부와,
    상기 미사용 영역에 대한 정보를 가진 미사용 영역테이블로 구성된 미사용 영역 테이블부와,
    애플리케이션으로부터 소정 사이즈의 동적 메모리 공간 할당 요구가 있으면 상기 할당 요구한 사이즈에 근거하여 상기 할당 요구된 메모리 공간을 사용영역 및 미사용 영역중 하나로 선택적으로 할당해주고, 상기 할당한 메모리공간 위치에 대응한 프리블록 테이블 정보 삭제, 프리블록 테이블 정보 갱신, 미사용 영역 테이블정보 갱신중 하나를 수행하는 할당요구관리부와,
    동적 메모리 공간 할당받은 애플리케이션으로부터의 동적 메모리 공간 해제 요구에 의거해 대응 블록의 합병여부 및 상기 대응 블록의 사용영역상 위치에 근거하여 신규 프리블록 테이블 정보 등록, 대응 프리블록 테이블 삭제, 대응 프리블록 테이블 합병, 미사용 영역 테이블 정보 갱신중 하나를 수행하는 해제요구 관리부로 구성함을 특징으로 하는 동적 메모리 관리장치.
  15. 제14항에 있어서, 상기 프리블록 테이블은 대응 프리블록의 시작위치정보, 대응 프리블록의 사이즈 정보, 상위블록의 위치정보, 하위블록의 위치정보를 가짐을 특징으로 하는 동적 메모리 관리장치.
  16. 제14항에 있어서, 상기 미사용영역의 시작위치정보 및 상기 미사용영역의 사이즈 정보를 가짐을 특징으로 하는 동적 메모리 관리장치.
KR10-2000-0087189A 2000-12-30 2000-12-30 엠베드 시스템의 동적 메모리 관리방법 및 장치 KR100369799B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087189A KR100369799B1 (ko) 2000-12-30 2000-12-30 엠베드 시스템의 동적 메모리 관리방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087189A KR100369799B1 (ko) 2000-12-30 2000-12-30 엠베드 시스템의 동적 메모리 관리방법 및 장치

Publications (2)

Publication Number Publication Date
KR20020056970A KR20020056970A (ko) 2002-07-11
KR100369799B1 true KR100369799B1 (ko) 2003-01-30

Family

ID=27690081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0087189A KR100369799B1 (ko) 2000-12-30 2000-12-30 엠베드 시스템의 동적 메모리 관리방법 및 장치

Country Status (1)

Country Link
KR (1) KR100369799B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703753B1 (ko) 2005-04-14 2007-04-06 삼성전자주식회사 파일 시스템 관리 장치 및 방법
KR100947727B1 (ko) 2003-01-21 2010-03-16 엘지전자 주식회사 플래시메모리의 롬 이미지 구성 및 업데이트 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383793B1 (ko) * 2008-01-04 2014-04-09 삼성전자주식회사 시스템 온 칩에서 메모리 할당 방법 및 장치
KR101467514B1 (ko) 2010-05-14 2014-12-01 삼성전자 주식회사 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법
KR102193002B1 (ko) * 2015-01-05 2020-12-18 에스케이텔레콤 주식회사 메모리 동적 할당이 가능한 분산 인-메모리 그리드 운용 방법 및 장치
KR20180005001A (ko) 2016-07-05 2018-01-15 한국전자통신연구원 동적 메모리 관리 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606657A (en) * 1993-10-06 1997-02-25 Honeywell Inc. Virtual graphics processor for embedded real time display systems
US5715387A (en) * 1995-02-10 1998-02-03 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system
KR19980022135A (ko) * 1996-09-20 1998-06-25 정장호 임베디드 시스템에서 싱글태스크로 멀티테스킹하는 기법
KR19990058732A (ko) * 1997-12-30 1999-07-15 구본준 하드웨어 실시간 멀티태스킹 장치 및 방법
KR20000046804A (ko) * 1998-12-31 2000-07-25 김영환 데이터 크기를 가변할 수 있는 임베디드 엠씨유
KR20000073581A (ko) * 1999-05-12 2000-12-05 윤종용 임베디드 시스템 및 그 운용방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606657A (en) * 1993-10-06 1997-02-25 Honeywell Inc. Virtual graphics processor for embedded real time display systems
US5715387A (en) * 1995-02-10 1998-02-03 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system
KR19980022135A (ko) * 1996-09-20 1998-06-25 정장호 임베디드 시스템에서 싱글태스크로 멀티테스킹하는 기법
KR19990058732A (ko) * 1997-12-30 1999-07-15 구본준 하드웨어 실시간 멀티태스킹 장치 및 방법
KR20000046804A (ko) * 1998-12-31 2000-07-25 김영환 데이터 크기를 가변할 수 있는 임베디드 엠씨유
KR20000073581A (ko) * 1999-05-12 2000-12-05 윤종용 임베디드 시스템 및 그 운용방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100947727B1 (ko) 2003-01-21 2010-03-16 엘지전자 주식회사 플래시메모리의 롬 이미지 구성 및 업데이트 방법
KR100703753B1 (ko) 2005-04-14 2007-04-06 삼성전자주식회사 파일 시스템 관리 장치 및 방법

Also Published As

Publication number Publication date
KR20020056970A (ko) 2002-07-11

Similar Documents

Publication Publication Date Title
KR101157171B1 (ko) 스마트카드를 위한 저장 시스템 및 그 저장시스템에서 파일생성관리방법
US7873781B2 (en) Data storage management method for selectively controlling reutilization of space in a virtual tape system
KR101767710B1 (ko) 폐기가능 파일들의 카드-기반 관리
US20020046216A1 (en) Information-processing apparatus and information-processing method
CN102541969B (zh) 基于fat文件系统的文件保护方法、系统及存储器
KR100369799B1 (ko) 엠베드 시스템의 동적 메모리 관리방법 및 장치
CN107391038A (zh) 资料存储型闪存的数据写入方法、闪存及存储介质
CN100544471C (zh) 扩展移动终端的存储空间的方法和系统
JPH07210452A (ja) スピーチメモリの管理方法およびその装置
CN111984425A (zh) 用于操作系统的内存管理方法、装置及设备
US7334104B2 (en) Satisfying memory allocation requests from memory pool or lookaside lists based on memory size requested to be allocated
CN113434470A (zh) 数据分布方法、装置及电子设备
CN113032414B (zh) 数据管理方法、装置、系统、计算设备及存储介质
KR101376268B1 (ko) 단말기의 메모리 할당 장치 및 방법
US10698626B2 (en) Method of managing integrated circuit cards, corresponding card and apparatus
KR100662389B1 (ko) 저장 정보 관리 방법과 그를 위한 장치
KR100591840B1 (ko) 이동통신 단말기의 리소스 관리 시스템
JPH01191221A (ja) 磁気ディスク領域の動的割り当て管理方式
CN117827116A (zh) 文件读写方法、装置、设备、存储介质及文件访问控制器
JP2565129B2 (ja) ボリュームの分割管理方式
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
KR100261177B1 (ko) 메시지 핸들링방법
CN117991992A (zh) 基于小分区zns ssd的数据写入方法、系统、设备及介质
CN117724991A (zh) 嵌入式系统的动态内存管理方法、系统、终端及存储介质
KR970004518B1 (ko) 동적 메모리 할당 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee