이 예에서 시간 단위는 예약 가능한 시간 조각으로 간주될 수 있습니다. 마감일은 각 주기적인 프로세스가 해당 기간 내에 완료되어야 한다는 것입니다. MARTE에서 시스템 예약 정책은 시스템 스케줄러를 나타내는 특별히 지정된 모델 요소인 스케줄러의 특성으로 지정됩니다. 해당 스테레오타입은 스케줄러입니다. 이는 일반 리소스 스테레오타입의 구체화이므로(섹션 4.2.2 참조) 리소스를 나타낼 수 있는 모든 모델 요소(예: 클래스, 개체 인스턴스 또는 클래스의 특성)에 적용할 수 있습니다. 응용 프로그램 모델에서 이를 캡처하는 가장 간단한 방법은 시스템 스케줄러를 나타내는 단일 개체 인스턴스를 정의하고 선택한 스케줄링 정책에 해당하는 필요한 매개 변수 값을 제공하는 것입니다(그림 5.14 참조). TAO의 ORB Core는 전략 및 추상 팩토리 패턴[14]을 사용하여 가장 빠른 기한 또는 최대 긴급도 [73]와 같은 여러 일정 알고리즘의 구성을 허용합니다. 마찬가지로 브리지 패턴 [14]은 TAO의 ORB 코어를 일정 알고리즘의 선택으로부터 보호합니다. TAO는 서비스 구성자 패턴 [34]에 기반한 ACE 구성 요소를 사용하여 스케줄링, 다중화, 동시성 및 디스패치를 위한 새로운 알고리즘을 런타임에 동적으로 구성할 수 있도록 합니다. 가상 함수 호출을 최적화하는 C++ 컴파일러가 있는 플랫폼에서는 이 확장성의 오버헤드가 무시할 수 있습니다[27]. 실시간 컴퓨팅에서 EDF 스케줄링을 다루는 연구의 중요한 기관이 있다; EDF에서 프로세스의 최악의 경우 응답 시간을 계산하고, 주기적인 프로세스보다 다른 유형의 프로세스를 처리하고, 서버를 사용하여 과부하를 조절할 수 있습니다.

우리는 모든 실시간 제약조건을 충족시키면서 시스템의 기존 작업에 공정한 몫을 부여하기에 충분한 주기가 있다면 시스템이 과부하상태라고 말합니다. 시스템이 언더로드되면 기존 작업은 남은 프로세서 주기로 충분히 자주 서비스되므로 실시간 응용 프로그램보다 나중에 BVFT를 갖게 됩니다. 따라서 기존 응용 프로그램은 시스템에 실시간 응용 프로그램이 없는 경우에만 실행됩니다. 따라서 실시간 작업은 엄격한 최상의 일정 알고리즘으로 예약됩니다. 언더로드에서 최상의 스케줄링 알고리즘이 모든 스케줄링 제약 조건, 주기적 또는 비주기를 충족하는 것으로 나타난 가장 빠른 기한 스케줄링 알고리즘[26]으로 퇴화하는 것으로 입증되었습니다. 정적 우선 순위 패턴과 매우 유사한 패턴은 동적 우선 순위 패턴입니다. 이 패턴에서 디자인은 작업의 우선 순위를 지정하지 않습니다. 런타임에 계산됩니다. 가장 일반적인 우선 순위 할당 전략은 EDF(가장 빠른 기한 첫 번째) 일정이라고 합니다.

EDF에서 작업은 스케줄러가 이 작업의 다음 기한 경과의 절대 시간을 계산하는 기한의 기간을 지정해야 합니다. 그런 다음 모든 준비 된 작업에 대한 다음 절대 기한의 근접성에 따라 작업이 준비 큐에 배치됩니다. 즉, 작업 A가 다른 작업 B보다 다음 기한에 가까운 큐에 대기중인 경우 큐의 작업 B 앞에 배치됩니다. 그렇지 않으면 큐의 나중에 배치됩니다. EDF는 최적이지만(RMS와 같은 의미에서) 안정적이지 않습니다. 과부하 상황에서 는 작업이 기한을 충족하지 못하는 경우 설계 시점에 계산할 수 없습니다. EDF 스케줄링을 사용하는 경우 상위 사용률 바운드가 작업 수의 함수가 아니라 1.00이라는 점을 제외하면 일정가능성은 RMS 스케줄링과 유사한 방식으로 계산할 수 있습니다. 이것은 수학식 4-3에 도시되어 있습니다. EDF 정책은 매우 간단하지만 RMS와 달리 EDF는 퀀텀마다 프로세스의 우선 순위를 업데이트합니다. EDF에서 우선 순위는 기한 순으로 할당됩니다: 가장 높은 우선 순위 프로세스는 기한이 가장 가까운 프로세스이고 가장 낮은 우선 순위 프로세스는 마감일이 가장 먼 프로세스입니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.