KR102497258B1 - 차량용 운영체제의 태스크 실행 시스템 및 방법 - Google Patents

차량용 운영체제의 태스크 실행 시스템 및 방법 Download PDF

Info

Publication number
KR102497258B1
KR102497258B1 KR1020200176522A KR20200176522A KR102497258B1 KR 102497258 B1 KR102497258 B1 KR 102497258B1 KR 1020200176522 A KR1020200176522 A KR 1020200176522A KR 20200176522 A KR20200176522 A KR 20200176522A KR 102497258 B1 KR102497258 B1 KR 102497258B1
Authority
KR
South Korea
Prior art keywords
task
execution
unit
event signal
task execution
Prior art date
Application number
KR1020200176522A
Other languages
English (en)
Other versions
KR20220086245A (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 KR1020200176522A priority Critical patent/KR102497258B1/ko
Priority to US17/513,295 priority patent/US20220188153A1/en
Priority to DE102021131057.1A priority patent/DE102021131057A1/de
Priority to CN202111444599.4A priority patent/CN114637597A/zh
Publication of KR20220086245A publication Critical patent/KR20220086245A/ko
Application granted granted Critical
Publication of KR102497258B1 publication Critical patent/KR102497258B1/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
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템은, 어플리케이션으로부터 이벤트 신호를 수신하면, 미리 마련된 이벤트 체인 테이블로부터 상기 이벤트 신호와 관련한 태스크 정보를 추출하는 태스크 정보 추출부, 추출된 상기 태스크 정보를 이용하여 태스크 실행 주기를 설정하는 실행 주기 설정부, 상기 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행하는 태스크 실행부, 및 상기 어느 하나의 태스크 실행이 완료되면, 다음 태스크 실행을 대기하도록 태스크 대기 시간을 상기 태스크 실행부에 제공하는 대기 시간 제공부를 포함한다.

Description

차량용 운영체제의 태스크 실행 시스템 및 방법{TASK EXECUTION SYSTEM AND MEHTOD OF OPERATING SYSTEM FOR VEHICLE}
본 발명은 차량용 운영체제의 태스크 실행 시스템 및 방법에 관한 것으로서, 일 예로 어댑티브 오토사 운영체제의 태스크 실행 시스템 및 방법에 관한 것이다.
최근 자동차 업계는 전기차와 자율 주행이라는 새로운 트렌드(Trend)가 형성되면서, ADAS(Advanced Driver Assistance System), V2X(Vehicle-to-X) 등의 차량분야에 활용 가능한 IT(Information Technology) 융합 기술이 활발하게 생성 및 발전하고 있다.
특히, 리눅스(Linux) 운영체제를 차량 제어기에 적용하는 사례가 늘고 있는데, 이는 리눅스 운영체제의 다양한 드라이버를 활용한 인포테인먼트(Infortainment), V2X와 같은 어플리케이션을 보다 쉽게 구현할 수 있기 때문이다.
이러한 리눅스 운영체제는 클래식 오토사(Classic AUTOSAR) 운영체제가 가지고 있는 한계점을 보완 가능하나, 별도의 진단 기능이나 캔(CAN) 통신 같은 차량 네트워크를 지원하지 못하는 한계가 있다.
위와 같은 단점을 보완하고 기술적으로 발전하여 등장하게 된 것이 어댑티브 오토사(Adaptive AUTOSAR) 운영체제이다.
어댑티브 오토사 운영체제는, 미래 발전된 기능을 자동차에 적용하는데 필요한 고성능 하드웨어(Hardware), 다양한 오디오 드라이버, 다양한 비디오 드라이버, 및 외부 인터페이스를 지원하고, 차량 통신 네트워크 및 보안까지 만족시키기 위해 기술 발전이 이루어지고 있다.
어댑티브 오토사 운영체제는 기본적으로 프로세스 단위의 태스크 스케줄링 동작에 대해 주기성, 및 결정론적 수행 여부를 보장한다. 어댑티브 오토사 운영체제는 프로세스 내의 개별 스레드에 대한 태스크 스케줄링에 대해서 관여하지 않고 있다.
복수의 스레드로 구현된 차량용 어플리케이션을 개별적인 프로세스 단위로 분리하는 경우, 운영체제에서 시스템 자원을 프로세스 각각에 새로 설정해야 하며, 기존 설계된 차량용 어플리케이션의 구조 변경이 불가피하므로, 기능 동작을 보장할 수 없다.
한편, 고성능 하드웨어 기반의 차량용 어플리케이션은 단일 프로세스 내에 복수의 스레드로 구성되어 있다. 차량용 어플리케이션은 차량용 어플리케이션은 내부 스레드 간 동기화가 매우 중요하며, 동기화는 스레드의 동작순서를 의미한다.
차량용 어플리케이션은 독립적인 스레드(Tread) 형태로 동작한다. 해당 스레드는 주기적으로 동작하고, 스레드의 주기성이 흐트러지게 될 경우, 어플리케이션에서 구현하고자 하는 고유의 알고리즘에 잘못된 연산이 발생할 수 있다.
또한, 차량용 어플리케이션에서 공통적으로 이용되는 진단, 보안 기능에 대한 요구사항이 충족되어야 한다.
이에 따라, 차량용 어플리케이션의 요구사항에 부합하기 위해, 어댑티브 오토사 운영체제에서 태스크 동기화를 위한 방안이 요구된다.
대한민국 등록특허 제10-1353065호
이에 본 발명은 상기한 사정을 감안하여 안출된 것으로, 복수의 태스크 사이의 상호관계를 통한 동기화를 수행하는 것이 아닌, 태스크 수행 주기에 따라 독립적으로 태스크를 실행함으로써 태스크 사이의 동기화가 구현되는 차량용 운영체제의 태스크 실행 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템은, 어플리케이션으로부터 이벤트 신호를 수신하면, 미리 마련된 이벤트 체인 테이블로부터 상기 이벤트 신호와 관련한 태스크 정보를 추출하는 태스크 정보 추출부; 추출된 상기 태스크 정보를 이용하여 태스크 실행 주기를 설정하는 실행 주기 설정부; 상기 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행하는 태스크 실행부; 및 상기 어느 하나의 태스크 실행이 완료되면, 다음 태스크 실행을 대기하도록 태스크 대기 시간을 상기 태스크 실행부에 제공하는 대기 시간 제공부;를 포함한다.
상기 태스크 정보는, 태스크 리스트, 태스크 주기, 태스크 우선 순위, 및 태스크 실행 순서를 포함할 수 있다.
추출된 상기 태스크 정보를 메모리 영역에 할당하는 메모리 할당부; 및 상기 태스크를 실행할 소정의 코어를 설정하는 코어 설정부;를 더 포함할 수 있다.
상기 이벤트 신호는 주기적인 신호일 수 있다.
상기 태스크 실행부는, 상기 태스크 우선 순위, 및 상기 태스크 실행 순서를 기초로 상기 태스크 리스트에 포함되는 복수의 태스크를 순서대로 실행할 수 있다.
상기 태스크 실행부는, 상기 태스크 리스트에 포함된 어느 하나의 태스크 실행이 완료되면, 상기 태스크 대기 시간에 따라 다음 태스크 실행을 대기할 수 있다.
상기 태스크 실행부는, 상기 이벤트 신호가 주기적으로 발생함에 따라 상기 태스크 리스트의 태스크를 반복 실행할 수 있다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 방법은, 어플리케이션으로부터 이벤트 신호를 수신하면, 미리 마련된 이벤트 체인 테이블로부터 상기 이벤트 신호와 관련한 태스크 정보를 추출하는 태스크 정보 추출 단계; 추출된 상기 태스크 정보를 이용하여 태스크 실행 주기를 설정하는 태스크 실행 주기 설정 단계; 상기 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행하는 태스크 실행 단계; 및 상기 어느 하나의 태스크 실행이 완료되면, 다음 태스크 실행을 위해 미리 마련된 태스크 대기 시간만큼 대기하는 대기 단계;를 포함한다.
어플리케이션으로부터 이벤트 신호를 수신하는 이벤트 신호 수신 단계; 및 상기 태스크 정보를 메모리에 할당하는 메모리 할당 단계;를 더 포함할 수 있다.
상기 이벤트 신호의 주기적인 발생이 계속되는 지를 판단하는 신호 판단 단계; 및 상기 이벤트 신호의 주기적인 발생이 종료되는 경우, 태스크 실행을 종료하는 실행 종료 단계;를 더 포함할 수 있다.
상기 태스크 실행 단계는, 상기 이벤트 신호의 주기적인 발생이 계속되는 경우, 상기 태스크 대기 시간만큼 대기한 이후에 다음 태스크를 실행할 수 있다.
본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템 및 방법에 의하면, 복수의 태스크 사이의 상호관계를 통한 동기화를 수행하는 것이 아닌, 태스크 수행 주기에 따라 독립적으로 태스크를 실행함으로써 태스크 사이의 동기화가 구현되는 효과가 있다.
또한, 복수의 태스크 실행 주기 사이에 대기 시간을 마련함으로써 태스크 사이의 동기화를 구현하는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템의 개략적인 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템의 구성도이다.
도 3은 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 방법의 순서도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템의 개략적인 블록도이다.
도 1을 참고하면, 전자제어유닛(1)은 차량의 각종 전자 제어시스템을 제어하도록 구성될 수 있다. 전자제어유닛(1)은 운영체제(10)가 설치될 수 있다. 운영체제(10)는 어댑티브 오토사 운영체제일 수 있다. 운영체제(10)는 고성능 하드웨어를 기반으로 하는 어플리케이션, 메모리 장치, 오디오/비디오 드라이버, 및 외부 인터페이스 등을 지원할 수 있다.
어플리케이션(100)은 차량 진단, 보안을 위한 기능 등을 제공할 수 있다. 어플리케이션(100)은 주기적으로 동작할 수 있다. 어플리케이션(100)의 동작 주기가 흐트러지게 되면, 어플리케이션(100)에서 구현하고자 하는 알고리즘에 잘못된 연산이 발생할 수 있다. 이를 방지하기 위해 어플리케이션(100)은 독립적인 스레드(Thread) 형태로 동작할 수 있다. 어플리케이션(100)은 복수의 스레드로 구성될 수 있다. 복수의 스레드는 일련의 순서대로 동작할 수 있다. 복수의 스레드 각각은 주기적으로 동작할 수 있다.
어플리케이션(100)은 복수의 스레드 각각의 기능 수행을 요청하는 경우, 주기성을 가지는 이벤트 신호를 생성할 수 있다. 이벤트 신호는 제1 이벤트 신호(Event1)와 제2 이벤트 신호(Event2)를 포함할 수 있다. 제1 이벤트 신호(Event1)는 20ms 의 주기를 가질 수 있다. 제2 이벤트 신호(Event2)는 40ms의 주기를 가질 수 있다. 이벤트 신호는 복수의 스레드 개수에 따라 생성될 수 있다.
태스크 실행 시스템(200)은 일종의 소프트웨어 프로그램일 수 있다. 어플리케이션(100)으로부터 스레드의 기능 수행 요청을 위한 이벤트 신호를 수신할 수 있다. 태스크 실행 시스템(200)은 어플리케이션(100)의 스레드의 기능을 수행할 태스크 정보가 포함되는 이벤트 체인 테이블을 구비할 수 있다. 이벤트 체인 테이블은 태스크 리스트, 태스크 주기, 태스크 우선 순위, 및 태스크 실행 순서를 포함할 수 있다. 태스크 실행 시스템(200)은 이벤트 체인 테이블을 기초로 태스크를 실행할 수 있다.
태스크 실행 시스템(200)의 세부 구성은 도 2를 통해 후술한다.
도 2는 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 시스템의 구성도이다.
도 2를 참고하면, 태스크 실행 시스템(200)은 태스크 정보 추출부(210), 메모리 할당부(220), 실행 주기 설정부(230), 코어 설정부(240), 태스크 실행부(250), 및 대기시간 제공부(260)를 포함할 수 있다.
태스크 정보 추출부(210)는, 어플리케이션(100)으로부터 이벤트 신호를 수신할 수 있다. 태스크 정부 추출부(210)는 이벤트 신호를 수신하면 미리 마련된 이벤트 체인 테이블로부터 태스크 정보를 추출할 수 있다. 일 실시예에 있어서, 태스크 정보 추출부(210)는 파이썬 툴(Python tool)일 수 있다. 태스크 정보 추출부(210)는 추출한 태스크 정보를 이용하여 C 소스 코드(Source code)를 생성할 수 있다.
메모리 할당부(220)는, 이벤트 체인 테이블로부터 추출된 태스크 정보를 메모리 영역에 할당할 수 있다.
실행 주기 설정부(230)는, 이벤트 체인 테이블로부터 추출된 태스크 정보를 이용하여 태스크 실행 주기를 설정할 수 있다.
코어 설정부(240)는 전자제어유닛(1)의 복수의 코어 중에서 태스크를 실행할 소정의 코어를 설정할 수 있다. 코어 설정부(240)는 태스크 량을 고려하여 코어를 설정할 수 있다.
태스크 실행부(250)는, 설정된 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행할 수 있다. 태스크 실행부(250)는 태스크 우선 순위 및 태스크 실행 순서를 기초로 태스크 리스트에 포함되는 복수의 태스크를 순서대로 실행할 수 있다. 태스크 실행부(250)는 어느 하나의 태스크 실행이 완료되면, 태스크 대기 시간에 따라 다음 태스크 실행을 대기할 수 있다. 태스크 실행부(250)는 이벤트 신호가 주기적으로 발생함에 따라 태스크 리스트의 복수의 태스크를 반복 실행할 수 있다.
대기시간 제공부(260)는, 태스크 대기 시간을 태스크 실행부(250)에 제공할 수 있다. 태스크 대기 시간은 사용자의 필요에 따라 적절히 설정될 수 있다. 이를 통해, 별도의 하드웨어 타이머(Timer)의 절대적인 시간을 모니터링하는 구성요소 없이도, 태스크 실행부(250)는 태스크 대기 시간만큼 대기한 후에 이벤트 체인 테이블에 입력된 태스크 주기에 따라 태스크를 실행할 수 있다.
이하, 종래 기술 대비 본 발명의 효과에 대해 설명하면, 일 실시예에 있어서, 복수의 태스크를 수행하는 경우, 복수의 태스크를 복수의 코어에 할당시키는 경우가 있다. 종래에는 메인 코어(Main Core)에서 스케줄링 테이블의 루틴에 따라 태스크가 수행되어야 한다. 메인 코어의 태스크가 정상적으로 종료되고, 다시 수행되기 위해서는 코어 사이의 통신 규약이 고려되어야 한다.
반면에, 본 발명에 따른 태스크 실행부(250)는 코어에 배치된 태스크를 런 타임(Rum-time)으로 수행할 때, 태스크 수행 종료 후 다시 수행하기 위해 다른 코어를 고려하지 않고 태스크 대기 시간만 대기하면 된다. 이로 인해 종래 기술대비 작은 시스템 부하가 발생하는 효과가 있다.
도 3은 본 발명의 바람직한 실시예에 따른 차량용 운영체제의 태스크 실행 방법의 순서도이다.
도 2, 및 도 3을 참고하면, 차량용 운영체제의 태스크 실행 방법은, 이벤트 신호 수신 단계(S310), 태스크 정보 추출 단계(S320), 메모리 할당 단계(S330), 태스크 실행 주기 설정 단계(S340), 태스크 실행 단계(S350), 대기 단계(S360), 신호 판단 단계(S370), 및 실행 종료 단계(380)를 포함할 수 있다.
이벤트 신호 수신 단계(S310)에서, 태스크 정보 추출부(210)는 어플리케이션으로부터 이벤트 신호를 수신할 수 있다.
태스크 정보 추출 단계(S320), 태스크 정부 추출부(210)는 미리 마련된 이벤트 체인 테이블로부터 수신한 이벤트 신호와 관련한 태스크 정보를 추출할 수 있다.
메모리 할당 단계(S330)에서, 메모리 할당부(220)는 추출한 태스크 정보를 메모리에 할당할 수 있다. 이후 태스크 정보는 할당된 메모리로부터 불러올 수 있다.
태스크 실행 주기 설정 단계(S340)에서, 실행 주기 설정부(230)는 태스크 정보를 이용하여 태스크 실행 주기를 설정할 수 있다. 실행 주기 설정부(230)는 태스크 각각의 주기를 고려하여 태스크 실행 주기를 설정할 수 있다.
태스크 실행 단계(S350)에서, 태스크 실행부(250)는 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행할 수 있다.
대기 단계(S360)에서, 태스크 실행부(250)는 어느 하나의 태스크 실행이 완료되면 다음 태스크 실행을 위해 태스크 대기 시간만큼 대기할 수 있다.
신호 판단 단계(S370)에서, 태스크 실행부(250)는 이벤트 신호의 주기적인 발생이 계속되는 지를 판단할 수 있다. 태스크 실행부(250)는, 이벤트 신호의 주기적인 발생이 계속되는 경우, 태스크 실행 단계(S350)에서 다음 태스크를 수행할 수 있다.
실행 종료 단계(380)에서, 태스크 실행부(250)는 이벤트 신호의 주기적인 발생이 종료되는 경우, 태스크 실행을 종료할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.
1: 전자제어유닛
10: 운영체제
100: 어플리케이션
200: 태스크 실행 시스템
210: 태스크 정보 추출부
220: 메모리 할당부
230: 실행 주기 설정부
240: 코어 설정부
250: 태스크 실행부
260: 대기시간 제공부

Claims (11)

  1. 어플리케이션으로부터 이벤트 신호를 수신하면, 미리 마련된 이벤트 체인 테이블로부터 상기 이벤트 신호와 관련한 태스크 정보를 추출하는 태스크 정보 추출부;
    추출된 상기 태스크 정보를 이용하여 태스크 실행 주기를 설정하는 실행 주기 설정부;
    상기 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행하는 태스크 실행부; 및
    상기 어느 하나의 태스크 실행이 완료되면, 다음 태스크 실행을 대기하도록 태스크 대기 시간을 상기 태스크 실행부에 제공하는 대기 시간 제공부;
    를 포함하고,
    추출된 상기 태스크 정보를 메모리 영역에 할당하는 메모리 할당부; 및
    상기 태스크를 실행할 소정의 코어를 설정하는 코어 설정부;
    를 더 포함하고,
    상기 태스크 정보는, 태스크 리스트, 태스크 주기, 태스크 우선 순위, 및 태스크 실행 순서를 포함하고,
    상기 이벤트 신호는 주기적인 신호이고,
    상기 태스크 실행부는,
    상기 태스크 우선 순위, 및 상기 태스크 실행 순서를 기초로 상기 태스크 리스트에 포함되는 복수의 태스크를 순서대로 실행하며,
    상기 태스크 리스트에 포함된 어느 하나의 태스크 실행이 완료되면, 상기 태스크 대기 시간에 따라 다음 태스크 실행을 대기하는 것을 특징으로 하는 차량용 운영체제의 태스크 실행 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    상기 태스크 실행부는,
    상기 이벤트 신호가 주기적으로 발생함에 따라 상기 태스크 리스트의 태스크를 반복 실행하는 것을 특징으로 하는 차량용 운영체제의 태스크 실행 시스템.
  8. 태스크 정보 추출부가, 어플리케이션으로부터 이벤트 신호를 수신하면, 미리 마련된 이벤트 체인 테이블로부터 상기 이벤트 신호와 관련한 태스크 정보를 추출하는 태스크 정보 추출 단계;
    실행 주기 설정부가, 추출된 상기 태스크 정보를 이용하여 태스크 실행 주기를 설정하는 태스크 실행 주기 설정 단계;
    태스크 실행부가, 상기 태스크 실행 주기에 따라 복수의 태스크 중에서 어느 하나의 태스크를 실행하는 태스크 실행 단계; 및
    상기 태스크 실행부가, 상기 어느 하나의 태스크 실행이 완료되면, 다음 태스크 실행을 위해 미리 마련된 태스크 대기 시간만큼 대기하는 대기 단계;
    를 포함하고,
    상기 태스크 정보 추출 단계 이전에, 상기 태스크 정보 추출부가 어플리케이션으로부터 이벤트 신호를 수신하는 이벤트 신호 수신 단계;
    상기 태스크 정보 추출 단계 이후에, 메모리 할당부가 상기 태스크 정보를 메모리에 할당하는 메모리 할당 단계;
    상기 대기 단계 이후에, 상기 태스크 실행부가 상기 이벤트 신호의 주기적인 발생이 계속되는 지를 판단하는 신호 판단 단계; 및
    상기 신호 판단 단계 이후에, 상기 태스크 실행부가 상기 이벤트 신호의 주기적인 발생이 종료되는 경우, 태스크 실행을 종료하는 실행 종료 단계;
    를 더 포함하고,
    상기 태스크 실행 단계는,
    상기 태스크 실행부가 상기 이벤트 신호의 주기적인 발생이 계속되는 경우, 상기 태스크 대기 시간만큼 대기한 이후에 다음 태스크를 실행하는 것을 특징으로 하는 차량용 운영체제의 태스크 실행 방법.
  9. 삭제
  10. 삭제
  11. 삭제
KR1020200176522A 2020-12-16 2020-12-16 차량용 운영체제의 태스크 실행 시스템 및 방법 KR102497258B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200176522A KR102497258B1 (ko) 2020-12-16 2020-12-16 차량용 운영체제의 태스크 실행 시스템 및 방법
US17/513,295 US20220188153A1 (en) 2020-12-16 2021-10-28 System and method of executing task of operating system for vehicle
DE102021131057.1A DE102021131057A1 (de) 2020-12-16 2021-11-26 System und Verfahren zur Ausführung einer Aufgabe eines Betriebssystems für ein Fahrzeug
CN202111444599.4A CN114637597A (zh) 2020-12-16 2021-11-30 车辆用操作系统的任务执行系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200176522A KR102497258B1 (ko) 2020-12-16 2020-12-16 차량용 운영체제의 태스크 실행 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220086245A KR20220086245A (ko) 2022-06-23
KR102497258B1 true KR102497258B1 (ko) 2023-02-06

Family

ID=81847073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200176522A KR102497258B1 (ko) 2020-12-16 2020-12-16 차량용 운영체제의 태스크 실행 시스템 및 방법

Country Status (4)

Country Link
US (1) US20220188153A1 (ko)
KR (1) KR102497258B1 (ko)
CN (1) CN114637597A (ko)
DE (1) DE102021131057A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102188738B1 (ko) * 2019-12-09 2020-12-08 현대오트론 주식회사 오토사 운영체제의 알람 오프셋 최적화 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100807A (ja) * 1999-09-29 2001-04-13 Matsushita Electric Ind Co Ltd タスクスケジューリング方法、タスクスケジューリング装置、プログラム生成方法、プログラム生成装置、プログラム実行方法、プログラム実行装置、シーケンス制御方法、シーケンス制御装置、及び記録媒体
JP2011100338A (ja) 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
JP2012194681A (ja) 2011-03-15 2012-10-11 Omron Corp 制御装置およびシステムプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
KR101353065B1 (ko) 2011-11-11 2014-01-20 재단법인대구경북과학기술원 실시간 운영체제의 테스크 스케줄링 테이블을 이용한 테스크 관리장치 및 관리방법
JP7082363B2 (ja) * 2017-12-12 2022-06-08 株式会社三共 間仕切りパネル

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100807A (ja) * 1999-09-29 2001-04-13 Matsushita Electric Ind Co Ltd タスクスケジューリング方法、タスクスケジューリング装置、プログラム生成方法、プログラム生成装置、プログラム実行方法、プログラム実行装置、シーケンス制御方法、シーケンス制御装置、及び記録媒体
JP2011100338A (ja) 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
JP2012194681A (ja) 2011-03-15 2012-10-11 Omron Corp 制御装置およびシステムプログラム

Also Published As

Publication number Publication date
CN114637597A (zh) 2022-06-17
KR20220086245A (ko) 2022-06-23
US20220188153A1 (en) 2022-06-16
DE102021131057A1 (de) 2022-06-23

Similar Documents

Publication Publication Date Title
US10033816B2 (en) Workflow service using state transfer
US8924462B2 (en) Apparatus for controlling service of network robot system based on remote procedure calls and method thereof
US9223566B2 (en) Managing a set of software modules in a software runtime environment
US10846124B2 (en) Communication method, apparatus and system for virtual machine and host machine
US10423442B2 (en) Processing jobs using task dependencies
US11699073B2 (en) Network off-line model processing method, artificial intelligence processing device and related products
WO2015131542A1 (zh) 数据处理方法、装置和系统
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
KR102497258B1 (ko) 차량용 운영체제의 태스크 실행 시스템 및 방법
CN111026541A (zh) 渲染资源调度方法、装置、设备及存储介质
CN109964206B (zh) 用于处理任务的设备和方法
CN107621975B (zh) 基于java timer高可用性的定时器逻辑实现方法
EP4044043A1 (en) Storage process running method and apparatus, database system, and storage medium
CN115220887A (zh) 调度信息的处理方法、任务处理系统、处理器和电子设备
US9911476B2 (en) Systems and methods for voice data processing
CN115599507A (zh) 数据处理方法、执行工作站、电子设备和存储介质
CN113704355A (zh) 数据同步方法、电子设备及存储介质
CN110908805A (zh) 一种信息分发方法、机器人及存储介质
CN110737533A (zh) 一种任务调度方法、装置及电子设备和存储介质
CN111857538A (zh) 数据处理方法、装置及存储介质
US11086666B2 (en) Activating tasks in an operating system using activation schemata
US20220113961A1 (en) Generation of code for a system
KR102497257B1 (ko) 오토사 플랫폼의 메인 기능과 태스크의 매핑 방법
CN114116181B (zh) 一种分布式的数据分析任务调度系统及方法
US9588924B2 (en) Hybrid request/response and polling messaging model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant