KR20030015234A - 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법 - Google Patents

차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20030015234A
KR20030015234A KR1020027014833A KR20027014833A KR20030015234A KR 20030015234 A KR20030015234 A KR 20030015234A KR 1020027014833 A KR1020027014833 A KR 1020027014833A KR 20027014833 A KR20027014833 A KR 20027014833A KR 20030015234 A KR20030015234 A KR 20030015234A
Authority
KR
South Korea
Prior art keywords
task
interval
budget
priority
during
Prior art date
Application number
KR1020027014833A
Other languages
English (en)
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 KR20030015234A publication Critical patent/KR20030015234A/ko

Links

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
    • 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
    • G06F9/524Deadlock detection or avoidance
    • 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/461Saving or restoring of program or task context

Abstract

본 발명에 따른 방법은 기본적인 실시간 동작 시스템(406)에 의해 실행되는 콘텍스트 스위치 동안 차단 태스크를 검출하고, 태스크가 차단되는 구간 동안 차단 태스크가 동작하는 것을 방지한다.

Description

차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법{Method of AND system for withdrawing budget from a blocking task}
상술한 종류의 방법 실시예는 미국특허 제6,108,683호로부터 공지되어 있다. 여기에서, 사용자 레벨 프로세스 스케줄러(user-level process scheduler)는 다중 매체 프로세싱용으로 사용될 수 있는 실시간 클래스 프로세스 스케줄러 스페이스(real-time class process scheduler)로 개시되어 있다. 실시간 클래스 프로세스 스케줄러는 동작 시스템에 의해 지지되는 고정된 우선순위 프로세스 스케줄러이다. 사용자 레벨 프로세스 스케줄러는 사용자 프로세스에 CPU 시간을 할당하며, 동시에, 사용자 레벨 프로세스 스케줄러는 사용자 프로세스보다 낮은 우선순위 또는 그와 같은 우선순위를 갖는 차단 검출 프로세스(blocking detection process)를 제공한다. 사용자 프로세스가 입/출력 대기(waiting)로 인해 차단될 때, 사용자 레벨 프로세스 스케줄러는 차단 검출 프로세스에 CPU 시간을 할당한다. 그후, 차단 검출 프로세스는 차단의 발생을 검출하고 이 차단 발생을 사용자 레벨 프로세스 스케줄러에 알린다. 이 발생을 알림으로써, 사용자 레벨 프로세스 스케줄러는 사용자 프로세스의 실행이 중지되거나 정지됨을 인식하고, 사용자 레벨 프로세스는 또 다른 사용자 프로세스가 실행되게 한다. 또한, 사용자 레벨 프로세스 스케줄러는 사용자 프로세스가 실행될 수 있음을 나타내는 준비(ready) 또는 실행가능 상태로 사용자 프로세스의 상태가 바뀔 때 검출된 준비 상태를 보고 받음으로써 통지 받는다. 사용자 레벨 프로세스 스케줄러가 준비 상태의 검출을 나타내는 이 통지를 수신할 때, 사용자 레벨 프로세스 스케줄러는 사용자 프로세스에 다시 CPU 시간을 할당한다.
본 발명은 구간(period) 동안 동작하도록 상기 제 1 태스크를 개시하는 제 1 단계와,
제 1 태스크가 구간 동안 차단하는 것을 검출하는 제 2 단계를 포함하는 제 1 태스크를 스케줄링하는 방법에 관한 것이다.
또한, 본 발명은 구간 동안 상기 제 1 태스크를 동작시키는 것으로 구성되는 동작 수단(running means)과,
상기 제 1 태스크의 차단 상태를 검출하는 것으로 구성되는 검출 수단(412)을 포함하는 제 1 태스크를 스케줄링하기 위한 시스템에 관한 것이다.
도 1은 파이프라인(pipe-line) 또는 스트리밍 아키텍쳐(streaming architecture)를 보여주는 도면.
도 2는 태스크의 미싱 데드라인(missing deadline)을 보여주는 도면.
도 3은 본 발명에 따른 방법의 실시예의 주요 단계들을 보여주는 도면.
도 4는 개략적으로 본 발명에 따른 실시예의 가장 중요한 부분들을 보여주는 도면.
도 5는 본 발명에 따른 시스템의 실시예를 포함하는 텔레비전 세트를 개략적으로 보여주는 도면.
도 6은 본 발명에 따른 시스템의 실시예를 포함하는 셋톱박스를 개략적으로 보여주는 도면.
볼 발명의 목적은 향상된 방식으로 태스크의 차단 상태를 조절하는 상술한 바와 같은 방법을 제공한다. 이 목적을 달성하기 위해서, 본 발명에 따른 방법은 상기 방법이 제 1 태스크가 구간 동안 동작을 재개하는 것을 방지하는 제 3 단계를더 포함하는 것을 특징으로 한다. 제 1 태스크가 차단하는 것으로 검출된 구간 동안 제 1 태스크가 동작을 재개하는 것을 방지함으로써, 다른 태스크들이 그들의 데드라인들을 놓치는 것이 방지된다. 데드라인은 태스크가 구간 내에 상당양의 작업을 실행해야하기 전의 시간 스탬프(time stamp)를 나타낸다. 데드라인은 각 구간과 같을 수 있다. 태스크가 구간 내의 자신의 데드라인에 만족하지 못하는 경우에, 시스템의 전체 성능이 열화될 수 있다. 태스크가 차단되는 시간 동안, 다른 태스크들은 진행이 방지될 수 있고, 그 결과 이들 다른 태스크들 또한 자신들의 데드라인을 놓치게 된다. 차단중인 태스크가 다른 태스크들을 방해하여, 다른 태스크들이 자신들의 데드라인들을 놓치게 하는 것을 방지하기 위해서, 차단중인 태스크가 그것이 차단되고 있는 구간 동안 재개하는 것을 막는다.
본 발명에 따른 방법의 실시예는 청구항 2에 개시된다. 콘텍스트 스위치 정보(context switch information)를 이용함으로써, 실시간 동작 시스템에 의해 스케줄돼야 하는 개별의 차단 검출 태스크(blocking detection task)를 제공하거나, 미리정해진 구간들에서, 각각의 태스크를 폴링(polling)하고 그것이 차단되는지 아닌지를 문의하는 폴링 메커니즘을 제공할 필요가 없다. 실시간 동작 시스템은 현재 동작중인 태스크가 보류(suspend)되고 또 다른 태스크가 재개되는 콘텍스트 스위치를 행할 수 있다. 실시간 동작 시스템은 이 콘텍스트 스위치 동안 실행될 수 있는 링크인 소프트웨어(link-in software)에 인터페이스들(interfaces)이나 후크들(hooks)을 제공할 수 있다. 그후에, 링크인 소프트웨어는 콘텍스트 스위치 동안 보류되고 재개되는 태스크에 대한 정보를 액세스하고 정보를 보류된 태스크가차단되었는지의 여부를 검출하기 위해 사용할 수 있다.
본 발명에 따른 방법의 실시예가 청구항 3에 개시되어 있다. 콘텍스트 스위치 정보를 사용함으로써, 태스크의 차단은 태스크 자체에 부가적인 인터페이스들이나 정보를 부가하는 대신에 또는 시스템에 지정된 차단 검출 태스크를 부가하는 대신에 기초적인(underlying) 실시간 동작 시스템의 제공된 인터페이스들 및 이용가능한 정보로부터 유도될 수 있다. 예를 들면, 레이트 모노토닉 스케줄링(Rate Monotonic Scheduling: RAM)이 태스크들을 스케줄링하기 위해 적용될 때, 보류되는 태스크의 우선순위 및 재개되는 태스크의 우선순위가 콘텍스트 스위치 동안 사용될 수 있다. RMS 내에서, 보다 긴 구간을 갖는 태스크는 짧은 구간을 갖는 태스크보다 낮은 우선순위를 가지며, 보다 높은 우선순위를 갖는 태스크의 스케줄링은 보다 낮은 우선순위를 갖는 태스크보다 선행한다. 각각의 태스크는 구간에 대한 자신의 데드라인을 충족시키기 위해서 구간 동안 소비하기 위한 태스크가 허용되는 자원들(resources)의 예산(budget)에 할당된다. 구간 동안 보류된 태스크가 재개되는 태스크보다 높은 우선순위를 가질 때, 높은 우선순위 태스크는 그 구간에 대해 할당된 예산을 소비하지 않으며, 그후에 보류된 태스크가 차단된다.
본 발명에 따른 실시예가 청구항 4에 개시된다. 제 1의 차단 태스크로부터 남아있는 예산을 회수(withdraw)함으로써, 이 제 1의 차단 태스크는 그것이 보류되는 것과 같은 구간 내에서 재개되는 것이 방지된다. 그러므로, 이 제 1의 차단 태스크는 다른 태스크들이 그들의 데드라인들을 놓치지 않게 한다. 이는 태스크가 구간 동안 재개되기 위해서 만족해야하는 조건들로부터 얻어진다. 이들 조건들 중 하나는 태스크가 구간 동안 소비할 남아있는 예산을 가져야 한다는 것이다. 태스크가 구간 동안 소비할 남아있는 예산을 가지고 있지 않을 때, 기초적인 실시간 동작 시스템은 이 구간 동안 동작하도록 태스크를 재개하기 않는다.
본 발명의 또 다른 목적은 향상된 방식으로 태스크의 차단 상태를 조절하는 상술한 바와 같은 시스템을 제공하는 것이다. 이 목적을 달성하기 위해서, 본 발명에 따른 제 1 태스크를 스케줄링하는 시스템은 제 1 태스크가 구간 동안 동작하여 재개하는 것을 방지하는 것으로 구성되는 방지 수단을 포함하는 것을 특징으로 한다.
본 발명에 따른 시스템의 실시예들이 청구항 6에 개시된다.
본 발명은 첨부된 도면들로써 예시되는 실시예들에 의해 설명된다.
오늘날, 연속적인 매체(continuous media) 프로세싱은 지정된 단일 기능의 구성요소들보다는 점점 더 프로그램가능한 구성요소들에 의해 실행되고 있다. 오디오 및 비디오에 대해 요구되는 바와 같은, 연속적인 매체 프로세싱의 특징들 중 하나는 또한 데드라인들이라고 불리는 타이밍 제한들(time constrains)의 존재이다. 적절히 이러한 데이터를 조절하기 위해서, 시스템은 타이밍 제한들을 관찰해야 하고, 프로세싱을 위해 충분한 시스템 자원들을 보장해야 한다. 실시간 자원들이 유한하므로, 충분한 시스템 자원들은 특정 프로세싱 세션(session)에 대해 유보(reserve)될 수 없다. 이것은 태스크가 그들의 데드라인들을 놓치게 할 수 있으며, 시스템의 성능을 열화시킬 수 있으며, 이용가능한 자원들의 최적의 이용을 못하게 한다.
고품질 비디오 시스템들에서, 태스크는 동작하도록 허용되는 동안 미리정해진 많은 구간들을 가질 수 있다, 또한, 태스크의 모든 구간들은 동일한 길이일 수 있으며 그것들은 연속적일 수 있다. 각각의 구간동안 소비하도록 태스크에 허용되는 자원들의 예산은 정기 예산(periodic budget)이라 불린다. 태스크의 정기 예산들은 각각의 구간에 대해 동일할 수 있으며 또는 정기 예산들은 구간마다 다를 수 있다. 태스크들은 태스크가 구간 내에서 상당양의 작업을 수행해야 하기 전의 시간스탬프를 나타내는 데드라인들을 가질 수 있다. 여기에서, 데드라인은 구간의 끝(end)과 같다. 태스크가 구간 내에서 자신의 데드라인을 만족시키지 못하는 경우, 시스템의 전체 성능이 열화될 수 있다.
본 발명에 따른 방법의 실시예는 pSOS라고 불리는 상업적으로 이용가능한 실시간 동작 시스템을 사용한다. VxWorks와 같은 고정된 우선순위 스케줄링을 지원하는 다른 실시간 동작 시스템들 또한 사용될 수 있다. 실시간 동작 시스템은 태스크의 우선순위에 기초한 다른 태스크들을 스케줄링하고, 보다 높은 우선순위를 갖는 태스크는 보다 낮은 우선순위를 갖는 태스크보다 선행한다. 태스크는 고정된 우선순위 스케줄링 기술 레이트 모노토닉 스케줄링(RMS)에 기초하여 우선순위를 수신한다. 이는 보다 긴 구간을 갖는 태스크가 짧은 구간을 갖는 태스크보다 낮은 우선순위를 갖는다는 것을 의미한다. 두 개의 태스크들이 동일한 구간을 가질 때, 보다 작은 예산을 갖는 태스크가 보다 높은 우선순위를 얻는다. 이 방식으로 계산된 우선순위는 레이트 모노토닉 우선순위(RM)라고 불린다. 태스크가 구간 동안 자신의 예산들을 소비하도록 하기 위해서, 태스크의 우선순위는 RM 우선순위로 올라간다. 일단 예산이 소모되면, 태스크의 우선순위는 배경 우선순위(background priority)로 설정된다. 배경 우선순위는 가장낮은 우선순위이다. 태스크의 우선순위가 RM 우선순위로 설정될 때, 그것의 예산이 인에이블(enable)되고, 태스크의 우선순위가 배경 우선순위로 설정될 때, 그것의 예산은 디스에이블된다.
동작 시스템은 예산들을 인에이블하고 그것들을 디스에이블 한다. 예산이 인에이블될 때, 태스크는 재개되거나 시스템에 들어간다. 예산이 디스에이블될 때,태스크는 보류되거나 시스템을 떠난다. 동작 시스템에 의해 실행되는 콘텍스트 스위치 동안, 태스크가 시스템에 들어가는 반면에 또 다른 태스크는 시스템을 떠난다. 동작 시스템은 콘텍스트 스위치 동안 실행될 수 있는 본 발명에 따른 방법의 실시예를 링크인하도록 인터페이스들을 제공한다. 이는 프로그래머가 기초적인 동작 시스템의 기능성을 확장할 수 있게 한다. 확장된 기능성은 시스템의 성능을 향상시키기 위해 사용될 수 있다.
도 1은 연속적인 매체 프로세싱을 실행하는 태스크들이 큐(queue)들에 의해 서로 링크되는 파이프라인 또는 스트리밍 아키텍쳐의 예를 보여준다. 태스크(102)는 자신의 입력 큐(106)로부터 입력 데이터를 수신하고, 그 입력 데이터를 처리하며, 얻어진 출력 데이터를 출력 큐(108)에 놓는다. 태스크(102)의 출력 큐는 후속하는 태스크(104)의 입력 큐로서 역할을 한다. 입력 큐 및 출력 큐는 경계지어진(bounded) 큐들이며, 이는 그것들이 태스크에 의해 처리될 수 있는 데이터를 보유하기 위한 제한된 용량을 갖는다는 것을 의미한다. 이 파이프-라인 또는 스트리밍 아키텍쳐 내에서, 태스크는 그것의 입력 큐가 비어있거나 그것의 출력 큐가 충분할 때 차단할 수 있다. 이는 태스크가 매우 빠르거나 앞서서 작동할 때 일어날 수 있다. 아래에 설명되는 바와 같이 본 발명에 따른 방법의 실시예는 차단 태스크 예컨대, 태스크(102)가 비차단(non-blocking) 태스크 예컨대 태스크(104)의 처리를 방해하는 것을 방지한다.
도 2는 태스크의 데드라인 놓침(deadline miss)의 예를 보여준다. 여기서,태스크(202)는 우선순위 P202, 구간 T202=5 및 정기 예산 B202=2를 갖는 정기 태스크이고, 태스크(206)는 우선순위 P202, 구간 T206=6 및 정기 예산 B206=3을 갖는 정기 태스크이다. 태스크(202)는 그것의 구간이 태스크(206)의 구간보다 작기 때문에 높은 우선순위 태스크이다.
T202< T206=> P202> P206
각각의 태스크는 그것의 구간들의 시작시에 동작할 준비가 되어 있으며, 그러므로, 이것은 구간의 시작시에 동작 개시된다. 화살표는 구간의 시작을 나타내며, Tij는 구간 j에 대한 태스크 i의 구간 T를 나타내고, Bij는 구간 j에 대한 태스크 i의 정기 예산 B를 나타낸다.
도 2에 도시된 바와 같이, 태스크(202)는 그것이 제 1 구간 T202,1의 개시이므로 210에서 개시한다. 212에서, 태스크(202)는 그것의 예산B202,1을 소비한다. 실시간 동작 시스템 pSOS는 태스크(202)를 보류하고, 2112에서 동작하기 위해 태스크(206)를 개시한다. 제 2 구간 T202,2는 214에서 개시한다. 하지만, 214에서 216까지, 태스크(202)는 그 태스크가 그것의 정기 예산을 소비하지 않는 동안 차단된다. 태스크(206)의 제 2 구간 T202,2는 216에서 개시한다. 각각의 태스크가 그것의 구간의 시작 시에 동작할 준비가 되어 있으므로, 태스크(202)는 차단되고, 태스크(026)가 216에서 동작을 개시한다. 그러나, 218에서, 태스크(202)는 더 이상차단되지 않으며, 202의 우선순위가 206의 우선순위보다 높기 때문에, 태스크(202)는 218에서 태스크(206)에 선취한다(preempt). 하지만, 도 2로부터 유도될 수 있는 바와 같이, 이 순간에, 태스크(206)는 이것의 정기 예산 B206,2보다 적은 소비된 예산 CB206,2를 소비한다:
CB206,2= 1 및 B206,2= 3 => CB206,2< B206,2
이때, 태스크(206)의 남아있는 예산 RB206,2는 RB206,2= B206,2- B206,2=2 이다.
태스크(202)는 그것의 완전한 예산 B202,2를 소비한다. 태스크(202)의 다음 구간 T202,3은 220에서 개시하고, 이것이 태스크(202)의 제 3 구간의 시작이고, 태스크(202)의 우선순위가 태스크(206)의 우선순위보다 높기 때문에, 태스크(202)는 220에서 동작을 개시한다. 태스크(220)가 이것의 완전한 예산 B202,3을 소비할 때, 태스크(202)는 보류되며, 태스크(206)가 그것의 남아있는 예산 RB206,2를 소비하기 위해 시작된다. 224에서, 태스크(206)는 태스크(206)의 제 3 구간이 태스크(206)가 그것이 남아있는 예산 RB206,2를 소비하기 전에 개시하므로 그것의 데드라인을 놓치게 된다. 보다 높은 우선순위를 갖는 차단 태스크를 재개한 결과, 보다 낮은 우선순위를 갖는 태스크의 데드라인의 놓침이 도 3에 도시된 바와 같이 본 발명에 따른 방법의 실시예의 주요 단계들에 의해 방지된다.
도 3은 본 발명에 따른 방법의 실시예의 주요 단계들을 보여준다. 여기서,태스크의 구간은 동일한 길이이고, 구간들은 연속적이고, 정기 예산들은 동일하다. 이 방법은 앞서 설명한 바와 같이 기본적인 동작 시스템 pSOS에 의해 실행되는 콘텍스트 스위치 동안 실행된다.
단계 300 내에서, 시스템을 떠나는 태스크(leaving task)의 우선순위는 시스템으로 들어갈 태스크의 우선순위에 대해여 검사된다. 시스템을 떠나는 태스크의 우선순위가 시스템으로 들어가는 태스크의 우선순위보다 낮거나 같을 때, 시스템으로 들어가는 태스크는 동작이 허용되며, 본 발명에 따른 방법은 단계 320 내에서 pSOS를 소급 제어(back control)한다. 시스템을 떠나는 태스크의 우선순위가 시스템으로 들어오는 태스크의 우선순위보다 높을 때, 떠나는 태스크의 예산은 단계 302 내에서 검사된다. 떠나는 태스크의 예산은 떠나는 태스크의 현재 구간 동안 태스크에 의해 사용되지 않은 남아있는 예산을 나타낸다. 떠나는 태스크의 이 남아있는 예산이 0과 같을 때, 떠나는 태스크는 기본적인 동작 시스템에 의해 다시 동작하도록 허용되지 않는다. 시스템으로 들어가는 태스크는 동작이 허용되며, 본 발명에 따른 방법은 단계 320 내에서 pSOS을 소급 제어한다. 떠나는 태스크의 남아있는 예산이 0보다 클 때, 떠나는 태스크는 차단 중이다. 이 떠나고 차단중인 태스크의 남아있는 예산은 그후에 단계 304 내에서 0으로 줄어든다. 떠나는 태스크의 남아있는 예산을 0으로 줄임으로써, 기본적인 동작 시스템은 떠나는 태스크의 현재 구간 동안 다시 동작하도록 떠나는 태스크를 선택하지 않는다. 남아있는 예산을 줄인 후, 시스템으로 들어가는 태스크는 동작이 허용되고, 본 발명에 따른 방법은 단계 320 내에서 pSOS를 소급 제어한다.
본 발명의 방법의 상술한 실시예에서의 순서는 강제적인 것은 아니며, 기술분야의 당업자는 본 발명에 의해 의도되는 바와 같은 개념으로부터 벗어남이 없이 연속하는 모델들(threading models), 멀티프로세서 시스템들 또는 다수의 프로세스들을 이용하여 단계들의 순서를 변경하거나 동시에 단계들을 실행할 수 있다.
도 4는 개략적인 방식으로 본 발명에 따른 시스템의 실시예의 가장 중요한 부분들을 설명한다. 시스템(400) 예컨대 이미지 프레임을 복호하는 제 1 태스크를 실행하기 위해 내장된 컴퓨터 판독가능 코드(computer-readable code)를 갖는 제 1 메모리(402)를 포함한다. 제 2 메모리(404)는 제 2 태스크를 실행하기 위해 예컨대 복호된 프레임의 이미지 강화(enhancement)를 적용하기 위해 내장된 컴퓨터 판독가능 코드를 갖는다. 실시간 동작 시스템, 예컨대 pSOS의 코드가 제 3 메모리(406)에 내장된다. 실시간 동작 시스템의 코드는 우선순위들, 할당된 예산들 및 제 1 및 제 2 태스크의 구간들을 포함하는 메모리(410)를 액세스한다. 여기서, 앞서 상술한 바와 같이, 제 1 태스크는 우선순위 P1, 구간 T1=5 및 정기 예산 B1=2를 갖는 정기 태스크이고, 제 2 태스크는 우선순위 P2, 구간 T2=6 및 정기 예산 B2=3을 갖는 정기 태스크이다. 또한, 메모리(410)는 제 1 태스크를 실행하기 위한 제 1 메모리(402)에 내장되는 코드의 동작 개시로부터 경과된 시간을 포함한다. 실시간 동작 시스템 pSOS는 레이트 모노토닉 스케줄링에 기초하여 태스크를 스케줄한다. 구간 예산들(B1, B2)은 CPU(408)의 CPU 사이클들의 양을 나타내고, 태스크는 그것의 예산이 실시간 동작 시스템 pSOS에 의해 인에이블될 때 구간 동안 사용될 수 있다. 실시간 동작 시스템 pSOS는 그것이 콘텍스트 스위치를 실행할 때 콘텍스트 스위치 정보로 메모리(412)를 채운다. 콘텍스트 스위치 내에서, 예산이 디스에이블되는 태스크의 우선순위 및 남아있는 예산 및 그 예산이 인에이블될 태스크의 우선순위 및 남아있는 예산은 메모리(412)에 놓인다. 메모리(414)는 메모리(412)로부터 정보를 검색하고 그 예산이 디스에이블되는 태스크의 남아있는 예산을 갱신하기 위해 내장된 컴퓨터 판독가능 코드를 갖는다. 전술한 바와 같이 검색된 정보가 디스에이블된 예산이 차단 중에 있다는 것을 나타낼 때, 이 차단 상태는 메모리(412)의 내용들에 부가된다. 디스에이블된 예산을 갖는 태스크의 남아있는 예산은 그후에 0으로 설정되고 그것의 우선순위는 실시간 동작 시스템 pSOS에 의한 태스크의 현 구간 동안 배경 우선순위(background priority)로 설정된다. 이 시스템(400)은 소프트웨어를 동작할 수 있는 컴퓨터 또는 임의의 다른 표준 아키텍쳐에 의한 응용으로서 동작되도록 의도된 소프트웨어에서 구현된다. 시스템은 디지털 텔레비전 세트(416)를 동작시키기 위해 사용될 수 있다. 소프트웨어는 또한 본 발명에 따른 방법을 실행하기 위해 배치되는 컴퓨터 프로그램 제품을 포함하는 저장장치(420)로부터 갱신될 수 있다. 저장장치는 시스템(400)에 접속되는 CD 판독기(418)에 의해 판독된다.
도 5는 본 발명에 따른 시스템의 실시예를 포함하는 텔레비전 세트(510)의 가장 중요한 부분들을 개략적인 방식으로 보여준다. 여기서, 안테나(500)는 텔레비전 신호를 수신한다. 안테나는 또한 예컨대 위성 접시, 케이블, 저장장치, 인터넷, 이더넷 또는 텔레비전 신호를 수신하기 위한 임의의 다른 장치일 수 있다. 수신기(502)는 그 신호를 수신한다. 신호는 예컨대, 디지털, 아날로그, RGB 또는YUV일 수 있다. 수신기(502) 이외에, 텔레비전 세트는 프로그램가능 구성성분(504), 예컨대, 프로그램가능 통합 회로를 포함한다. 이 프로그램가능 구성성분은 본 발명에 따른 시스템(506)을 포함한다. 텔레비전 스크린(508)은 수신기(502)에 의해 수신되고 프로그램가능한 구성성분(504), 본 발명에 따른 시스템 및 일반적으로 텔레비전 세트에 포함되지만 여기에 도시되지는 않은 다른 부분들에 의해 처리되는 이미지들을 보여준다.
도 6은 본 발명에 따른 시스템의 실시예를 포함하는 셋톱 박스의 가장 중요한 부분들을 개략적인 방식으로 보여준다. 안테나는 또한 위성 접시, 케이블, 저장장치, 인터넷, 이더넷 또는 텔레비전 신호를 수신하기 위한 임의의 다른 장치일 수 있다. 셋톱 박스(602)는 신호를 수신한다. 신호는 예컨대 디지털, 아날로그, RGB 또는 YUV일 수 있다. 셋톱 박스에 포함되지만 여기에 도시되지는 않은 일반적인 부분들 이외에, 셋톱 박스는 본 발명의 시스템(604)을 포함한다. 텔레비전 세트(606)는 본 발명에 따른 시스템(604)과 함께 셋톱 박스(602)에 의해 수신된 신호로부터 발생되는 출력 신호를 보여줄 수 있다. 출력 신호는 또한 VCR, DVD-RW 또는 하드디스크와 같은 저장장치에 지시될 수 있으며, 그것들은 텔레비전 세트에 지시되는 대신에 인터넷 링크(internet link)에 지시될 수 있다.

Claims (10)

  1. 제 1 태스크(task)를 스케줄링(scheduling)하는 방법으로서,
    구간 동안 동작하도록 상기 제 1 태스크를 개시하는 제 1 단계와,
    상기 제 1 태스크가 상기 구간 동안 차단하는 것을 검출하는 제 2 단계를 포함하는, 상기 방법에 있어서,
    상기 제 1 태스크가 상기 구간 동안 동작을 재개하는 것을 방지하는 제 3 단계를 더 포함하는 것을 특징으로 하는, 제 1 태스크 스케줄링 방법.
  2. 제 1항에 있어서,
    상기 제 2 단계는 콘텍스트 스위치 정보(context switch information)에 기초하는 것인, 제 1 태스크 스케줄링 방법.
  3. 제 2항에 있어서,
    상기 제 1 태스크가 상기 구간 동안 차단하는 것을 검출하는 제 2 단계는,
    상기 제 1 태스크가 보류되고, 제 2 태스크가 동작을 개시하도록 허용되는 것을 검출하는 제 1 부단계(sub-step)를 포함하고,
    상기 콘텍스트 스위치 정보는,
    제 1 태스크의 제 1 우선순위보다 낮은 제 2 태스크의 제 2 우선순위와,
    상기 구간 동안 할당된 예산(budget)에서 상기 구간 동안 소비한 예산을 뺀것과 실질적으로 같은 상기 제 1 태스크의 남아있는 예산을 포함하는, 제 1 태스크 스케줄링 방법.
  4. 제 3항에 있어서, 상기 남아있는 예산은 상기 구간 동안 제 1 태스크로부터 회수되는, 제 1 태스크 스케줄링 방법.
  5. 제 1 태스크를 스케줄링하기 위한 시스템(400)으로서,
    구간 동안 상기 제 1 태스크를 동작시키는 것으로 구성되는 동작 수단(running means: 408)과,
    상기 제 1 태스크의 차단 상태를 검출하는 것으로 구성되는 검출 수단(412)을 포함하는, 상기 시스템에 있어서,
    상기 제 1 태스크가 상기 구간 동안 동작을 재개하는 것을 방지하는 것으로 구성되는 방지 수단(preventing means: 414)을 더 포함하는 것을 특징으로 하는, 제 1 태스크 스케줄링 시스템.
  6. 제 5항에 있어서,
    상기 검출 수단(412)은 또한,
    보류되는 상기 제 1 태스크의 제 1 우선순위와,
    상기 제 1 태스크의 제 1 우선순위보다 낮은 것으로 재개되는 제 2 태스크의 제 2 우선순위와,
    상기 구간 동안 할당된 예산에서 상기 구간 동안 소비된 예산을 뺀 것과 실질적으로 같은 상기 제 1 태스크의 남아있는 예산에 기초하여 동작하는 것으로 구성되는, 제 1 태스크 스케줄링 시스템.
  7. 청구항 1 내지 4 중 어느 한 항에 따른 방법을 실행하기 위해 배치되는 컴퓨터 프로그램 제품.
  8. 청구항 7에 따른 컴퓨터 프로그램 제품을 포함하는 저장 장치(420).
  9. 청구항 5 또는 6에 따른 시스템을 포함하는 텔레비전 세트(510).
  10. 청구항 5 또는 6에 따른 시스템을 포함하는 셋톱 박스(602).
KR1020027014833A 2001-03-05 2002-01-30 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법 KR20030015234A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01200810.8 2001-03-05
EP01200810 2001-03-05

Publications (1)

Publication Number Publication Date
KR20030015234A true KR20030015234A (ko) 2003-02-20

Family

ID=8179965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027014833A KR20030015234A (ko) 2001-03-05 2002-01-30 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20020124043A1 (ko)
EP (1) EP1377903A2 (ko)
JP (1) JP2004528635A (ko)
KR (1) KR20030015234A (ko)
CN (1) CN1228714C (ko)
WO (1) WO2002071218A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345612A (ja) * 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
CN1985269A (zh) * 2004-03-31 2007-06-20 皇家飞利浦电子股份有限公司 受限预算使用技术中的转移预算的方法和系统
WO2006016283A2 (en) * 2004-08-06 2006-02-16 Koninklijke Philips Electronics N.V. Task scheduling using context switch overhead table
DE102007010127A1 (de) * 2006-03-22 2007-10-04 Mediatek Inc. Verfahren zum Verbessern der Leistung der Dienste eines Multi-Task Systems und ein entsprechendes Multi-Task System
US8621473B2 (en) * 2011-08-01 2013-12-31 Honeywell International Inc. Constrained rate monotonic analysis and scheduling
US9207977B2 (en) 2012-02-06 2015-12-08 Honeywell International Inc. Systems and methods for task grouping on multi-processors
CN103246552B (zh) * 2012-02-14 2018-03-09 腾讯科技(深圳)有限公司 防止线程出现阻塞的方法和装置
US9612868B2 (en) 2012-10-31 2017-04-04 Honeywell International Inc. Systems and methods generating inter-group and intra-group execution schedules for instruction entity allocation and scheduling on multi-processors
CN104142858B (zh) * 2013-11-29 2016-09-28 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
US9342372B1 (en) 2015-03-23 2016-05-17 Bmc Software, Inc. Dynamic workload capping
US9680657B2 (en) * 2015-08-31 2017-06-13 Bmc Software, Inc. Cost optimization in dynamic workload capping
CN109558227B (zh) * 2018-11-12 2023-03-31 中国航空工业集团公司西安飞行自动控制研究所 一种基于任务执行预算的单调速率任务调度方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161226A (en) * 1991-05-10 1992-11-03 Jmi Software Consultants Inc. Microprocessor inverse processor state usage
JP2866241B2 (ja) * 1992-01-30 1999-03-08 株式会社東芝 コンピュータシステムおよびスケジューリング方法
US6021425A (en) * 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
JPH0954699A (ja) * 1995-08-11 1997-02-25 Fujitsu Ltd 計算機のプロセススケジューラ
US5838968A (en) * 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
US6385637B1 (en) * 1997-08-21 2002-05-07 Rockwell Science Center, Inc. Periodic process timer
US6385638B1 (en) * 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US5987492A (en) * 1997-10-31 1999-11-16 Sun Microsystems, Inc. Method and apparatus for processor sharing
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks

Also Published As

Publication number Publication date
CN1228714C (zh) 2005-11-23
JP2004528635A (ja) 2004-09-16
WO2002071218A3 (en) 2003-10-30
EP1377903A2 (en) 2004-01-07
US20020124043A1 (en) 2002-09-05
WO2002071218A2 (en) 2002-09-12
CN1478230A (zh) 2004-02-25

Similar Documents

Publication Publication Date Title
US8161491B2 (en) Soft real-time load balancer
US6662297B1 (en) Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism
JP4603554B2 (ja) 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法
KR20020097156A (ko) 주기적 작업의 최상의 경우의 응답시간을 결정하는 방법및 시스템
EP2885707B1 (en) Latency sensitive software interrupt and thread scheduling
US20060195847A1 (en) Task scheduling device, method, program, recording medium, and transmission medium for priority-driven periodic process scheduling
US20060212869A1 (en) Resource management method and apparatus
JP2004164643A (ja) データ処理システムにおける実行レベル設定
KR20030015234A (ko) 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법
US20050278719A1 (en) Information processing device, process control method, and computer program
JP2007058601A (ja) タスク実行装置および方法
TW201432565A (zh) 用於執行緒排程的方法以及系統
JP2000353099A (ja) アクティブ・パイプラインにおける流れ制御方法
US20070022423A1 (en) Enhanced method for handling preemption points
JP2010287046A (ja) リソース配分システム、リソース配分方法及びリソース配分プログラム
US8615165B2 (en) Video-recording and replaying apparatus, I/O scheduling method, and program
JPWO2018211865A1 (ja) 車両制御装置
JP2009238051A (ja) プログラム変換装置及びプログラム変換方法
KR100651722B1 (ko) 실시간 성능 지원을 위한 리눅스 커널의 구성 방법 및실시간 성능 테스트 방법
JP3830133B2 (ja) 電力制御装置及び方法並びに電力制御プログラム
WO2001035209A2 (en) Modified move to rear list system and methods for thread scheduling
JP2007323256A (ja) 割込制御方法および情報処理装置
Park et al. Hardware‐Aware Rate Monotonic Scheduling Algorithm for Embedded Multimedia Systems
CN113709522A (zh) 监控视频的处理方法、装置、设备及存储介质
Taranovsky CPU Scheduling in Multimedia Operating Systems

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid