1 |
1
삭제
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
삭제
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
함수별로 필요한 스택 박스의 크기를 산출하는 단계;함수가 호출되면 산출된 스택 박스에 해당하는 메모리 맵의 비트들을 순차 검색하여 데이타 메모리내의 연속된 블럭들을 함수의 스택박스로 할당하는 단계;상기 함수의 스택박스에 할당된 연속된 블록들 중 최하위 블록의 최하위 주소를 스택 포인트값으로 저장하는 단계; 및함수 실행이 종료되면 상기 할당된 스택박스에 해당하는 블럭들을 반환하고 상기 저장된 스택 포인트값을 이용하여 함수 호출 시점으로 복귀하는 단계;를 포함하며, 상기 스택박스를 할당하는 단계는상기 산출된 크기의 스택박스를 수용하기 위해 필요한 블록 개수만큼의 비트들로 구성되어 논리값 1로 설정된 비트열을 생성하는 단계;메모리 맵에서 상기 블록 개수만큼 연속된 비트들로 검색 범위를 지정하는 비트맵을 생성하는 단계;상기 메모리 맵의 최하위 비트인 비트맵의 값부터 상기 비트열의 값과 AND 논리연산하여 논리 연산값이 0인지 판단하는 단계; 및 논리 연산값이 0이 되어 상기 비트맵에 해당하는 메모리 블록들이 빈 상태인 경우 해당 블럭들을 상기 함수의 스택박스로 할당하는 단계;를 포함하는 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|
9 |
9
제8항에 있어서, 상기 스택박스의 크기는 프리-컴파일 단계 및 컴파일 단계에서 산출되며, 인터럽트 스택크기를 포함하는 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|
10 |
10
삭제
|
11 |
11
제8항에 있어서, 상기 논리 연산값이 0이 나오지 않아 비트맵에 포함된 메모리 블록들이 모두 빈상태가 아닌 경우 상기 메모리 맵상에서 1비트만큼 상위 주소로 시프트된 비트맵의 값과 상기 비트열의 값을 다시 AND 논리 연산하며, 상기 시프트와 논리연산은 논리 연산값이 0이 나올 때까지 반복되는 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|
12 |
12
제8항에 있어서, 상기 데이타 메모리는 고정된 크기의 복수의 블록으로 구분되어, 상위 구간에는 메모리 맵이 위치하고, 최하위 구간에는 인터럽크 서브루틴을 위한 스택박스가 위치하며, 가운데 구간에는 힙 메모리와 스택 메모리가 위치하는 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|
13 |
13
제8항에 있어서, 상기 메모리 맵은 전체 메모리 블록에 대해 현재 사용되고 있는 정보를 비트값 형태로 유지하고 있으며, 상기 메모리맵 각 비트는 한 메모리 블록의 기할당 여부의 정보를 반영하는 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|
14 |
14
제12항에 있어서, 상기 인터럽크 서브루틴을 위한 스택박스는고정적으로 할당되어 운용되며, 크기는 모든 등록 인터럽크 서브루틴중에서 가장 큰 크기의 스택박스인 것을 특징으로 하는 임베디드 시스템에서의 동적 메모리 관리방법
|