1 |
1
멀티 쓰레드 기반 운영체제에서의 동적 스레드 스택 재할당 방법에 있어서, 상기 방법은,
멀티 쓰레드 각각에 대한 스택의 데이터 영역 크기 및 비데이터 영역의 크기를 측정하는 단계와,
상기 멀티 쓰레드 각각에 대해 상기 측정된 스택의 데이터 영역 크기에 기반하여 각 스택의 비데이터 영역의 새로운 크기를 결정하는 단계와,
각 스택의 비데이터 영역 크기를 상기 결정된 새로운 크기로 조정하는 단계
를 포함하는 동적 쓰레드 스택 재할당 방법
|
2 |
2
제1항에 있어서, 상기 방법은 센서 노드에서 수행되는 동적 쓰레드 스택 재할당 방법
|
3 |
3
제1항에 있어서, 상기 방법은 틱 인터럽트가 발생할 때마다 수행되는 동적 쓰레드 스택 재할당 방법
|
4 |
4
제1항에 있어서, 상기 각 스택의 비데이터 영역의 새로운 크기를 결정하는 단계에서 새로운 크기는 선정된 임계치 이상으로 결정되는 동적 쓰레드 스택 재할당 방법
|
5 |
5
제1항에 있어서, 상기 각 스택의 비데이터 영역에 대한 새로운 크기를 결정하는 단계에서 새로운 크기는 데이터 영역 크기의 10 내지 20%로 결정되는 동적 쓰레드 스택 재할당 방법
|
6 |
6
제1항에 있어서, 상기 각 스택의 비데이터 영역 크기를 조정하는 단계는 높은 메모리 주소를 갖는 하위 스택부터 낮은 메모리 주소를 갖는 상위 스택으로 순차적으로 수행되는 동적 쓰레드 스택 재할당 방법
|
7 |
7
제6항에 있어서, 상기 각 스택의 비데이터 영역 크기를 조정하는 단계는 높은 메모리 주소를 갖는 하위 스택의 현재 비데이터 영역 크기와 새로운 비데이터 영역 크기간 차이가 존재하는 경우에 상기 하위 스택에 인접하며 낮은 메모리 주소를 갖는 상위 스택의 데이터 영역을 상기 차이만큼 낮은 메모리 주소를 갖는 상위 메모리 영역으로 이동시키거나 높은 메모리 주소를 갖는 하위 메모리 영역으로 이동시키는 단계를 포함하는 동적 쓰레드 스택 재할당 방법
|
8 |
8
제7항에 있어서, 상기 하위 스택의 현재 비데이터 영역 크기와 새로운 비데이터 영역 크기간 차이가 0보다 작은 경우에는 상기 인접한 상위 스택의 데이터 영역을 상기 크기 차이만큼 높은 메모리 주소를 갖는 하위 메모리 영역으로 이동시키는 동적 쓰레드 스택 재할당 방법
|
9 |
9
제7항에 있어서, 하위 스택의 현재 비데이터 영역 크기와 새로운 비데이터 영역 크기간 차이가 0보다 큰 경우에는 상기 인접한 상위 스택의 데이터 영역을 상기 크기 차이만큼 낮은 메모리 주소를 갖는 상위 메모리 영역으로 이동시키는 동적 쓰레드 스택 재할당 방법
|
10 |
10
제9항에 있어서, 상기 각 스택의 비데이터 영역 크기를 조정하는 단계는, 상기 인접한 상위 스택의 데이터 영역을 낮은 메모리 주소를 갖는 상위 메모리 영역으로 이동시키기 이전에, 인접한 스택간 오버랩이 발생하는지 판단하는 단계를 더 포함하는 동적 쓰레드 스택 재할당 방법
|
11 |
11
제10항에 있어서, 상기 하위 스택의 현재 비데이터 영역 크기와 새로운 비데이터 영역 크기간의 차이가 상기 하위 스택에 인접한 상위 스택의 비데이터 영역 크기보다 큰 경우에 오버랩이 발생할 것으로 판단하는 동적 쓰레드 스택 재할당 방법
|
12 |
12
제10항에 있어서, 상기 오버랩이 발생할 것으로 판단되는 경우에 적어도 1개 이상의 상위 스택의 데이터 영역을 낮은 메모리 주소를 갖는 상위 메모리 영역으로 이동시키는 단계를 더 포함하는 동적 쓰레드 스택 재할당 방법
|
13 |
13
제1항 내지 제12항중 어느 하나의 항에 따른 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체
|
14 |
14
제13항에 있어서, 상기 컴퓨터 프로그램은 센서 노드 운영체제의 인터럽트 서비스 루틴에 포함되는 컴퓨터 판독가능 기록매체
|