KR100837787B1 - 에러제한을 가진 제어 및 명령타입의 다중테스크 응용을위한 결정적 실시간 실행을 만드는 보안방법 - Google Patents

에러제한을 가진 제어 및 명령타입의 다중테스크 응용을위한 결정적 실시간 실행을 만드는 보안방법 Download PDF

Info

Publication number
KR100837787B1
KR100837787B1 KR1020037006432A KR20037006432A KR100837787B1 KR 100837787 B1 KR100837787 B1 KR 100837787B1 KR 1020037006432 A KR1020037006432 A KR 1020037006432A KR 20037006432 A KR20037006432 A KR 20037006432A KR 100837787 B1 KR100837787 B1 KR 100837787B1
Authority
KR
South Korea
Prior art keywords
task
time
execution
system layer
kernel
Prior art date
Application number
KR1020037006432A
Other languages
English (en)
Other versions
KR20030063378A (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 꼼미사리아 아 레네르지 아토미끄
Publication of KR20030063378A publication Critical patent/KR20030063378A/ko
Application granted granted Critical
Publication of KR100837787B1 publication Critical patent/KR100837787B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 에러제한을 가진 결정적 제어 및 명령 타입의 다중응용 실시간 실행을 만들기 위한 보안방법에 관한 것이며, "call to system layer"타입의 명령어에 의해 접근이 보호되는 특권실행모드를 포함하는 중앙처리유닛의 처리기로 조합된 타임-트리거(time-trigger) 구조방식의 관리시스템에 의해 구현된다.
시스템 계층으로 고려중인 응용태스크로부터 인가된 유일한 시스템 계층 호출은 당해 태스크의 제어그래프에서 노드의 변화를 보고하도록 구성된다.
호출이 응용상수테이블에서 설명되는 대로 제어그래프의 실행경로에 대하여 정상적이라는 것을 시스템 계층이 확인하는 때에, 시스템 계층에 의해 당해 노드를 실행되어지기 위한 모든 작동은 시스템 계층과 연계된 응용상수테이블에 의해 미리 결정된다.
실시간 실행 이전에, 고려중인 응용태스크 리스트의 사전명령은 실시간 실행 동안 시스템 계층에 의해 호출되는 때에, 태스크 리스트는 태스크의 새로운 시간특징, 특히 시스템 계층에 의해 산출되는 것으로서, 태스크의 최초시작시간 d(i) 및 태스크의 최종마침시간 f(i)에 의존하는 명령된 방법으로 업데이트 되는 것을 순차적으로 보증하는 마이크로-커넬에서 수행되어 진다.
마이크로-커넬, 태스크, 제어그래프

Description

에러제한을 가진 제어 및 명령타입의 다중테스크 응용을 위한 결정적 실시간 실행을 만드는 보안방법{Security method making deterministic real time execution of multitask applications of control and command type with error confinement}
본 발명은 조절된 시간이 경과할 때마다 중단신호를 송신하는 최소한 하나의 클록(clock) 및 제어시스템의 입·출력을 통제하기 위한 최소한 하나의 주변제어기 세트, 주기억장치, 클록중단신호를 수신할 수 있는 처리기를 적어도 하나 갖는 중앙처리유닛을 구비하는 제어시스템 속에 제어 및 명령타입의 다중태스크 응용을 위한 결정적 실시간 실행을 만들기 위한 보안방법에 관한 것이다.
실시간에서 합성 및 조정되는 모든 처리과정들과 더불어, 데이터를 교환해야 하고, 다른 시간비율을 가진 다양한 처리과정들(입/출력, 계산, 등)의 다중태스크 통제를 위한 시스템에서, 예를 들어, 서로간에 상호작용을 하는 모든 태스크의 모든 동작과 유일하고, 불변하는 환경 속에서 결정적인 방법으로 실시간에서 처리과정을 실행할 수 있는 것이 바람직하다.
또한, 보안이 만들어지는 것이 실시간 처리과정들의 실행을 위해 바람직하다.
예를 들어, 실시간 처리과정의 실행은 다양한 태스크가 상대장애에 독립적이나, 그럼에도 불구하고 변칙적인 운영하에서도 가능한 결정성을 유지하는 것을 보장하기 위한 방법으로 변형을 제한 및 보호하는 것을 포함하는 것과 같이 실시간 처리과정들의 실행을 위해 보안이 만들어지는 것이 바람직하다.
수많은 다중태스크 통제시스템이 이미 알려진바 있다. 다만, 상기 통제시스템들의 대부분은 비동기적이고 따라서, 비결정적이다.
게다가, 상기 시스템들은 어떤 장애모드가 전파하는 것을 방지하지 못하는 디자인으로 구성된다.
또한, 프랑스 특허(제FR-A-2 771 828호)공보에서, 시간과 공간을 구분함으로써, 항상 정상적으로 실행하는 태스크를 식별하는 장애방지시스템을 구비한 다중태스크 컴퓨터가 공지된 바 있다.
상기 발명은 순환적 명령타입의 시스템에 관한 것이며, 분할은 장애의 전파를 제한하기 위해 사용된다. 그러나, 분할 사이에는 더이상 어떠한 통신도 없으며, 예를 들어 총 레벨에서 더이상 어떠한 다중태스크 통제도 없다.
또한, 여전히 분할 내부는 장애 전파의 가능성이 있으며, 이는 최대한의 보안이 확보되지 않음을 의미한다.
프랑스 특허(FR-A-2 771 828)에서, 다중태스크 통제와 양립하지 않는 것으로 보이는 도달 결정성 비헤이비어(obtaining deterministic behavior)가 공지된 바 있다.
본 발명의 목적은 종래 기술의 문제점을 해결하고, 더 잘 융합되고, 더 성능이 향상되고, 더 안전한 제어시스템을 획득이 가능하게 하는데 있다.
보다 상세하게는, 본 발명의 목적은 에러제한과 장애허용을 가지는 컴퓨터에 의한 결정적인 방법으로 실시간에 안전한 다중태스크 실행을 구하는 데 있다.
또한, 본 발명은 명시적(시각소인(time-stamp)메시지)이고, 암시적(시각소인 데이터의 스트림(stream))인 통신을 가지고, 비순환적 및 순환적인 태스크를 위해 다중태스크 응용의 실시간에 매우 결정적인 실행을 보증하는 보안장치를 제공하는 데 있다.
상기 목적들은 조절된 시간이 경과할 때마다, 중단신호 sh 를 송신하는 최소한 하나의 첫 번째 클록; 클록중단신호 sh 를 수신할 수 있는 최소한 하나의 처리기를 가진 중앙처리유닛(CPU); 주기억장치; 및 제어시스템의 입력, 출력을 통제하기 위한 주변제어를 위한 하나의 제어기 세트를 포함하는 구성으로, 결정성 제어시스템에서 제어 및 명령타입의 다중태스크 응용의 실시간 실행을 만드는 보안방법에 의해 달성하였다.
하기 단계를 포함하는 것을 특징으로 하는 방법;
a) 주어진 응용의 각 태스크를 위해, 시스템 계층에 호출을 필요로 하는 태스크의 각 시간동기점으로부터 인가된 모든 연결고리를 저장하고, 상기 연결고리는 당해의 태스크에 의해 만들어진 시스템 계층 호출 실행을 모니터하기 위해 제어그래프에 의해 표현되고, 각 제어그래프는 제어시스템의 시스템계층에 대한 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
b) 각 태스크 제어그래프의 각각의 노드를 위해, 시스템 계층의 호출매개변수에 대한 호출의 특징(nature)을 저장하고, 최초시작시간 d(i) 및 최종마침시간 f(i)가 업그레이드될 수 있도록 시간 매개변수를 포함하는 단계;
c) 각 태스크를 위해 조합된 그래프에서 초기 노드를 저장하는 단계;
d) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전 각 태스크를 위해, 초기노드와 당해 태스크의 초기상태를 표현하는 초기인스턴트를 초기화하는 단계;
e) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전, 원자 마이크로-커넬(micro-kernel)에서 미리 명령된 태스크 리스트에 의해 각각의 태스크의 시작 명령을 초기화하는 단계;
f) 타임-트리거 모드에서 응용의 실행을 시작하기 위한 응용의 첫 인스턴트에, 마이크로-커넬에 호출을 구성하는 클록중단신호 sh 를 송신하기 위한 첫 번째 클록을 세팅하는 단계;
g) 첫 클록이 세팅된 후 정상적으로 작동하는 동안, 마이크로-커넬로 각각의 호출하는 때에, 마이크로-커넬에 의해 첫 번째 클록이 다시 세팅하게 되며, 시스템 계층에 의해 또는 중단신호 sh 를 처리함에 의해 마이크로-커넬로 호출하는 동안, 태스크의 시간특징인 태스크의 최초시작시간 d(i) 및 최종마침시간 f(i)에 의존하는 명령된 방법 속에 마이크로-커넬이 태스크의 리스트를 업데이트하는 단계로 접어들게 하며, 리스트를 업데이트한 후, 일깨워질(wake-up) 필요가 있는 태스크에 대해 마이크로-커넬이 최근미래인스턴트를 산출하게 하고, 첫 번째 클록이 마이크 로-커넬을 떠나고, 상기 태스크를 일깨우는 상기 최근미래인스턴트를 기초로 마이크로 -커넬에 의해 첫 번째 클록이 배치되게 하는 단계; 및
h) 태스크를 실행하는 동안, 상기 태스크 제어그래프의 노드가 접속되는 때에만 시스템 계층으로 호출을 하게 하며, 또한 인수로써, 많은 노드를 통과하는 태스크가 실행되어지는 제어그래프에 따라, 상기 연결고리가 인가되지 않는다면 시스템 계층 속에 변형적 진행을 시작하기 위하여 또는 상기 연결고리가 인가된다면 연속적으로 실행하기 위하여, 상기 시스템 계층 호출에 대응하는 노드로부터 연결고리가 인가되는지 여부를 확인하기 위한 검사와 함께 시스템 계층 속의 입구로 진행하며, 시스템 계층으로부터 마이크로-커넬로 호출용 초기시작시간 d(i) 및 최종마침시간 f(i)을 포함하면서 실행되는 시간매개변수를 업데이트하고 상기 태스크가 다시 제어그래프의 노드에 접속하기 전에 현재의 태스크의 일반적인 실행을 계속하는 단계.
보다 상세하게는, 본 발명의 보안방법은 주소매김 접근권한을 제어하기 위한 메모리보호유닛을 추가로 포함하는 제어시스템에 적용된다. 그리고, 메모리보호유닛은 접근을 허용하는 확인된 주소 av 를 배타적 방법으로 생성하거나 또는 예외신호 se 를 인가된 주소의 지정 CPU로 송신함으로써, 수용 가능한 메모리공간에 접근하기 위한 처리기의 문맥실행의 권한과 CPU에 의해 공급되는 요청주소 ad 에 응답한다.
또한, 본 발명인 보안방법은 하기 단계를 추가로 포함한다:
i) 준비단계 동안, 주어진 응용을 위해, 명령어들이 태스크를 구성하는 응용 에 대한 특정코드로 되어 있는지 또는 명령어들이 시스템 계층 속에 태스크의 확장을 구성하는 시스템 계층의 일반코드에 위치하는지에 의존하여 첫 번째 또는 두 번째 문맥실행을 구성하도록, 마이크로-커낼, 각 태스크 응용, 시스템 계층 속에 각 태스크 확장을 위한 각 메모리 세그먼트에 접근권한을 저장하는 단계;
j) 주어진 응용을 위해, 타임-트리거 작동모드속에 실시간 실행을 시작하기 전에, 시스템 계층 속에 각 태스크와 태스크의 확장을 위해, 첫 번째와 두 번째 문맥실행과 마이크로-커넬을 초기화하는 단계; 및
k) 태스크의 실행 동안, 태스크의 문맥실행으로부터 시스템 계층 속에 태스크의 확장을 위한 문맥실행으로 통과를 가능하게 하는 특권실행모드로 통과하기 위한 명령어를 사용하는 시스템 계층으로 호출을 만들고, 상기 시스템 호출에 대응하는 노드로부터 연결고리가 인가되는 것을 검증한 후, 또한 시스템 계층으로부터 마이크로-커넬에 호출용 태스크의 시간매개변수를 업데이트한 후, 시스템 계계층 속에장 실행문맥으로부터 태스크의 실행문맥까지 통과하는 실행이 가능하게 하는 비특권모드로 돌아가기 위한 명령어에 의해 태스크 코드로 복귀하는 단계.
바람직하게는, 각 응용태스크의 실행문맥은 쌍으로 구분되는 것이 것이 좋다.
본 발명 방법의 특징에 따르면, 시스템 계층 속으로 응용태스크의 실행문맥의 확장은 응용코드속에 태스크의 실행문맥에 접근할 수 있도록 쓰지 않는다.
태스크 제어그래프의 코딩은 어떤 응용태스크의 실행 제어를 위한 메커니즘(mechanism)에서 또는 상기 태스크 그 자체의 실행에서 통상적인 원인에 의해 발생하는 어떤 장애를 예방한다.
본 발명 방법은 하기의 단계를 추가로 포함할 수도 있다:
l) 초기단계 동안, 각 주어진 응용을 위해, 그리고 상기 태스크에서 모든 인가된 연결고리를 위해, 태스크의 제어그래프속에 하나의 노드로부터 다른 노드로 가기 위해 필요한 최대실행시간을 위한 슈프리멈(supremum)을 이루는 할당시간 및 태스크의 확장 속에서 시스템 계층의 일반적인 코드를 실행하기 위해 소요되는 시간을 저장하는 단계; 및
m) 정상적으로 작동하는 동안, 첫 번째 클록이 배치된 후, 시간중단신호 sh 에 의해 트리거되고 첫 번째 클록을 다시 세팅하게 하는 마이크로-커넬로 호출이 있는 경우, 마이크로-커넬로 호출을 트리거하는 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련되는지를 확인하기 위해 검사하고, 만약 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련된다면 마이크로-커넬을 변형적으로 처리운용하게하고, 시간중단신호 sh 가 할당시간을 위반하는 신호와 관련되지 않는다면 마이크로-커넬이 태스크 리스트를 업데이트 하게 하고, 태스크 리스트를 업데이트한 후, 마이크로-커넬이 태스크가 일깨워지기 위해 필요한 최근 미래인스턴트 뿐만 아니라, 리스트를 업데이트 하는 동안 결정되고, 마이크로-커넬을 내보낼 때 실행될 태스크에 부여된 할당시간이 만기될 미래인스턴트를 산출하게 하고, 마이크로-커넬이 태스크가 일깨워지거나 변형적인 작동 때문에 할당시간을 위반하는 시도가 탐지되도록 상기 최근 미래인스턴트에 첫 번째 클록을 세팅하게 하고, 첫 번째 클록을 세팅한 후 마이크로-커넬을 떠나는 단계.
두 번째 클록이 제어시스템에서 구현되었을 때, 본 발명의 특징에 따르면, 마이크로-커넬은 시간신호를 비교함으로써 첫 번째 클록에 의해 트리거되면서 시간의 흐름을 모니터하기 위한 두 번째 클록에 접근하게 한다.
제어 및 명령타입의 다중태스크 응용 통신을 위한 결정적 실시간 실행을 만들기 위한 본 발명 보안방법은 하기의 단계를 추가로 포함하도록 구성할 수 있다:
n) 초기단계동안, 주어진 응용의 각 태스크를 위해, 동기시간 및 시스템 계층으로 호출을 필요로 하는 다른 응용 태스크들과의 통신을 위한 태스크 포인트의 모든 인가된 연결고리를 저장하고, 상기 인가된 연결고리는 당해 태스크로부터 만들어진 시스템 계층 호출의 실행을 위한 제어그래프에 의해 표현되고, 각 그래프는 시스템 계층으로 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
o) 태스크들 사이에 데이터를 교환하기 위해 필요한 각각의 버퍼존(buffer zone)을 저장하고, 버퍼존의 크기, 버퍼존을 포함하는 소자의 크기, 버퍼존의 위치 도는 기본주소, 및/또한 확인된 통신을 위해 필요한 정보전송을 할 수 있는 버퍼존들 사이의 관계를 특정하는 단계;
p) 각 버퍼존을 위해, 버퍼존의 소자들의 초기 값을 저장하는 단계;
q) 주어진 응용을 위해 타임-트리거 작동모드 속에 실시간 실행을 시작하기 전에, 메모리 속에 이전에 저장된 값들을 가진 버퍼존의 소자의 값을 초기화하는 단계; 및
r) 태스크를 실행하는 동안, 태스크 제어그래프의 노드가 접속되었을 때, 시스템 계층 호출을 만드는 동안, 그리고 현재 실행되어지는 태스크의 제어그래프에 따라, 송출 시스템 계층 호출에 대응하는 노드로부터 연결고리가 인가된 것을 확인한 후, 버퍼존이 이전에 저장된 호출 성질(nature)의 기능으로써, 연속적으로 업데이트되도록 하고, 태스크의 최초시작시간 d(i) 와 최종마침시간 f(i)를 포함하면서 실행되어지는 태스크의 시간매개변수의 필요로써 점층적으로 업데이트를 수행하는 단계.
본 발명의 특징에 따르면, 시스템 계층에서 단지 버퍼존, 두개의 태스크 실행문맥 확장에 의해 단지 공유할 수 있는 메세지 전송에 대응하는 동적 통신을 위해 주어진 버퍼존만이 태스크 응용의 실행문맥의 확장에 의해 공유되는 것이 허용된다. 반면, 두개 이상의 태스크 실행문맥 연장에 의해 공유될 수 있는 시각 소인(time-stamped) 데이터의 스트림에 대응하는 정적통신을 위해 주어진 버퍼존은 시스템 계층 속에서 문맥확장을 가지는 태스크에 의해 단지 수정될 수 있다.
본 발명 보안방법은 안전에 관한한 매우 주요한 제어 및 명령응용에 적용할 수 있다.
특히, 본 발명 방법은 원자로용, 안전등급레벨 (1E)의 제어 및 명령시스템에 적용될 수 있다.
본 발명에 대한 다른 특징과 장점은 첨부한 도면과 관련된 실시예로써 주어진, 구체적인 실시예를 통해 하기에 자세히 설명한다.
도 1은 본 발명인 보안방법에 따른 제어시스템을 단순화한 구조다이어그램 이며,
도 2는 본 발명인 보안방법에 따른 마이크로-커넬과 시스템 계층에 관한 코드가 분산되는 방법을 자세하게 보여주는 다이어그램이며,
도 3은 본 발명인 보안방법에 따른 실시간 태스크 실시예 처리에 대응하는 플로우차트이며,
도 4는 도 3의 플로우차트에 대응하는 제어그래프이며,
도 5는 본 발명 보안방법에서 사용하는 실시간 태스크의 도 3 및 도 4의 실시예를 처리하는 동안 조합된 시간값과 타이밍도표의 실시예이며,
도 6은 최초시작시간 d(i)와 최종마침시간 f(i)가 수행되는 작동의 상세를 포함하면서 도 4의 제어그래프의 노드테이블이며,
도 7은 본 발명 보안방법에 따른 두 번째 태스크와 통신하기 위한 첫 번째 실시간 태스크의 실시예 처리에 대응하는 플로우차트이며,
도 8은 도 7의 플로우차트에 대응하는 제어그래프이며,
도 9는 도 7의 플로우차트에서 보여주는 첫 번째 실시간 태스크와 통신을 위한 두 번째 실시간 태스크의 실시예 처리에 대응하는 플로우차트이며,
도 10은 도 9의 플로우차트에 대응하는 제어그래프이며,
도 11은 본 발명 보안방법에 따라, 도 7 내지 도 10에서 보여지는 상호통신 실시간 태스크의 실시예 처리를 하는 동안, 조합된 시간값과 타이밍도표의 실시예이며,
도 12와 도 13은 최초시작시간 d(i) 및 최종마침시간 f(i)에서 메세지가 수행되는 작동의 설명을 포함하는 도 8 및 도 10의 제어그래프의 노드테이블이며,
도 14는 본 발명에 따른 실시예에서 메모리영역에 대한 처리기의 접근권한을 보여주고, 태스크, 시스템 계층 또는 마이크로-커넬을 실행하고 있는지에 의존하는상세 테이블이다.
본 발명 보안방법이 적용할 수 있는 제어시스템을 위해 단순화된 타입의 구조의 실시예를 보여주는 도 1을 참조하여 설명한다.
제어시스템은 프로그램 가능시간이 경과할 때마다, 라인(22)을 따라 중단신호 sh 를 전송하는 최소한 하나의 첫 번째 클록(14)을 포함한다.
중앙처리유닛(CPU)(10)은 라인(22) 위로 중단신호 sh 와 라인(21)을 따라 데이터를 전송할 수 있는 처리기를 적어도 하나 가지고 있다.
CPU(10)는 램(13)뿐만 아니라, 롬(12)을 포함하는 주기억장치로 라인(23,24) 을 따라 주소신호를 전송하기 위해 제공된다.
롬(12)은 응용데이터와 연속테이블을 포함하는 정보(B)와 응용관련 프로그램을 포함하는 정보(A)를 적어도 하나 포함한다.
램(13)은 응용프로그램의 작업변수데이터를 포함한다.
1에서 N 주변의 11 에서 1N 제어기는 제어시스템의 입력, 출력의 실시간 통제를 위해 제공된다.
두 번째 클록(15)은 클록(14)의 적합한 작동에 대한 부가적 모니터링을 제공하기 위해 구현될 수 있다.
제어시스템은 주소접근권한을 강화하기 위해 메모리보호유닛(16)을 추가로 포함할 수 있다.
CPU(10)에 의해 공급되는 요청된 주소 ad 에서부터 라인(23)을 따라 메모리보호유닛(16)으로 그리고, 주소를 지정할 수 있는 메모리공간에 접근하기 위한 처리기의 다양한 실행문맥의 권한(D)으로부터 시작하면서, 상기 메모리보호유닛(16)은 라인(14)을 따라 클록(14,15)으로, 11에서 1N 주변처리기로, 메모리(12,13)로 연결되는 접근을 허용하는 확인된 주소 ad 나, 라인(25)을 따라 인가되지 않은 주소를 표시하는 CPU(10)로 연결되는 예외신호 sc 를 독점적인 방법으로 생성한다.
메모리보호유닛은(16)은 CPU(10)의 처리기 속에서 그 자체가 포함될 수 있는 표준 메모리통제유닛(MMU)속에 존재하는 메커니즘에 의해 구성될 수 있다.
적어도 하나의 클록중단신호 sh 와 비인가된 주소지정을 플래깅(flagging)하는 예외신호 se 를 전송할 수 있는 CPU(10)의 처리기는 예를 들어, 갈림명령어 또는 "트랩"에 의해 구성되어 질 수 있는 "call to system layer" 명령어에 의해 접근이 보호되는 실행특권모드를 가지고 있다.
일반적으로, 본 발명은 태스크 그 자체는 순환식이거나 비 순환식인, 명시적 통신 (시각소인(time-stamped) 데이터의 스트림)과 암시적 통신(시각소인 메세지)을 가진 실시간에 안전한 결정성 다중태스크를 위해 타임-트리거 구조(TTA)를 가지는 타입의 시스템 관리에 관한 것이다.
보다 상세하게는, 본 발명 보안방법에서 제어시스템의 시스템 계층으로 호출(특권모드실행 호출에 의해)은 비헤이비어(behavior)가 결정적이고 예측할 수 있다는 것을 보증하고, 에러를 발견하고 검출할 수 있는 특정한 방법으로 관리된다.
본 발명에서, 시스템 계층으로 호출은 하기와 같이 관리된다:
i/ 당해 응용태스크로부터 시스템 계층으로 인가되는 시스템 계층 호출만이 당해 태스크의 제어그래프속에 노드의 변화를 보고하도록 구성하는 호출이다;
ii/ 시스템 계층은 응용의 상수테이블에서 설명되는 제어그래프의 실행경로와 비교될 때, 각각 호출이 정상적이라는 것을 확인한다; 및
iii/ 호출이 정상적일 때, 시스템 계층에 의해 당해 노드로 수행되는 모든 작동이 시스템 계층의 조합된 응용의 상수테이블에 의해 미리 정해진다.
당해 응용의 태스크 리스트는 차후 실시간 실행동안 시스템 계층으로 호출될 때, 태스크의 새로운 시간특징, 특히 시스템 계층에 의해 산출되는 태스크의 최초시작시간 d(i)와 최종마침시간 f(i)에 의해 명령된 방법으로 태스크의 리스트를 업그레이드하도록 제공되는 원자 마이크로-커넬에 대한 실시간 실행 이전에 미리 명령된다.
본 발명의 기본적인 보안방법은 필수적으로 다음 단계를 포함한다:
a) 주어진 응용의 각 태스크를 위해, 시스템 계층에 호출을 필요로 하는 태스크의 각 시간동기점으로부터 인가된 모든 연결고리를 저장하고, 상기 연결고리는 당해의 태스크에 의해 만들어진 시스템 계층 호출 실행을 모니터하기 위해 제어그래프에 의해 표현되고, 각 제어그래프는 제어시스템의 시스템계층에 대한 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
b) 각 태스크 제어그래프의 각각의 노드를 위해, 시스템 계층의 호출매개변수에 대한 호출의 특징을 저장하고, 최초시작시간 d(i) 및 최종마침시간 f(i)가 업그레이드될 수 있도록 시간매개변수를 포함하는 단계;
c) 각 태스크를 위해 조합된 그래프에서 초기 노드를 저장하는 단계;
d) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전 각 태스크를 위해, 초기노드와 당해 태스크의 초기상태를 표현하는 초기인스턴트를 초기화하는 단계;
e) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전, 원자 마이크로-커넬(micro-kernel)에서 미리 명령된 태스크 리스트에 의해 각각의 태스크의 시작 명령을 초기화하는 단계;
f) 타임-트리거 모드에서 응용의 실행을 시작하기 위한 응용의 첫 인스턴트에, 마이크로-커넬에 호출을 구성하는 클록중단신호 sh 를 송신하기 위한 첫 번째 클록을 세팅하는 단계;
g) 첫 클록이 세팅된 후 정상적으로 작동하는 동안, 마이크로-커넬로 각각의 호출하는 때에, 마이크로-커넬에 의해 첫 번째 클록이 다시 세팅하게 되며, 시스템 계층에 의해 또는 중단신호 sh 를 처리함에 의해 마이크로-커넬로 호출하는 동안, 태스크의 시간특징인 태스크의 최초시작시간 d(i) 및 최종마침시간 f(i)에 의존하는 명령된 방법 속에 마이크로-커넬이 태스크의 리스트를 업데이트하는 단계로 접어들게 하고 리스트를 업데이트한 후, 일깨워질(wake-up) 필요가 있는 태스크에 대해 마이크로-커넬이 최근미래인스턴트를 산출하게 하고, 첫 번째 클록이 마이크로- 커넬을 떠나고, 상기 태스크를 일깨우는 상기 최근미래인스턴트를 기초로 마이크로 -커넬에 의해 첫 번째 클록이 배치되게 하는 단계; 및
h) 태스크를 실행하는 동안, 상기 태스크 제어그래프의 노드가 접속되는 때에만, 시스템 계층으로 호출을 하게 하고, 또한 인수로써, 많은 노드를 통과하는 태스크가 실행되어지고 제어그래프에 따라, 상기 연결고리가 인가되지 않는다면 시스템 계층 속에 변형적 진행을 시작하기 위하여 또는 상기 연결고리가 인가된다면 연속적으로 실행하기 위하여, 상기 시스템계층 호출에 대응하는 노드로부터 연결고리가 인가되는지 여부를 확인하기 위한 검사와 함께 시스템 계층 속의 입구로 진행하고, 시스템 계층으로부터 마이크로-커넬로 호출용 초기시작시간 d(i) 및 최종마침시간 f(i)를 포함하면서 실행되는 시간매개변수를 업데이트하고, 상기 태스크가 다시 제어그래프의 노드에 접속하기 전에 현재의 태스크의 일반적인 실행을 계속하는 단계.
이상에서 언급한 것처럼, 본 발명의 보안방법이 적용되는 제어시스템은 접근 권한이 미리 정해진 각 세그먼트에 접근하기 위한 각 문맥의 권한테이블과 메모리보호유닛을 포함할 수 있으며, 적합한 장소인 롬에 저장될 수 있다.
각 실행문맥을 위해, 전체시스템의 초기화 단계 동안 문맥의 권한을 정의하는 테이블의 설명이 단지 한번 초기화된다. 그리고, 상기와 같은 시스템 초기화 단계 후 CPU 상에 실행되는 어떤 처리과정도 그 실행문맥 속에 테이블을 가지지 않는다.
본 발명 보안방법은 상기에 정의된 단계들 속에서 발생할 다음 단계를 추가 로 포함할 수 있다:
i) 준비단계 동안, 주어진 응용을 위해, 명령어들이 태스크를 구성하는 응용에 대한 특정코드로 되어 있는지 또는 명령어들이 시스템 계층 속에 태스크의 확장을 구성하는 시스템 계층의 일반코드에 위치하는지에 의존하여 첫 번째 또는 두 번째 문맥실행을 구성하도록, 마이크로-커낼, 각 태스크 응용, 시스템 계층 속에 각 태스크 확장을 위한 각 메모리 세그먼트에 접근권한을 저장하는 단계;
j) 주어진 응용을 위해, 타임-트리거 작동모드속에 실시간 실행을 시작하기 전에, 시스템 계층 속에 각 태스크와 태스크의 확장을 위해, 첫 번째와 두 번째 문맥실행과 마이크로-커넬을 초기화하는 단계; 및
k) 태스크의 실행 동안, 태스크의 문맥실행으로부터 시스템 계층 속에 태스크의 확장을 위한 문맥실행으로 통과를 가능하게 하는 특권실행모드로 통과하기 위한 명령어를 사용하는 시스템 계층으로 호출을 만들고, 상기 시스템 호출에 대응하는 노드로부터 연결고리가 인가되는 것을 확인한 후, 또한 시스템 계층으로부터 마이크로-커넬에 호출용 태스크의 시간매개변수를 업데이트한 후, 시스템 계층 속에 확장 실행문맥으로부터 태스크의 실행문맥까지 통과하는 실행이 가능하게 하는 비특권모드로 돌아가기 위한 명령어에 의해 태스크 코드로 복귀하는 단계.
또한, 본 발명 보안방법은 할당시간에 대해 언급하고 있으며, 시스템 계층 속에서 태스크의 실행문맥 확장으로 진행할 수 있는 특권실행모드의 존재를 고려하여 수정되는 것과 같은 기본방법과 기본방법의 상기에 설명한 단계 속에서 발생하는 다음 단계를 추가로 포함할 수 있다:
l) 초기단계 동안, 각 주어진 응용을 위한, 그리고 상기 태스크에서 모든 인가된 연결고리를 위해, 태스크의 제어그래프속에 하나의 노드로부터 다른 노드로 가기 위해 필요한 최대실행시간을 위한 슈프리멈(supremum)을 이루는 할당시간, 및 태스크의 확장 속에서 시스템 계층의 일반적인 코드를 실행하기 위해 소요되는 시간을 저장하는 단계; 및
m) 정상적으로 작동하는 동안, 첫 번째 클록이 배치된 후, 시간중단신호 sh 에 의해 트리거되고 첫 번째 클록을 다시 세팅하게 하는 마이크로-커넬로 호출이 있는 경우, 마이크로-커넬로 호출을 트리거하는 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련되는지를 확인하기 위해 검사하고, 만약 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련된다면 마이크로-커넬을 변형적으로 처리운용하게하고, 시간중단신호 sh 가 할당시간을 위반하는 신호와 관련되지 않는다면 마이크로-커넬이 태스크 리스트를 업데이트하고, 태스크 리스트를 업데이트한 후, 마이크로-커넬이 태스크가 일깨워지기 위해 필요한 최근미래인스턴트 뿐만 아니라, 리스트를 업데이트 하는 동안 결정되고, 마이크로-커넬을 내보낼 때 실행될 태스크에 부여된 할당시간이 만기될 미래인스턴트를 산출하게 하고, 마이크로 -커넬이 태스크가 일깨워지거나 변형적인 작동 때문에 할당시간을 위반하는 시도가 탐지되도록 상기 최근미래인스턴트에 첫 번째 클록을 세팅하게 하고, 첫 번째 클록을 세팅한 후 마이크로-커넬을 떠나는 단계.
마이크로-커넬속에 응용 태스크 리스트를 업데이트하기 위한 절차는 처리되어지는 태스크에 배정된 할당시간에 참조하여, 바람직한 구현을 고려하는 하기와 같이 특정화된 방법으로 더 암시적으로 만들어 질 수 있다. 그러나, 또한 할당시간에 대한 참조가 생략된다면, 단순화된 기본구현으로 적용될 수 있다.
실행하는 동안 마이크로-커넬로 각각 호출을 위해, 어떠한 당해 태스크의 문맥실행의 시스템 계층 확장이라 하더라도, 두개의 매개변수, 최초시작시간 d(i)와 최종마침시간 f(i)가 태스크 리스트를 업데이트 하는데 관여된다.
과거에 최초시작시간 d(i)를 가지는 실행을 위한 준비가 된 적합한 태스크 리스트와 일깨워지기 위해 쓰고 있거나, 미래에 최종마침시간 f(i)를 가지는 실행을 위한 준비가 되지 않는 부적법한 리스트 두개의 태스크 리스트가 관리된다.
적법한 태스크 리스트는 최종마침시간을 증가하기 위해 명령되고, 부적법한 태스크의 리스트는 최초시작시간 d(i)를 증가시키기 위하여 명령된다.
모든 대기 태스크는 일단 최초시작시간이 도달되면 "준비"상태로 진행하는 것이 보증된다:
α) 만일, 마이크로-커넬로 호출 동안, 태스크의 최초시작시간 d(i)가 미래에 있다면, 태스크가 부적법하고 따라서 명령된 부적법 태스크의 리스크로 전송되며,
상기 시간은 최초시작시간의 명령에 근거하여 태스크가 일깨워지는 미래순간 산출을 가능하게 한다. 최근미래 최초시작시간은 당해 다음 태스크가 (일깨워지기 위해) 적법해질 미래인스턴트를 제공하며;
β) 만일, 반대로 마이크로-커넬로 호출 동안, 당해 태스크의 최초시작시간 d(i)가 과거에 있다면, 태스크는 적법하고 명령된 적법한 태스크 리스트로 전송되 고,
그 후, 마이크로-커넬은 최종마침시간의 명령된 리스트 속에 최근미래 최종마침시간을 가지는 적법한 태스크를 제어하며,
선택된 태스크에 배정된 할당시간으로부터 만기할 미래순간이 산출되고(할당은 최근미래 최종마침시간과 현재 인스턴트 사이의 차이임);
γ) 그럼에도 불구하고, 현재진행되는 태스크에 배정된 할당시간을 위해 세팅되는 경우, 마이크로-커넬로 호출이 클록(14)에 의해 초래된다면, α) 및 β) 실행을 수행한 후, 응용에 의해 특정된 변형적인 처리동작을 실행함으로써 마이크로-커넬은 시작한다.
두 가지 인스턴트(선택된 태스크에 배정된 할당시간이 만기하는 미래인스턴트와 태스크를 일깨우기 위한 가장 가까운 미래 인스턴트)에 기초하여, 마이크로-커넬은 두 인스턴트(적당한 시간에 태스크를 일깨우거나 할당시간을 위반하는 시도 예를 들어, 변형적인 작동을 탐지하는 인스턴트) 중 가장 가까운 순간에 시동되는 방법으로 클록(14)을 세팅한다.
클록(14)을 세팅하면서, 마이크로-커넬은 전환이 가능하도록 여기된다.
게다가, 실행하는 동안, 실행 태스크는 시간중단에 의하거나 실행 태스크속의 노드 변화에 따라 변화된다.
시간중단은 대기 태스크가 준비되었거나 (타임-트리거가 행해진) 보안검사가 수행되는 경우 실행 태스크가 배정되는 할당시간이 경과했다는 사실에 기인할 수 있다.
실행 태스크가 태스크의 제어그래프에서 노드를 변환할 때, 태스크의 최종마침시간이 푸시백 되거나 태스크의 최초시작시간이 푸시백(push-back)된다.
첫 번째 경우에, 태스크의 위치를 차지하면서, 몇몇 다른 태스크가 능동적이 될 수 있다. 두 번째 경우에, 태스크의 새로운 최초시작시간이 미래에 있다면, 실행태스크는 하나의 대기 태스크 세트로 푸시된다.
많은 선취방식이 한정, 구속되고, 그리고 많은 선취방식의 최대한계를 통계적으로 산출하는 것이 가능하다.
또한, 할당시간이 각각의 노드변화에 모니터되고, 업데이트되는 한, 태스크를 즉시 제한하기 위해, 제때에 변형을 탐지할 수 있다.
제어그래프를 통해 단지 정상적인 변위만이 허용되는 한, 동일한 그래프를 사용하면서 통계적으로 평가받은 것보다 더 많은 자원을 소비하게 이끄는 때에 태스크가 비헤이비어를 표현하는 것이 불가능하다(통신을 위한 메모리 자원).
본 발명 보안방법의 구현은 특별한 실시간 태스크를 위해 도 3 내지 도 6을 참조하여 설명한다.
실시예에서, 실시간 태스크의 기능은 측정값이 그 자체가 임계값 S2를 초과하는 지속시간 t(v)를 지나 V가 임계값 S1을 초과한다면 알람을 송신하는 것이다.
도 3은 상기 실시예에 대응되는 태스크의 처리과정을 보여주는 플로우차트이다.
참조(101)는 시스템 계층에서 만들어진 호출인 초기노드 또는 노드(0)를 나타낸다.
참조(102)는 측정값(V)을 얻는 처음단계에 연결된다.
참조(103)는 v<s1인 경우 스텝(102)에 따르는 초기노드(101)로 복귀하거나, v≥s1인 경우 스텝(105)에 따르는 참조(104), 노드(1)로 이동한 후 시험을 거치는 것으로 대응한다.
노드(104)에서, 호출이 시스템 계층에서 만들어지고, 스텝(105)에서 지속시간 t(v)가 산출된다.
스텝(105) 후, 테스트(106)는 t(v)<s2인 경우 초기노드(101)로 복귀하고, t(v)≥s2인 경우 참조(107), 노드(2)로 이동하게 된다.
호출이 시스템 계층으로 만들어진 곳인, 두 번째 노드(107) 후, 프로세스는 알람을 송신하는 스텝(108)으로 이동하고, 그 후 초기노드(101)로 복귀한다.
도 4는 도 3의 플로우 차트에 대응하는 조합된 원호의 노드(101), (104) 및 (107)을 가지는 제어그래프이다.
상기 실시예에서, "습득v"(스텝(102)), "산출t(v)"(스텝(105)), "알람을 송신"(스텝(108))을 위한 작동을 수행하기 위해 할당된 시간은 다음과 같다.
습득단계(102) : 1시간 유닛
산출단계(105) : 2 부가적 시간 유닛
알람 송신 단계(108) : 1시간 유닛
각각의 노드(101), (104) 및 (107)을 위해, 서비스는 시스템 계층에 의해 제공되고, 최종마침시간 f(i)와 최초시작시간 d(i) 상에서 수행되는 작동은 하기의 테이블에서 주어진다.
초기화동안 최초시작시간 d(0)는 d(0)=0으로 주어지고, 최종마침시간 f(i)는 f(0)=1 시간 유닛으로 주어진다.
노드 시스템 계층에 의해 제공되는 서비스 d(i)와 f(i)상에서 수행되는 작동
1/ 노드(0) i) 이전에 고정된 시간의 종료를 위해 기다린다 ii) 그리고 나서, 새로운 시간을 조정한다. f(i+1) = f(i) + 1 d(i+1) = f(i)
2/ 노드(1) 새로운 시간을 조정한다. f(i+1) = f(i) +2 d(i+1) = d(i)
3/ 노드(2) i) 이전에 고정된 시간의 종료를 위해 기다린다. ii) 그리고 나서, 새로운 시간을 조정한다. f(i+1) = f(i) + 1 d(i+1) = f(i)
도 6은 최초시작시간 d(i)와 최종마침시간 f(i)가 수행되기 위한 작동의 설명을 포함한 노드(0), (1) 및 (2) 의 테이블을 요약한 것이다.
또한, 도 4에서 보여주는 태스크 제어그래프는 상기 특정화된 실시예로써, 다음과 같이 존재되는 경우에, 매트릭스 형태 속에 코드화될 수 있다.
노드 0 1 2
0 A A I
M = 1 A I A (I)
2 A I I
여기서,
mij = 노드 i 로 부터 노드 j 로 이동이 인가되면 A
mij = 노드 i 로 부터 노드 j 로 이동이 금지되면 I
도 5는 조합된 시간값을 보여주고, 상기 설명한 실시간 태스크의 구현을 보여주는 타이밍도표이다.
숫자 1에서 10은 타임-트리거 모드에서 작동의 시작이래로, 수많은 시간 유닛속에서 실시간을 가리킨다.
본 발명 보안방법은 또한 결정적으로 정해진 메세지에 의해 서로 서로 통신하는 다중태스크 응용의 실시간 실행을 보장하도록 적용된다.
그러한 환경 하에서, 지시된 태스크 사이에 통신없이 다중태스크 응용을 가지는 기본방법을 위한 상기 설명된 단계 속에서 발생하는 하기의 특별한 단계를 포함한다:
n) 초기단계동안, 주어진 응용의 각 태스크를 위해, 동기시간 및 시스템 계층으로 호출을 필요로 하는 다른 응용 태스크들과의 통신을 위한 태스크 포인트의 모든 인가된 연결고리를 저장하고, 상기 인가된 연결고리는 당해 태스크로부터 만들어진 시스템 계층 호출의 실행을 위한 제어그래프에 의해 표현되고, 각 그래프는 시스템 계층으로 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
o) 태스크들 사이에 데이터를 교환하기 위해 필요한 각각의 버퍼존(buffer zone)을 저장하고, 버퍼존의 크기, 버퍼존을 포함하는 소자의 크기, 버퍼존의 위치 도는 기본주소, 및/또한 확인된 통신을 위해 필요한 정보전송을 할 수 있는 버퍼존들 사이의 관계를 특정하는 단계;
p) 각 버퍼존을 위해, 버퍼존의 소자들의 초기 값을 저장하는 단계;
q) 주어진 응용을 위해 타임-트리거 작동모드 속에 실시간 실행을 시작하기 전에, 메모리 속에 이전에 저장된 값들을 가진 버퍼존의 소자의 값을 초기화하는 단계; 및
r) 태스크를 실행하는 동안, 태스크 제어그래프의 노드가 접속되었을 때, 시스템 계층 호출을 만드는 동안, 그리고 현재 실행되어지는 태스크의 제어그래프에 따라, 송출 시스템 계층 호출에 대응하는 노드로 부터 연결고리가 인가된 것을 확인한 후, 버퍼존이 이전에 저장된 호출 성질의 기능으로써 연속적으로 업데이트되도록 하고, 태스크의 최초시작시간 d(i) 와 최종마침시간 f(i)를 포함하면서 실행되어지는 태스크의 시간매개변수의 필요로써 점층적으로 업데이트를 수행하는 단계.
첫 번째 및 두 번째 실행문맥이 시스템 계층으로 태스크의 확장을 위해 그리고 각각의 응용 태스크를 위해 정의될 때, 다음의 특별한 특징 또한 적용한다.
시스템 계층에서, 단지 2개의 문맥실행확장에 의해서만 공유할 수 있는 메세지를 전송하는 것에 대응하는 동적인 통신을 위해 주어진 버퍼존만이 응용태스크의 실행문맥의 확장에 의해 공유되는 것이 허용되고, 반면 2개 이상의 실행문맥확장에 의해 공유될 수 있는 시각소인 데이터의 흐름에 대응하는 정적 통신을 위해 주어진 버퍼존은 단지 하나의 문맥에 의해 쓰여지고 수정될 수 있다.
메세지에 의해 통신하는 2개의 실시간 태스크를 포함하는 본 발명 보안방법의 구현은 도 7 내지 도 13을 참조하여 하기에 설명한다.
상기 도면의 실시예에서, 수행된 기능은 측정된 값 v가 임계값 s1을 초과하 고, 임계값 s1이 측정된 값 v에 의해 초과된지속시간 t(v)가 그 자체로 임계값 s2를 초과한다면, 알람램프가 작동하도록 구성된다.
더욱이, 하나의 처리태스크가 v를 습득하고, 필요하다면 특정된 램프를 작동시키는 알람태스크로 메세지를 전송한다.
도 7은 상기 실시예에서 처리태스크를 실행하는 것에 대응하는 플로우차트이다.
참조(111)은 시스템 계층에서 만들어지는, 초기 노드 또는 노드(0)를 나타낸다.
첫 번째 스텝(112)은 측정된 값 v를 획득하는 단계이고 값 v와 임계값 s1을 비교하는 테스트(13)와 연계된다.
v<s1이라면, 태스크는 초기모드(111)로 복귀한다. 만일, v≥s1이라면, 태스크가 참조(117)인 노드(2)로 이동하고, 시스템 계층으로 호출을 일으킨다.
노드(117) 후, 태스크는 호출이 시스템 계층에서 만들어지는 참조(118), 노드(3)로 이동하고, 세 번째 단계가 초기노드(111)로 복귀하기 전 경고메세지를 전송하도록 수행된다.
도 8은 노드와 인가된 아크를 가진 도 7의 플로우차트에 대응하는 제어그래프를 나타낸다.
도 9는 상기 실시예에서, 알람태스크를 실행하는 것에 대응하는 플로우차트를 나타낸다.
참조(121)는 호출이 시스템 계층으로 만들어지는 초기노드 또는 노드(0)를 나타낸다. 테스트(122)는 전송된 메세지인지를 시험한다.
메세지가 존재하지 않는다면, 알람램프가 작동중지하는 스텝(123)으로 이동한 후, 태스크는 초기노드(121)로 복귀한다.
하나 이상의 메세지가 존재한다면, 태스크는 시스템 계층으로 호출과 함께, 노드(1)와 참조(124)로 진행하고 나서, 초기노드(121)로 복귀하기 전에 경고램프가 작동하는 스텝(125)으로 통과한다.
도 10은 인가된 아크와 노드 함께, 도 9의 플로우차트에 대응하는 제어그래프를 나타낸다.
상기 실시예에서, 시간은 작동을 실행하기 위해 허용된다: 스텝(112), (115), (118) 및 (125)에 개별적으로 대응되는 "습득 v"; "산출 t(v)"; "메세지전송"; "스위치차단"; "스위치연결";는 다음과 같다:
"습득 v": 1시간 유닛
"산출 t(v)" : 2 부가적 시간 유닛
"메세지전송" : 1시간 유닛, 다만 메세지는 2시간유닛에서 사용할 수 있다
"스위치차단" : 1시간 유닛
"스위치연결" : 1시간 유닛
서비스는 시스템 계층에서 주어지고, 작동은 최초시작시간 d(i)와 최종마침시간 f(i)를 수행한다(d(0) = 0 그리고 f(0) = 1로 인식됨). 메세지 가시시간 dv는 두개의 태스크 각각에 대한 각각의 노드를 위해 다음과 같다:
노드 시스템 계층에 의해 d(i), f(i) 및 dv를
행해지는 서비스 실행하는 작동
(처리태스크)
노드0 (111) - 이전에 고정된 시간이 f(i+1) = f(i)+1 ;
종료하기를 기다린다. d(i+1) = f(i)
- 그 후 새로운 시간을
조정한다.
노드1 (114) - 새로운 시간을 조정 f(i+1) = f(i)+2 ;
한다. d(i+1) = d(i)
노드2 (117) - 이전에 고정된 시간이 f(i+1) = f(i)+1 ;
종료하기를 기다린다. d(i+1) = d(i)
- 그 후 새로운 시간을
조정한다.
노드3 (118) - 시스템 계층에서 테스 f(i+1) = f(i)+1 ;
크 문맥의 확장을 위한 d(i+1) = d(i)
전송영역에서 메세지를 dv = d(i)+2
복사한다.
(경고태스크)
노드0 (121) - 이전에 고정된 시간이 f(i+1) = f(i)+1
종료하기를 기다린다. d(i+1) = f(i)
- 그 후 새로운 시간을
조정한다.
- 시스템 계층에서 테스
크 문맥의 확장을 위한
전송영역으로부터 가시적
메세지를 복사한다.
노드1 (124) - 시스템계층에서 태스크 f(i+1) = f(i)
문맥의 확장을 위한 d(i+1) = d(i)
수신영역에서 첫 메세지
가 소비되었다고 기록
한다.
도 12 및 도 13은 각각 처리태스크와 상기 실시예의 알람 태스크에 관한 것이고, 최초시작시간 d(i), 최종마침시간 f(i), 및 가시시간 dv가 실행되기 위한 작동설명과 함께 노드테이블을 포함한다.
처리태스크와 경고태스크의 제어그래프는 다음의 메트릭스 형태로 코드화 될 수 있다:
Figure 112003016780368-pct00001
여기서;
mij = 노드 i에서 노드 j까지 이동이 인가된다면 A;
mij = 노드 i에서 노드 j까지 이동이 금지되면 I이다.
도 11은 조합된 시간값을 나타내고, 상기 설명된 2개의 통신태스크의 구현을 나타내는 타이밍도표이다.
숫자 1에서 10은 타임-트리거 모드에서 작동이 시작한 이래로, 수많은 시간유닛에서 실시간을 특정한다.
오직 하나의 메세지타입만이 주어진 메세지 대기열속에서 저장된다. 메세지 가시시간 dv는 각각 메세지 송신과 조합된다. 시간 dv는 메세지를 소비할 수 있는 표시로 부터 미래인스턴트를 특정한다.
메세지는 가시시간 dv의 명령으로, 그 후 발신명의 명령으로 그리고 최종적으로, 소비목적을 위해 완전히 메세지를 명령할 수 있기 위한 발신명령으로 소모된다.
각 메세지 대기열을 위해, 각 송출기의 문맥 속에 송신영역이 있고, 관련 메세지 대기열의 소유권자를 위해 수신영역이 있다.
각 송출기는 송신영역을 가지고 있기 때문에, 2개의 다른 태스크에 의해 송신되는 2개의 메세지들 사이에 혼란스러운 문제가 발생하지 않는다.
또한, 상기에 언급한 대로, 메모리 분할은 태스크의 장애 충격이 장애있는 자신의 메모리영역에만 제한될 수 있게 한다. 따라서, 응용에서 하나의 태스크로부터 다른 태스크로의 장애전파는 불가능하다.
메모리의 분할사용은 또한 다음의 속성을 얻을 수 있게 한다:
테스트의 타임-트리거(TT)의 시간간격사이에, 태스크의 문맥실행은 송출명령어의 끝과 새명령어의 시작 사이에서 변화한다.
메모리 분할은 내부적으로 메모리를 분할하기 위해, 더나아가 시스템 계층의 나머지로 부터 마이크로-커넬을 분할 하기 위해 적용된다.
메모리보호유닛(16)은 뷰의 물리적구조점 으로부터 메모리 분할을 강화시키는 하드웨어 메커니즘을 구성한다.
도 2는 사용자 실행모드(201)(즉, 비특권모드)를 가진 응용레벨로부터 특권실행모드를 가진 시스템 계층(202)을 거쳐 통과하여 마이크로-커넬(203)에 까지 진 행하는 코드심도의 처리결과 분포를 나타낸다.
시스템 계층(202)로부터 마이크로-커넬(203) 까지의 메세지가 이동형식명령어에 의해 트리거되는 동안, 특권모드를 가진 시스템 계층(202)으로 접근은 "트랩"형식 갈림명령어에 의해 보호된다.
클록(14)은 타임-트리거를 제공하고, 프로그램이 가능한 시간이 경과할 때마다, 클록중단신호 sh를 송신한다.
도 2는 또한, 응용레벨(201)에 다양한 태스크의 데이터와 코드를 나타낸다. 반면, 시스템계층레벨(202)에서 시스템 계층으로 태스크 문맥의 확장과 시스템계층의 코드가 발견될 수 있다.
마이크로-커넬 레벨(203)에서, 태스크의 처리기의 할당 및 시간을 통제하기 위한 마이크로-커넬의 코드와 데이터가 발견될 수 있다.
참조는 이제 본 분할된 메모리에 대한 본 발명인 보안방법의 구현 속에 다양한 분할 권한을 보여주는 상세된 테이블이 있는 도 14에서 만들어진다.
상기에 언급한 바와 같이, 다중태스크 응용은 특정코드, 태스크, 변화된 시간의 흐름, 메세지 박스, 태스크들 사이에 정보를 송출하기 위한 시스템 계층, 응용코드속에서 태스크의 이동을 모니터하는 그래프 프로그램, 및 시간과 처리기 공유를 관리하기 위한 마이크로-커넬을 포함한다.
메모리는 처리기의 실행문맥에 의존하는 접근권한을 가지는 세그먼트로 세분된다.
도 14의 테이블을 이해하기 위해, 정의는 하기와 같이 적용된다:
.inst : 메모리속에 하나의 연속명령어 세트
.const : 하나의 상수값 연속데이터 항목 세트
.var : 명령어에 의해 수정 가능한 하나의 연속데이터 항목 세트
I : 세그먼트의 명령어를 실행하기 위해 부여된;
M : 세그먼트를 참고하고 수정하기 위해 부여된;
C : 참고(읽기전용)에 제한되는 세그먼트에 대한 접근권한;
R : 거절된 세그먼트에 대한 접근.
세그먼트가 특정용도가 있는지 또는 CPU(10)와 CPU 처리기에 대한 본 발명에 따른 모델과 관련있는지에 의존하는 영역 속에서 세그먼트는 함께 그룹화 된다.
각 태스크를 위해, 연속 응용영역인 CT, FT, BM, VT 및 PU가 있다. 상기 응용영역들은 하기에 설명한다.
태스크 산출 영역 CT :
.const와 .var : 특권모드에서 스텍을 포함하는 태스크 데이터;
.inst : 태스크 산출.
태스크 작동 영역 FT :
.const : 태스크의 작동에 대한 설명 (CPU에 의해 산출되는 시간증가분, 지속시간, 노드설명, 실행그래프...);
.var : 시스템 계층으로 인수를 통과시키기 위한 영역;
.inst : 시스템 계층으로부터 노드의 변화를 요청하는 기능.
메세지 상자 영역 BM :
.const : 송신영역(영역 ME)에 연결을 포함하는, 태스크의 각 메세지 상자의 특성;
.var : 현재의 태스크로 접근할 수 있는 모든 메세지.
메세지 저장 영역 ME :
.const : 태스크에 의해 전송되고, 태스크 표시가 보이지 않는 메세지를 위한 저장영역에 대한 설명;
.var : 저장영역 그 자체.
시간 변수 영역 VT :
.const : 값을 생성하는 영역에 연결을 포함하면서, 태스크를 볼 수 있는 시간변수의 흐름값, 태스크를 위한 저장영역에 대한 설명;
.var : 통과된 가현값에 대한 태스크를 위한 저장영역.
영역 PU :
.var : 처리기에 의해 필요로 되는 임시 작동 데이터, 태스크의 현재 문맥, 특권모드 스택(stack).
또한, 모든 태스크에 범용적인 글로벌 응용영역이 있으며, 하기에 설명한다.
글로벌 영역 G :
.const : 글로벌 응용 상수와 (수많은 태스크, 태스크 설명어의 참조, 클록 설명어...)과 시스템 계층에 접속을 제공하는 상수의 설명.
시스템 계층 그 자체는 하기에 설명할 영역 CS를 포함한다.
시스템 계층 영역 CS:
.const : 참조로써;
.var : 빈(영역PU의 세그먼트 .var속에 저장된 과거);
.inst : 클록의 통제와 지속시간의 산출을 위한 명령어와 시간변수의 스트림에 대해 통과된 값을 이용할 수 있게 하기 위한, 메세지 상자를 통제하기 위한, 그래프 프로그램을 위한 명령어.
시스템 계층에 공통되는 전송영역 TR은 하기에 설명한다.
전송시간 TR:
.const : 참조로써;
.var : 실행태스크의 식별;
.inst : 메모리에 대한 접근권한 하드웨어를 변화하고, 마이크로-커넬 또는 시스템 계층으로 가르기 위한 명령어.
영역 RS:
.const : 참조로써;
.var : 빈;
.inst : 메모리 보호가 없이 실행되는 소프트웨어 및 CPU를 초기화하기 위한 명령어.
주어진 인스턴트에, 응용코드(비특권모드에서)에서 태스크를 위하거나, 시스템 계층(특권모드에서) 또는 마이크로-커넬에서 태스크를 위한 명령어를 실행한다.
도 14의 테이블의 열은 하기에 응용코드 명령어(칼럼(301)), 태스크를 위한 시스템 계층의 코드(컬럼(302)), 또다른 태스크를 위한 시스템 계층의 코드(컬럼(303)) 또는 CPU의 초기화 후에, 마이크로-커넬의 코드(컬럼(304))의 명령어를 실행하는지에 의존하는 메모리의 접근권한을 나타낸다.
일반적으로, 메모리는 페이지로 세분될 수 있고, 페이지는 기록방지되거나, 부재하거나, 또는 가용될 수 있다.
상기의 상황에서, 세그먼트 크기는 다중의 하나의 페이지로 마무리되고, .const 및 .var는 병합, 기록금지되고 접근권한이 R인 페이지는 부재하거나 설명으로부터 제거된다.
본 발명인 에러제한을 가진 제어 및 명령타입의 다중태스크 응용을 위한 결정적 실시간 실행을 만드는 보안방법은 더 잘 융합되고, 더 성능이 향상되고, 더 안전한 제어시스템을 획득으로 에러제한 과 장애허용을 가지는 컴퓨터에 의한 결정적인 방법으로 실시간에 안전한 다중태스크 실행을 구할 수 있으며,
또한, 본 발명은 명시적(시각소인(time-stamp)메시지)이고, 암시적(시각소인 데이터의 스트림(stream))인 통신을 가지고, 비순환적 태스크와 순환적 태스크를 위해 다중태스크 응용의 실시간에 매우 결정적인 실행을 보증할 수 있으므로 컴퓨터 산업상 매우 유익한 발명인 것이다.

Claims (10)

  1. 조절된 시간이 경과할 때마다 중단신호 sh 를 송신하는 최소한 하나의 첫 번째 클록(14); 상기 클록 중단 신호 sh 를 수신할 수 있는 처리기를 최소한 하나 구비하는 CPU(10); 주기억장치(12,13); 및 제어시스템의 입력, 출력을 통제하기 위해 주변(1에서 N)을 제어하기 위한 하나의 제어기(11 에서 1N) 세트를 포함하고, 하기 단계를 포함하는 것을 특징으로 하는 결정성 제어시스템에서 제어 및 명령타입의 다중태스크 응용의 실시간 실행을 만드는 보안방법:
    a) 주어진 응용의 각 태스크를 위해, 시스템 계층에 호출을 필요로 하는 태스크의 각 시간동기점으로부터 인가된 모든 연결고리를 저장하며, 상기 연결고리는 당해의 태스크에 의해 만들어진 시스템 계층 호출 실행을 모니터하기 위해 제어그래프에 의해 표현되고, 각 제어그래프는 제어시스템의 시스템계층에 대한 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
    b) 각 태스크 제어그래프의 각각의 노드를 위해, 시스템 계층의 호출매개변수에 대한 호출의 특징을 저장하고, 최초시작시간 d(i) 및 최종마침시간 f(i)가 업그레이드될 수 있도록 시간 매개변수를 포함하는 단계;
    c) 각 태스크를 위해 조합된 그래프에서 초기 노드(노드0)를 저장하는 단계;
    d) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전 각 태스크를 위해, 초기노드(노드0)와 당해 태스크의 초기상태를 표현하는 초기인 스턴트를 초기화하는 단계;
    e) 주어진 응용을 위해, 타임-트리거 모드에서 실시간 실행을 시작하기 전, 원자 마이크로-커넬(micro-kernel)에서 미리 명령된 태스크 리스트에 의해 각각의 태스크의 시작 명령을 초기화하는 단계;
    f) 타임-트리거 모드에서 응용의 실행을 시작하기 위한 응용의 첫 인스턴트에, 마이크로-커넬에 호출을 구성하는 클록중단신호 sh 를 송신하기 위한 첫 번째 클록(14)을 세팅하는 단계;
    g) 첫 클록(14)이 세팅된 후 정상적으로 작동하는 동안, 마이크로-커넬로 각각의 호출하는 때에, 마이크로-커넬에 의해 첫 번째 클록(14)이 다시 세팅하게 되는; 시스템 계층에 의해 또는 중단신호 sh 를 처리함에 의해 마이크로-커넬로 호출하는 동안, 태스크의 시간특징인 태스크의 최초시작시간 d(i) 및 최종마침시간 f(i)에 의존하는 명령된 방법 속에 마이크로-커넬이 태스크의 리스트를 업데이트하는 단계로 접어들게 하는; 그리고 리스트를 업데이트 한 후, 일깨워질(wake-up) 필요가 있는 태스크에 대해 마이크로-커넬이 최근 미래 인스턴트를 산출하게 하고, 첫 번째 클록(14)이 마이크로-커넬을 떠나고, 상기 태스크를 일깨우는 상기 최근미래인스턴트를 기초로 마이크로 -커넬에 의해 첫 번째 클록(14)이 배치되게 하는 단계; 및
    h) 태스크를 실행하는 동안, 상기 태스크 제어그래프의 노드가 접속되는 때에만, 시스템 계층으로 호출을 하게 하는, 또한 인수로써, 많은 노드를 통과하는; 태스크가 실행되어지는 제어그래프에 따라, 상기 연결고리가 인가되지 않는다면 시 스템 계층 속에 변형적 진행을 시작하기 위하여 또는 상기 연결고리가 인가된다면 연속적으로 실행하기 위하여, 상기 시스템 계층 호출에 대응하는 노드로 부터 연결고리가 인가되는지 여부를 확인하기 위한 검사와 함께 시스템 계층 속의 입구로 진행하는; 시스템 계층으로부터 마이크로-커넬로 호출용 초기시작시간 d(i) 및 최종마침시간 f(i)를 포함하면서 실행되는 시간매개변수를 업데이트하는 그리고 상기 태스크가 다시 제어그래프의 노드에 접속하기 전에 현재의 태스크의 일반적인 실행을 계속하는 단계.
  2. 제 1항에 있어서, 배타적 방법으로 접근을 허락하는 확인된 주소 av 를 생성하거나 인가된 주소를 가리키는 CPU (10)로 예외신호 se 를 송신함에 의해 주소지정 메모리 공간으로 접근하는 처리기의 실행문맥의 권한(c) 또는 CPU(10)에 의해 지원되는 요청된 주소 ad 에 응하고, 주소접근권한을 제어하기 위한 메모리보호유닛(16)을 더 포함하여 제어시스템에 적용되고,
    i) 준비단계 동안, 주어진 응용을 위해, 명령어들이 태스크를 구성하는 응용에 대한 특정코드로 되어 있는지 또는 명령어들이 시스템 계층 속에 태스크의 확장을 구성하는 시스템 계층의 일반코드에 위치하는지에 의존하여 첫 번째 또는 두 번째 문맥실행을 구성하도록, 마이크로-커낼, 각 태스크 응용, 시스템 계층 속에 각 태스크 확장을 위한 각 메모리 세그먼트에 접근권한을 저장하는 단계;
    j) 주어진 응용을 위해, 타임-트리거 작동모드속에 실시간 실행을 시작하기 전에, 시스템 계층 속에 각 태스크와 태스크의 확장을 위해, 첫 번째와 두 번째 문 맥실행과 마이크로-커넬을 초기화하는 단계; 및
    k) 태스크의 실행 동안, 태스크의 문맥실행으로부터 시스템 계층 속에 태스크의 확장을 위한 문맥실행으로 통과를 가능하게 하는 특권실행모드로 통과하기 위한 명령어를 사용하는 시스템 계층으로 호출을 만드는 단계; 또한, 상기 시스템 호출에 대응하는 노드로 부터 연결고리가 인가되는 것을 확인한 후, 그리고 시스템 계층으로부터 마이크로-커넬에 호출용 태스크의 시간매개변수를 업데이트한 후, 시스템 계층 속에 확장 실행문맥으로부터 태스크의 실행문맥까지 통과하는 실행이 가능하게 하는 비특권모드로 복귀하기 위한 명령어에 의해 태스크 코드로 복귀하는 단계를 추가로 포함함을 특징으로 하는 보안방법.
  3. 제 2항에 있어서, 각각의 응용태스크의 실행문맥이 쌍으로 구분되는 것을 특징으로 하는 보안방법.
  4. 제 2항 또는 제 3항에 있어서, 시스템 계층 속의 응용태스크의 실행문맥의 연장이 응용모드속의 태스크의 실행문맥에 쓰기 접근할 수 없는 것을 특징으로 하는 보안방법.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 태스크의 제어그래프의 코딩은 응용의 어떤 태스크의 실행을 제어하기 위한 메커니즘 속에 또는 상기 태스크 자체의 실행속에서 발생하는 일반적인 원인의 장애를 방지하는 것을 특징으로 하는 보안방법.
  6. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    l) 초기단계 동안, 각 주어진 응용을 위한, 그리고 상기 태스크에서 모든 인가된 연결고리를 위해, 태스크의 제어그래프속에 하나의 노드로 부터 다른 노드로 가기 위해 필요한 최대실행시간을 위한 슈프리멈(supremum)을 이루는 할당시간, 및 태스크의 확장 속에서 시스템 계층의 일반적인 코드를 실행하기 위해 소요되는 시간을 저장하는 단계; 및
    m) 정상적으로 작동하는 동안, 첫 번째 클록(14)이 배치된 후, 시간중단신호 sh에 의해 트리거되고 첫 번째 클록(14)을 다시 세팅하게 하는 마이크로-커넬로 호출이 있는 경우, 마이크로-커넬로 호출을 트리거하는 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련되는지를 확인하기 위해 검사하고, 만약 시간중단신호 sh 가 할당시간을 위반하는 시도에 관련된다면 마이크로-커넬을 변형적으로 처리운용하게하고, 시간중단신호 sh가 할당시간을 위반하는 신호와 관련되지 않는다면 마이크로-커넬이 태스크 리스트를 업데이트 하고, 태스크 리스트를 업데이트 한 후, 마이크로-커넬이 태스크가 일깨워지기 위해 필요한 최근미래인스턴트 뿐만 아니라, 리스트를 업데이트 하는 동안 결정되고, 마이크로-커넬을 내보낼 때 실행될 태스크에 부여된 할당시간이 만기될 미래인스턴트를 산출하게 하고 마이크로-커넬이 태스크가 일깨워지거나 변형적인 작동 때문에 할당시간을 위반하는 시도가 탐지되도록 상기 최근미래인스턴트에 첫 번째 클록(14)을 세팅하게 하고, 첫 번째 클록(14)을 세팅한 후 마이크로-커넬을 떠나는 단계를 추가로 포함함을 특징으로 하는 보안방법.
  7. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 두 번째 클록(15)이 구현되고, 시간신호를 비교함으로써 첫 번째 클록(14)에 의해 트리거 되면서 시간의 스트림을 모니터하기 위해 마이크로-커넬이 두 번째 클록(15)에 접근하게 하는 것을 특징으로 하는 보안방법.
  8. 제 1항에 있어서,
    n) 초기단계동안, 주어진 응용의 각 태스크를 위해, 동기시간 및 시스템 계층으로 호출을 필요로 하는 다른 응용 태스크들과의 통신을 위한 태스크 포인트의 모든 인가된 연결고리를 저장하고, 상기 인가된 연결고리는 당해 태스크로부터 만들어진 시스템 계층 호출의 실행을 위한 제어그래프에 의해 표현되고, 각 그래프는 시스템 계층으로 호출에 각각 대응하는 하나의 노드세트를 포함하는 단계;
    o) 태스크들 사이에 데이터를 교환하기 위해 필요한 각각의 버퍼존(buffer zone)을 저장하고, 버퍼존의 크기, 버퍼존을 포함하는 소자의 크기, 버퍼존의 위치 도는 기본주소, 그리고 또한 확인된 통신을 위해 필요한 정보전송을 할 수 있는 버퍼존들 사이의 관계를 특정하는 단계;
    p) 각 버퍼존을 위해, 버퍼존의 소자들의 초기 값을 저장하는 단계;
    q) 주어진 응용을 위해 타임-트리거 작동모드 속에 실시간 실행을 시작하기 전에, 메모리 속에 이전에 저장된 값들을 가진 버퍼존의 소자의 값을 초기화하는 단계; 및
    r) 태스크를 실행하는 동안, 태스크 제어그래프의 노드가 접속되었을 때, 시스템 계층 호출을 만드는 동안, 그리고 현재 실행되어지는 태스크의 제어그래프에 따라, 송출 시스템 계층 호출에 대응하는 노드로 부터 연결고리가 인가된 것을 확인한 후, 버퍼존이 이전에 저장된 호출 성질의 기능으로써 연속적으로 업데이트 되도록 하고, 태스크의 최초시작시간 d(i)와 최종마침시간 f(i)를 포함하면서 실행되어지는 태스크의 시간매개변수의 필요로써 점층적으로 업데이트를 수행하는 단계를 추가로 포함함을 특징으로 하는 결정적으로 만들어진 제어 및 명령타입의 다중태스크 응용을 통신하는 실시간 실행을 하게 하는 보안방법.
  9. 제 2항 또는 제 8항에 있어서, 두개 이상의 태스크 실행 문맥 연장에 의해 공유될 수 있는 시각소인 데이터의 스트림에 대응하는 정정통신을 위한 주어진 버퍼존은 단지 하나의 문맥에 의해서만 수정되고 쓰여질 수 있는 반면, 시스템 계층속에서 버퍼존은 응용 태스크의 문맥실행의 연장, 두개의 태스크 실행 문맥 연장에 의해서만 공유할 수 있는 메세지를 전송하기 위해 교신하는 동적인 통신을 위한 주어진 버퍼존에 의해서만 공유가 허용되는 것을 특징으로 하는 보안방법.
  10. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 원자로를 위해 안전 등급 레벨(1E)를 가지는 제어 및 명령시스템에 적용되는 것을 특징으로 하는 보안방법.
KR1020037006432A 2000-11-13 2001-11-13 에러제한을 가진 제어 및 명령타입의 다중테스크 응용을위한 결정적 실시간 실행을 만드는 보안방법 KR100837787B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0014555A FR2816730B1 (fr) 2000-11-13 2000-11-13 Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle- commande avec confinement d'erreur
FR00/14555 2000-11-13
PCT/FR2001/003532 WO2002039277A1 (fr) 2000-11-13 2001-11-13 Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle-commande avec confinement d'erreur

Publications (2)

Publication Number Publication Date
KR20030063378A KR20030063378A (ko) 2003-07-28
KR100837787B1 true KR100837787B1 (ko) 2008-06-13

Family

ID=8856366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037006432A KR100837787B1 (ko) 2000-11-13 2001-11-13 에러제한을 가진 제어 및 명령타입의 다중테스크 응용을위한 결정적 실시간 실행을 만드는 보안방법

Country Status (13)

Country Link
US (1) US7299383B2 (ko)
EP (1) EP1337919B1 (ko)
JP (1) JP3921447B2 (ko)
KR (1) KR100837787B1 (ko)
CN (1) CN1282079C (ko)
AT (1) ATE359549T1 (ko)
AU (1) AU2002220777A1 (ko)
CA (1) CA2428467C (ko)
DE (1) DE60127857T2 (ko)
ES (1) ES2284725T3 (ko)
FR (1) FR2816730B1 (ko)
RU (1) RU2285947C2 (ko)
WO (1) WO2002039277A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263598B2 (en) * 2002-12-12 2007-08-28 Jack Robert Ambuel Deterministic real time hierarchical distributed computing system
US7689782B1 (en) * 2003-08-04 2010-03-30 Azul Systems, Inc. Processor instruction used to determine whether to perform a memory-related trap
US8108628B2 (en) * 2003-08-04 2012-01-31 Azul Systems, Inc. Processor instruction used to perform a matrix test to generate a memory-related trap
EP1522923A3 (fr) * 2003-10-08 2011-06-22 STMicroelectronics SA Architecture de processeur à plusieurs contextes d'exécution simultanés
US8793602B2 (en) * 2004-01-15 2014-07-29 The Mathworks, Inc. System and method for scheduling the execution of model components using model events
US8683426B2 (en) 2005-06-28 2014-03-25 The Mathworks, Inc. Systems and methods for modeling execution behavior
US9070104B2 (en) * 2004-11-12 2015-06-30 Sap Se Cross-context task management
CN100361081C (zh) * 2005-01-18 2008-01-09 华为技术有限公司 处理多线程/多任务/多处理器的方法
US8196178B2 (en) * 2005-10-05 2012-06-05 Microsoft Corporation Expert system analysis and graphical display of privilege elevation pathways in a computing environment
ATE535877T1 (de) * 2005-10-20 2011-12-15 Sap Ag Gesteuerte pfadbasierte prozessausführung
JP2007133807A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd データ処理システム、ストレージ装置及び管理装置
JP4609381B2 (ja) * 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
CN101266553B (zh) * 2008-05-06 2010-06-02 无锡紫芯集成电路系统有限公司 基于嵌入式系统的多任务管理方法
US7921195B2 (en) * 2008-06-09 2011-04-05 International Business Machines Corporation Optimizing service processing based on business information, operational intelligence, and self-learning
FR2937439B1 (fr) * 2008-10-17 2012-04-20 Commissariat Energie Atomique Procede d'execution deterministe et de synchronisation d'un systeme de traitement de l'information comportant plusieurs coeurs de traitement executant des taches systemes.
CN101853181A (zh) * 2010-05-11 2010-10-06 中达电通股份有限公司 用于嵌入式系统的子程序相互调用的方法
US8639809B2 (en) * 2010-08-20 2014-01-28 International Business Machines Corporation Predictive removal of runtime data using attribute characterizing
CN102339029B (zh) * 2011-06-30 2013-03-06 电子科技大学 一种嵌入式操作系统定时保护的实现方法
US8850557B2 (en) 2012-02-29 2014-09-30 International Business Machines Corporation Processor and data processing method with non-hierarchical computer security enhancements for context states
US8707316B1 (en) * 2012-01-05 2014-04-22 The Boeing Company Methods and systems for mission-driven quality of service management
US9529614B2 (en) * 2012-03-05 2016-12-27 Board Of Regents The University Of Texas Systems Automatically bridging the semantic gap in machine introspection
US20130290315A1 (en) * 2012-04-30 2013-10-31 Iac Search & Media, Inc. Method and system of using an access control for temporarily overriding call number for representations
FR2990782B1 (fr) * 2012-05-15 2015-06-26 Sagem Defense Securite Procede de gestion d'une execution de taches dans un systeme informatique
FR2993070B1 (fr) 2012-07-09 2014-07-18 Commissariat Energie Atomique Procede d'execution, au sein d'un systeme embarque multitaches, d'une application cadencee par plusieurs domaines de temps differents incluant une gestion d'interruptions
US8869148B2 (en) * 2012-09-21 2014-10-21 International Business Machines Corporation Concurrency identification for processing of multistage workflows
FR3004274A1 (fr) 2013-04-09 2014-10-10 Krono Safe Procede d'execution de taches dans un systeme temps-reel critique
FR3004825B1 (fr) * 2013-04-19 2015-04-24 Krono Safe Procede d'allocation temporelle de taches permettant une recuperation d'erreur deterministe en temps reel
CN103984277B (zh) * 2014-05-26 2016-08-24 保定迈卓医疗器械有限公司 全数字化制氧机监测控制系统
CN104980224A (zh) * 2015-05-05 2015-10-14 电子科技大学 Fc-ae-1553数据交换模式设计、网络控制及节能方法
US10635831B1 (en) * 2018-01-06 2020-04-28 Ralph Crittenden Moore Method to achieve better security using a memory protection unit
US20220078199A1 (en) * 2020-09-09 2022-03-10 Spyderbat, Inc. Security event connectivity generated by linking enitities and actions from process tracking

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4589093A (en) * 1983-03-28 1986-05-13 Xerox Corporation Timer manager
FR2766592B1 (fr) * 1997-07-23 1999-08-27 Bull Sa Dispositif et procede de regulation dynamique de l'attribution des ressources sur un systeme informatique
FR2771828B1 (fr) * 1997-12-03 2002-11-29 Sextant Avionique Procede de securisation pour un calculateur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vincent David et al., "Safety properties ensured by the OASIS Model for Safety Critical Real-Time Systems", IFIP - SAFECOMP'98, 5-7 Oct. 1998.

Also Published As

Publication number Publication date
FR2816730A1 (fr) 2002-05-17
AU2002220777A1 (en) 2002-05-21
EP1337919B1 (fr) 2007-04-11
US20040078547A1 (en) 2004-04-22
CN1488097A (zh) 2004-04-07
US7299383B2 (en) 2007-11-20
FR2816730B1 (fr) 2004-10-15
CN1282079C (zh) 2006-10-25
ATE359549T1 (de) 2007-05-15
JP2004535607A (ja) 2004-11-25
JP3921447B2 (ja) 2007-05-30
RU2285947C2 (ru) 2006-10-20
WO2002039277A1 (fr) 2002-05-16
CA2428467A1 (en) 2002-05-16
ES2284725T3 (es) 2007-11-16
KR20030063378A (ko) 2003-07-28
EP1337919A1 (fr) 2003-08-27
CA2428467C (en) 2008-09-23
DE60127857T2 (de) 2007-12-20
DE60127857D1 (de) 2007-05-24

Similar Documents

Publication Publication Date Title
KR100837787B1 (ko) 에러제한을 가진 제어 및 명령타입의 다중테스크 응용을위한 결정적 실시간 실행을 만드는 보안방법
US5528503A (en) Integrated automation development system and method
US8161453B2 (en) Method and apparatus for implementing task management of computer operations
US20230025917A1 (en) Task scheduling method and apparatus
Dubey et al. A component model for hard real‐time systems: CCM with ARINC‐653
CA2408525A1 (en) Communication handling in integrated modular avionics
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
CN111857993B (zh) 一种内核态调用用户态函数的方法
EP0834808A1 (en) Method and apparatus for user-level support for multiple event synchronization
CN114756357B (zh) 一种基于jvm的非阻塞分布式计划任务调度方法
CN112015563A (zh) 消息队列切换方法、装置、电子设备及存储介质
Babau et al. Expressing real-time constraints in a reflective object model
Eloranta et al. A pattern language for distributed machine control systems
CN100432944C (zh) 计算机系统
EP1227401B1 (en) Task management device, method and program therefor
US5136710A (en) Dynamic inactivation of program exits of the application program while the system program is running
WO2019005862A1 (en) INTERCOMMUNICATION BETWEEN ACTORS IN AN OPERATING SYSTEM
JP2017204286A (ja) 車両用制御装置
Maticu Functionality assignment to partitioned multi-core architectures
KR100340338B1 (ko) 프로세스 관리 및 유지 보수 시스템 및 방법
CN113535337A (zh) 信息处理方法、装置、存储介质及处理器
CN117762440A (zh) 应用程序的更新方法、装置、电子设备及存储介质
Holmes et al. Software requirements specification for the HAWK operating system
CN118034995A (zh) 服务进程的运行方法、装置、设备、存储介质及程序产品
KR20200020485A (ko) 운영체제 시스템의 자원 관리 장치 및 방법

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
FPAY Annual fee payment

Payment date: 20130523

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140526

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150521

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160526

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 11