KR100846451B1 - 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법 - Google Patents

멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법 Download PDF

Info

Publication number
KR100846451B1
KR100846451B1 KR1020070029595A KR20070029595A KR100846451B1 KR 100846451 B1 KR100846451 B1 KR 100846451B1 KR 1020070029595 A KR1020070029595 A KR 1020070029595A KR 20070029595 A KR20070029595 A KR 20070029595A KR 100846451 B1 KR100846451 B1 KR 100846451B1
Authority
KR
South Korea
Prior art keywords
stack
function
stack area
allocation method
sensor operating
Prior art date
Application number
KR1020070029595A
Other languages
English (en)
Other versions
KR20080054324A (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 US11/753,023 priority Critical patent/US20080140979A1/en
Publication of KR20080054324A publication Critical patent/KR20080054324A/ko
Application granted granted Critical
Publication of KR100846451B1 publication Critical patent/KR100846451B1/ko

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법에 관한 것으로, 쓰레드(Thread)가 필요로 하는 만큼의 스택 영역(Stack Space)의 할당을 동적으로 수행함으로써, 스택 영역을 보다 효율적으로 활용할 수 있도록 한 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법에 관한 것이다.
본 발명에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 동적 스택 할당 방법은, 쓰레드의 작업 수행 중에 함수의 호출 시마다 상기 호출된 함수에 의해 사용될 스택 영역을 동적으로 할당하는 단계와, 상기 함수의 실행이 종료되면 상기 할당된 스택 영역을 반납하는 단계를 포함한다.
무선 센서 네트워크, 센서 운영체제, 스택, 멀티 쓰레드, 임베디드 시스템

Description

멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법{METHOD FOR ALLOCATION STACK IN MULTI-THREADED SENSOR OPERATING SYSTEMS ENVIRONMENT}
도 1은 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법을 개략적으로 설명하기 위한 흐름도.
도 2는 도 1의 스택 할당 방법을 좀더 구체적으로 설명하는 흐름도.
도 3은 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법과 종래 기술의 정적인 스택 할당 방법을 비교하기 위한 스택 영역의 할당 예를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법과 종래 기술의 정적인 스택 할당 방법을 비교하기 위한 스택 할당량을 나타낸 그래프.
본 발명은 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법에 관 한 것으로, 보다 상세하게는 쓰레드(Thread)가 필요로 하는 만큼의 스택 영역(Stack Space)의 할당을 동적으로 수행함으로써, 스택 영역을 보다 효율적으로 활용할 수 있도록 한 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법에 관한 것이다.
일반적으로, 무선 센서 네트워크(Wireless Sensor Networks)는 여러 가지 환경 정보를 센싱(Sensing)하고 사용자가 원하는 형태로 정보를 가공하여 실시간으로 통신하는 무선 네트워크이다. 이러한 무선 센서 네트워크는 수백 혹은 수천 개의 무선 센서 노드들로 이루어진다. 각 센서 노드(Sensor Node)는 비용적인 측면에서 매우 작은 크기로 구성되어야 전체 네트워크의 비용 효율성을 이루어낼 수 있게 된다. 상기 센서 노드들은 환경 정보를 수집하고, 이웃 노드들끼리 통신하며, 정보를 가공하여 사용자에게 실시간으로 전달하는 기능을 담당한다.
즉, 상기 센서 노드는 온도, 습도 및 광량 정보 등을 얻어낼 센서와 간단한 계산을 수행할 수 있는 중앙처리유닛(CPU), 무선 통신을 위한 RF 모듈, 부팅을 위한 작은 크기의 롬(ROM) 과 메인 배터리 등으로 구성된다. 예를 들면, 미국의 버클리 대학에서 설계한 MICA 시리즈 센서 플랫폼은 8비트(bit) 중앙처리유닛(CPU), 4KB 램(RAM) 및 두개의 AA 배터리 등으로 구성되어 있다.
이러한 센서 플랫폼에서 동작할 센서 운영체제는 제한적인 메모리 공간을 효율적으로 사용하면서 센서 노드에서 발생할 수 있는 센싱, 통신 및 변환 등의 다수의 작업을 실시간으로 처리하기 위한 멀티 쓰레드 기반 태스크 관리(Multi-Threaded Task Management) 기법이 필요하다.
이를 해결하기 위하여, 기존의 정적인 쓰레드 스택 할당 방법은 쓰레드 생성 시에 해당 쓰레드가 사용할 스택 영역을 정적인 크기로 할당하였다. 즉, 각 쓰레드마다 고유의 스택을 메모리 공간에 할당받아야 한다.
이러한 스택 영역의 할당은 매우 제한적인 메모리 공간을 갖는 센서 플랫폼에서는 상당한 문제가 된다. 쓰레드가 할당받은 스택 영역을 전부 사용하지 않는다면, 남는 공간은 스택 영역의 낭비로 이어진다. 그러므로, 공간 제약적인 무선 센서 플랫폼에서의 스택 메모리 공간의 정적인 할당 및 반납은 자원 관리의 측면에서 심각한 문제점을 일으킬 수 있다.
이러한 문제점은 실제로 시스템의 메모리 부족 문제 등을 일으키는 주원인이 되고, 전체 무선 센서 네트워크의 오작동을 일으키게 된다. 이러한 멀티 쓰레드 기반 태스크 관리 기법의 사용에 있어서의 문제를 확실히 해결하기 위한 방안은 존재하지 않았다.
한편, 통상의 멀티 쓰레드 기반 기법이 아닌 이벤트 기반 프로그래밍 기법을 사용하여 메모리 공간의 문제를 해결하려는 시도가 있으나, 이러한 이벤트 기반 구조는 실시간 작업 처리를 위한 선점 기능을 제공하지 않는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 공간 제약적인 센서 플랫폼에서 동작하는 센서 운영체제를 위한 공간 효율적인 쓰레드 스택 할당 방법을 제공하는데 있다.
본 발명의 다른 목적은 기존의 정적인 쓰레드 스택 할당 방법을 사용하는 것보다 메모리 공간의 사용량을 상당히 절감시킬 수 있는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 전체 메모리 공간을 효율적으로 사용하면서 다중 작업을 실시간으로 수행시킬 수 있는 공간 효율적인 쓰레드 스택 할당 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여, 본 발명의 제1 측면에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 동적 스택 할당 방법은, 쓰레드의 작업 수행 중에 함수의 호출 시마다 상기 호출된 함수에 의해 사용될 스택 영역을 동적으로 할당하는 단계와, 상기 함수의 실행이 종료되면 상기 할당된 스택 영역을 반납하는 단계를 포함한다.
바람직하게, 상기 방법은 상기 함수에 의해 사용될 지역 변수의 크기 및 함수 인자의 개수에 기반하여 상기 할당될 스택 영역의 크기를 예측하는 단계를 더 포함한다.
다른 실시예에서, 상기 방법은 상기 함수에 대응하는 어셈블리 코드를 분석함으로써 상기 할당될 스택 영역의 크기를 예측하는 단계를 더 포함한다.
본 발명의 제2 측면에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 동적 스택 할당 방법은, 쓰레드의 작업 수행 중에 함수가 호출되는 경우에 상기 호출 된 함수에 의해 사용될 스택 영역을 할당하는 단계와, 상기 할당된 스택 영역을 가리키도록 스택 포인터를 이동시키는 단계와, 상기 함수의 인자 및 리턴 주소를 상기 스택 영역에 저장하는 단계와, 상기 함수의 실행이 종료되면 상기 함수를 리턴하는 단계와, 상기 스택 포인터를 복원하고 상기 할당된 스택 영역을 반납하는 단계를 포함한다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
우선, 본 발명에서 사용되는 용어를 간략히 설명한다.
" 쓰레드"는 하나의 프로그램 내에서의 실행 단위를 의미한다. 예컨대, 자바(Java)에서는 각 작업(Task)을 쓰레드로 표현하고, 이러한 쓰레드를 여러 개 둘 수 있도록 함으로써 멀티태스킹(Multi-Tasking)을 가능하게 한다.
"함수(Function)"는 프로그램 내에서 어떤 특정한 작업을 독립적으로 수행하여 결과를 유도해내는 규격화된 서브루틴(Subroutine)과 같은 하나의 단위를 일컫는다. 함수에 요구하는 인자(Argument)를 전달하면, 함수는 그 인자에 대한 결과값을 돌려준다(return).
도 1은 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법을 개략적으로 설명하기 위한 흐름도이다.
도시된 바와 같이, 쓰레드의 작업 수행중에 함수가 호출될 때마다 해당 함수에 의해 사용될 스택 영역을 할당한다(110).
본 발명의 일실시예에서, 할당될 스택 영역의 크기는 해당 함수에 의해 사용되는 지역 변수의 크기 및 함수 인자들(Arguments)의 개수 등에 기반하여 예측될 수 있다. 또한, 프로그램의 컴파일시에 컴파일러에 의해 제공되는 어셈블리 코드를 분석함으로써 함수에 의해 사용될 스택 영역 크기를 좀더 정확히 예측할 수 있다. 단지 C 언어 수준에서의 프로그램 코드로는 실제 임베디드 시스템(Embedded System) 혹은 센서 노드에서 동작하는 기계 코드 수준에서의 각 함수별 스택 크기의 증가 및 감소량을 알 수 없으므로, 해당 함수에 대응하는 어셈블리 코드를 분석함으로써 스택 영역 크기를 좀더 정확히 예측할 수 있다. 어셈블리 코드는 기계 코드를 어셈블리 언어로 치환해 놓은 형태로서, 이를 분석함으로써 각 함수별 스택 영역의 사용량을 정확히 알아낼 수 있다.
각 함수별 스택 사용량의 측정 결과는 별도의 파일에 기록해 두고, 이 정보를 바탕으로 매 번 함수 호출 시점에 새로운 스택 영역을 할당할 수 있다.
따라서, 본 발명에 따른 스택 할당 방법에 따르면 스택 오버플로우(Overflow)를 방지할 수 있다.
상기 할당된 스택공간을 이용하여 해당 함수의 실행이 종료되면, 사용된 스 택 영역을 반납한다(단계 120).
이하, 도 2를 참조하여 본 발명의 일실시예에 따른 스택 영역 할당 방법을 좀더 구체적으로 살펴본다.
도 2를 참조하면, 우선, 멀티 쓰레드 기반 센서 운영체제 환경에서 실행될 쓰레드가 생성된다(210). 전술한 바와 같이, 센서 노드에서 동작할 센서 운영체제는 센싱, 통신 및 변환 등의 다수의 작업을 실시간으로 처리하기 위한 복수개의 쓰레드를 동시에 실행시킬 필요가 있으므로, 1개 이상의 쓰레드가 생성될 수 있다.
단계(220)에서, 상기 생성된 쓰레드의 작업 수행 중에 함수가 호출될 경우 해당 함수에 의해 사용될 스택 영역을 할당한다. 스택 영역 크기의 예측 방법에 대해서는 도 1을 참조하여 이미 설명한 바 있다. 즉, 호출될 함수에 의해 사용될 지역 변수의 크기 및 함수 인자들의 개수 등에 기반하여 스택 영역의 할당량을 예측하거나, 상기 함수에 대응하는 어셈블리 코드를 분석함으로써 스택 영역 크기를 좀더 정확히 예측할 수 있다. 다음, 상기 단계(230)에서 할당된 스택 영역을 가리키도록 스택 포인터(Stack Pointer)를 이동시킨다. 스택 포인터를 이동시키기 이전에, 추후 복원을 위해 현재 스택 포인터를 저장해둔다.
다음, 단계(240)에서 함수의 인자 및 리턴 주소(Return Address)를 스택에 저장한다.
이후에, 함수가 호출되어 실행되고(250), 함수의 작업이 종료되면 해당 함수를 다시 리턴한다(260).
마지막으로, 상기 스택 포인터를 복원한 후(270), 상기 단계(S200)에서 할당되었던 스택 영역을 반납한다(280).
하기의 표 1에서는 종래 기술의 정적인 스택 할당 방법과 본 발명의 일 실시예에 따른 동적인 스택 할당 방법을 기능별로 비교하고 있다.
종래 기술 본 발명
스택 할당 시점 쓰레드 생성 시 함수 호출 시
스택 할당 크기 정적 동적
함수 호출 방법 일반적인 함수 호출 방법과 동일함 스택 할당 후 함수 호출, 함수 종료 시 스택 반납
스택 할당 비용 단 한번 발생 여러 번 발생 가능
스택 영역 효율 낮음 높음
최대 쓰레드 수 스택 크기에 반비례 함수 중첩 수준에 반비례
스택 오버플로우 발생 가능 발생하지 않음
본 발명의 일 실시예에 따른 스택 할당 방법의 경우, 쓰레드가 사용할 스택 영역이 함수 호출 시마다 할당되므로, 수행 시간의 측면에서 잠재적인 부하가 발생할 수 있다. 그러나, 전체 스택 영역의 효율성을 증진시킬 수 있고, 최대 쓰레드 생성 수가 스택의 크기가 아닌 함수의 중첩 수준에 반비례하므로, 종래 기술의 스택기반 쓰레드 할당 방법을 사용하는 경우보다 더 많은 쓰레드를 생성시킬 수 있게 된다.
도 3은 종래 기술의 정적인 스택 할당 방법과 본 발명의 일 실시예에 따른 동적인 스택 할당 방법을 비교하기 위한 스택 영역의 할당 예를 나타낸 도면이다. 구체적으로는, 3개의 쓰레드(Thread 1, Thread 2 및 Thread 3)가 각각 최소 2에서 최대 4개의 함수를 중첩 호출할 경우에 종래 기술과 본원 발명에 따른 전체 시스템의 메모리의 사용 예를 보인다.
도 3(a)는 종래 기술에 따라 각각의 쓰레드에 대하여 스택 영역(T1, T2, T3)이 할당되는 경우에 스택 영역의 낭비가 발생함을 보여준다. 반면에, 도 3(b)는 본 발명에 따라 각 스레드의 함수 호출시마다 스택 영역이 할당되는 경우에는 나머지 영역이 자유 영역으로 보존됨으로써 스택영역의 낭비가 발생하지 않음을 보여준다.
즉, 본 발명의 일 실시예에 따른 동적인 스택 할당 방법을 사용할 경우, 스택 영역의 공간 낭비를 최소화시킬 수 있으며, 이를 통하여 전체 스택 사용량을 상당 부분 감소시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법과 종래의 정적인 스택 할당 방법을 비교하기 위한 스택 할당량을 나타낸 그래프로서, 본 발명의 일 실시예에 따른 동적인 스택 할당 방법을 사용하는 것이 매우 공간 효율적으로 동작함을 확인할 수 있다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법은, 쓰레드가 필요로 하는 만큼의 스택 영역의 할당을 동적으로 수행한다. 이는 각 쓰레드의 매 함수 호출마다 이루어지며, 함수가 종료할 때에는 스택을 반납하여 다른 쓰레드가 그 공간을 재사용할 수 있도록 한다. 본 발명의 스택할당 방법을 사용하면, 메모리 공간의 할당 및 반납의 시간상의 부하는 존재하지만, 전체 메모리 공간을 효율적으로 사용할 수 있게 된다.
따라서, 공간 제약적인 무선 센서 운영체제에서, 멀티 쓰레드 기반 태스크 관리 기법을 사용할 경우의 메모리 부족 문제를 쉽게 해결해줄 수 있다. 또한, 스택 오버플로우(Overflow) 문제도 미연에 방지할 수 있게 되므로, 메모리 관리 유닛(Memory Management Unit, MMU)이 없는 무선 센서 노드와 같은 초소형 컴퓨터 시스템에서 매우 유용하게 쓰일 수 있다.
전술한 본 발명은 하나 이상의 제조물상에 구현된 하나 이상의 컴퓨터 판독가능 매체로서 제공될 수 있다. 제조물은, 플로피 디스크, 하드 디스크, CD ROM, 플래시 메모리 카드,PROM, RAM, ROM, 또는 자기 테이프를 들 수 있다. 일반적으로, 컴퓨터 판독가능 프로그램은 임의의 프로그래밍 언어로 구현될 수 있다. 사용될 수 있는 언어의 일부 예에는 C, C++, 또는 JAVA가 포함된다.
이상에서, 본 발명에 따른 실시예들에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
이상에서 설명한 바와 같은 본 발명에 따르면, 쓰레드가 필요로 하는 만큼의 스택 영역의 할당을 동적으로 수행함으로써, 기존의 정적인 쓰레드 스택 할당 방법을 사용하는 것보다 메모리 공간의 사용량을 상당히 절감시킬 수 있으며, 스택 오버플로우 문제도 미연에 방지할 수 있게 되므로, 메모리 관리 유닛(MMU)이 없는 무선 센서 노드와 같은 초소형 컴퓨터 시스템에서 매우 유용하게 쓰일 수 있는 이점이 있다.

Claims (10)

  1. 멀티 쓰레드 기반 센서 운영체제 환경에서의 동적 스택 할당 방법에 있어서,
    쓰레드의 작업 수행 중에 함수의 호출 시마다 상기 호출된 함수에 의해 사용될 스택 영역을 할당하되, 상기 함수에 의해 사용될 지역 변수의 크기 및 함수 인자의 개수에 기반하여 상기 할당될 스택 영역의 크기를 예측하여 할당하는 단계와,
    상기 함수의 실행이 종료되면 상기 할당된 스택 영역을 반납하는 단계
    를 포함하는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 함수에 대응하는 어셈블리 코드를 분석함으로써 상기 할당될 스택 영역의 크기를 예측하는 단계를 더 포함하는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  4. 제3항에 있어서,
    상기 예측된 스택 영역의 크기 정보를 저장하는 단계를 더 포함하고,
    상기 저장된 스택 영역의 크기 정보에 기반하여 스택 영역이 할당되는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  5. 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법에 있어서,
    쓰레드의 작업 수행 중에 함수가 호출되는 경우에 상기 호출된 함수에 의해 사용될 스택 영역을 할당하되, 상기 함수에 의해 사용될 지역 변수의 크기 및 함수 인자의 개수에 기반하여 상기 할당될 스택 영역의 크기를 예측하여 할당하는 단계와,
    상기 할당된 스택 영역을 가리키도록 스택 포인터를 이동시키는 단계와,
    상기 함수의 인자 및 리턴 주소를 상기 스택 영역에 저장하는 단계와,
    상기 함수의 실행이 종료되면, 상기 함수를 리턴하는 단계와,
    상기 스택 포인터를 복원하고, 상기 할당된 스택 영역을 반납하는 단계
    를 포함하는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  6. 삭제
  7. 제5항에 있어서,
    상기 함수에 대응하는 어셈블리 코드를 분석함으로써 상기 할당될 스택 영역의 크기를 예측하는 단계를 더 포함하는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  8. 제7항에 있어서,
    상기 예측된 스택 영역의 크기 정보를 저장하는 단계를 더 포함하고,
    상기 저장된 스택 영역의 크기 정보에 기반하여 스택 영역이 할당되는 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당 방법.
  9. 제1항 또는 제5항에 따른 스택 할당 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체.
  10. 제9항에 있어서, 상기 컴퓨터 프로그램은 제한된 크기의 메모리를 갖는 센서 노드에서 수행되는 컴퓨터 판독가능 기록매체.
KR1020070029595A 2006-12-12 2007-03-27 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법 KR100846451B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/753,023 US20080140979A1 (en) 2006-12-12 2007-05-24 Method of allocating stack in multi-threaded sensor operating system environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060126390 2006-12-12
KR1020060126390 2006-12-12

Publications (2)

Publication Number Publication Date
KR20080054324A KR20080054324A (ko) 2008-06-17
KR100846451B1 true KR100846451B1 (ko) 2008-07-16

Family

ID=39801367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070029595A KR100846451B1 (ko) 2006-12-12 2007-03-27 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법

Country Status (1)

Country Link
KR (1) KR100846451B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590764B1 (ko) 2009-11-13 2016-02-02 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법
KR101191727B1 (ko) * 2011-02-28 2012-11-21 (주)지노게임즈 멀티 버추얼 머신을 이용한 멀티 쓰레드 처리시스템 및 그 방법
KR101378058B1 (ko) * 2012-03-30 2014-03-27 국방과학연구소 임베디드 시스템에서의 동적 메모리 관리방법
KR102435347B1 (ko) * 2017-12-14 2022-08-23 현대자동차주식회사 전자 제어 장치용 메모리 감시 및 사용 표시 방법 및 장치
KR102529081B1 (ko) * 2021-07-02 2023-05-08 한국과학기술원 프록시 컨트랙트 생성방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100304355B1 (ko) * 1997-12-17 2001-09-24 이계철 실시간시스템을위한스택관리방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100304355B1 (ko) * 1997-12-17 2001-09-24 이계철 실시간시스템을위한스택관리방법

Also Published As

Publication number Publication date
KR20080054324A (ko) 2008-06-17

Similar Documents

Publication Publication Date Title
CN1306399C (zh) 用于网络处理器的虚拟机
US9047196B2 (en) Usage aware NUMA process scheduling
US8813073B2 (en) Compiling apparatus and method of a multicore device
US8700838B2 (en) Allocating heaps in NUMA systems
CN101833368B (zh) 一种软硬件协调处理的局部动态可重构系统能量管理方法
US20110113215A1 (en) Method and apparatus for dynamic resizing of cache partitions based on the execution phase of tasks
JP2014504768A (ja) 領域に基づくガベージ・コレクタを用いてクラスを漸進的にアンロードするための方法、コンピュータ・プログラム製品、および装置
US10572181B2 (en) Multiple stage garbage collector
KR100846451B1 (ko) 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법
KR20090108868A (ko) 가상 머신 관리 시스템 및 그의 프로세서 자원 관리방법
US20140115291A1 (en) Numa optimization for garbage collection of multi-threaded applications
CN105159736A (zh) 一种支持性能分析的SaaS软件部署方案的构建方法
US7647482B2 (en) Methods and apparatus for dynamic register scratching
CN110291508A (zh) 垃圾收集器
CN102981885A (zh) C语言程序设计中基于对象编程的方法及系统
US20210374319A1 (en) Dynamic allocation of computing resources for electronic design automation operations
US20080140979A1 (en) Method of allocating stack in multi-threaded sensor operating system environment
CN108139929B (zh) 用于调度多个任务的任务调度装置和方法
CN105824705A (zh) 一种任务分配方法和电子设备
EP3295276B1 (en) Reducing power by vacating subsets of cpus and memory
KR101017351B1 (ko) 멀티 쓰레드 기반 운영체제에서의 동적 쓰레드 스택재할당 방법
US7120775B2 (en) Inter-procedural allocation of stacked registers for a processor
Higuera-Toledano et al. Analyzing the performance of memory management in RTSJ
Wang et al. A dynamic resource allocation framework for apache spark applications
JP2003256215A (ja) プログラム変換方法、これを用いたデータ処理装置及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee