1 |
1
하나 이상의 주기적 태스크가 등록되는 주기적 실행 큐;
하나 이상의 비주기적 태스크가 등록되는 비주기적 실행 큐;
상기 주기적 태스크 및 상기 비주기적 태스크의 실행에 이용되는 하나 이상의 디바이스; 및
상기 주기적 실행 큐의 주기적 태스크를 일정 주기로 실행시키고 상기 비주기적 실행 큐의 비주기적 태스크를 일정 주기로 실행시키는 스케쥴러를 포함하되,
상기 스케쥴러는 멀티태스킹(Multi-tasking)을 보장하면서 이중 우선순위 스케쥴링 기반으로 태스크의 선점을 회피하여 상기 주기적 태스크와 상기 비주기적 태스크를 실행시키는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
2 |
2
제 1 항에 있어서, 상기 스케쥴러는,
상기 주기적 실행 큐에서 찾은 주기적 태스크를 실행시키고, 실행된 결과 값이 '0'보다 크면 실행된 주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 주기적 태스크를 한 개 감소시키는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
3 |
3
제 1 항에 있어서, 상기 스케쥴러는,
상기 주기적 실행 큐에서 찾은 주기적 태스크를 실행시키고, 실행된 결과 값이 '0'보다 크지 않으면, 태스크 변환을 수행하여 주기적 태스크를 대기 이벤트를 기다리는 비주기적 태스크로 변환하는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
4 |
4
제 1 항에 있어서, 상기 스케쥴러는,
상기 비주기적 실행 큐에서 찾은 비주기적 태스크를 가져오고 시스템클럭을 획득한 후, 최악 조건에서의 수행 시간이 획득한 시스템클럭 인터럽트의 발생까지 남은 시간보다 크지 않으면 찾은 상기 비주기적 태스크를 실행시키는 동작을 종료하는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
5 |
5
제 1 항에 있어서, 상기 스케쥴러는,
상기 비주기적 실행 큐에서 찾은 비주기적 태스크를 가져오고 시스템클럭을 획득한 후, 최악 조건에서의 수행 시간이 획득한 시스템클럭 인터럽트의 발생까지 남은 시간보다 크면 비주기적 태스크를 실행시키고 실행된 결과 값을 가져오는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
6 |
6
제 5 항에 있어서, 상기 스케쥴러는,
상기 비주기적 태스크의 실행된 결과 값이 '0'보다 크면, 실행된 비주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 비주기적 태스크를 한 개 감소시키고,
상기 비주기적 태스크의 실행된 결과 값이 '0'보다 크지 않으면, 이벤트 변환을 수행하여 본래 이벤트를 비주기적 태스크의 실행에 이용되는 대기 이벤트로 변환시키는 것을 특징으로 하는 소형 저전력 임베디드 시스템
|
7 |
7
주기적 실행 큐에서 찾은 주기적 태스크를 실행시키는 단계;
상기 주기적 태스크의 실행된 결과 값에 따라, 실행된 주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 주기적 태스크를 한 개 감소시키거나 태스크 변환을 수행하는 단계;
비주기적 실행 큐에서 찾은 비주기적 태스크를 가져오고 시스템클럭을 획득하는 단계;
최악 조건에서의 수행 시간에 따라 상기 가져온 비주기적 태스크를 실행시키는 단계; 및
상기 비주기적 태스크의 실행된 결과 값에 따라, 실행된 비주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 비주기적 태스크를 한 개 감소시키거나 이벤트 변환을 수행하는 단계;를 포함하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
8 |
8
제 7 항에 있어서, 상기 주기적 태스크를 실행시키는 단계에서,
주기적 태스크를 태스크 컨트롤 블록의 포인터로 가져오는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
9 |
9
제 7 항에 있어서, 상기 주기적 태스크를 감소시키거나 변환시키는 단계는,
상기 주기적 태스크의 실행된 결과 값이 '0'보다 큰지를 판단하는 단계;
판단결과 상기 실행된 결과 값이 '0'보다 크면, 실행된 주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 상기 주기적 실행 큐에 있는 주기적 태스크를 한 개 감소시키는 단계; 및
판단결과 상기 실행된 결과 값이 '0'보다 크지 않으면, 태스크 변환을 수행하는 단계;를 포함하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
10 |
10
제 9 항에 있어서, 상기 태스크 변환 단계에서,
주기적 태스크를 대기 이벤트를 기다리는 비주기적 태스크로 변환하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
11 |
11
제 7 항에 있어서, 상기 획득하는 단계는,
상기 주기적 실행 큐에 실행할 주기적 태스크가 없으면, 상기 비주기적 실행 큐에 실행할 비주기적 실행 큐가 있는지를 확인하는 단계;
확인결과 비주기적 실행 큐가 있으면, 상기 비주기적 실행 큐에서 찾은 비주기적 태스크를 가져오고 시스템클럭을 획득하는 단계; 및
확인결과 비주기적 실행 큐가 없으면, 태스크를 실행시키는 동작을 종료하는 단계;를 포함하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
12 |
12
제 11 항에 있어서,
비주기적 태스크를 태스크 컨트롤 블록의 포인터로 가져오는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
13 |
13
제 7 항에 있어서, 상기 비주기적 태스크를 실행시키는 단계는,
최악 조건에서의 수행 시간이 획득한 시스템클럭 인터럽트의 발생까지 남은 시간보다 큰지를 판단하는 단계;
판단결과 최악 조건에서의 수행 시간이 더 크지 않으면, 찾은 상기 비주기적 태스크를 실행시키는 동작을 종료하는 단계; 및
판단결과 최악 조건에서의 수행시간이 더 크면, 비주기적 태스크를 실행시키고 실행된 결과 값을 가져오는 단계;를 포함하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
14 |
14
제 7 항에 있어서, 상기 비주기적 태스크를 감소시키거나 이벤트 변환을 수행하는 단계는,
비주기적 태스크의 실행된 결과 값이 '0'보다 큰지를 판단하는 단계;
판단결과 실행된 결과 값이 '0'보다 크면, 실행된 비주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 상기 비주기적 실행 큐에 있는 비주기적 태스크를 한 개 감소시키는 단계; 및
판단결과 실행된 결과 값이 '0'보다 크지 않으면, 이벤트 변환을 수행하는 단계;를 포함하는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|
15 |
15
제 14 항에 있어서, 상기 이벤트 변환 단계에서,
본래 이벤트를 비주기적 태스크를 실행시키는데 이용되는 대기 이벤트로 변환시키는 것을 특징으로 하는 소형 저전력 임베디드 시스템의 선점 회피 방법
|