WO2008155165A1 - Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten - Google Patents

Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten Download PDF

Info

Publication number
WO2008155165A1
WO2008155165A1 PCT/EP2008/055368 EP2008055368W WO2008155165A1 WO 2008155165 A1 WO2008155165 A1 WO 2008155165A1 EP 2008055368 W EP2008055368 W EP 2008055368W WO 2008155165 A1 WO2008155165 A1 WO 2008155165A1
Authority
WO
WIPO (PCT)
Prior art keywords
priority
technical system
buffer memory
data
user interface
Prior art date
Application number
PCT/EP2008/055368
Other languages
English (en)
French (fr)
Inventor
Konrad Schwarz
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2008155165A1 publication Critical patent/WO2008155165A1/de

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
    • 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

Definitions

  • the invention relates to a method and a device for operating a technical system, in which at least one first and at least one second process run together on a processor of the technical system.
  • the sequence of processing of the processes running on the technical system is determined by their respective priority.
  • the various processes are each assigned a priority, with the assignment of the priorities usually being fixed.
  • the assignment of the priorities to the respective processes is based on the consideration that some of the processes must run without interruption, while in other processes a short-term interruption, e.g. due to the processing of a more important (so-called higher priority) process, is reasonable. Under certain circumstances, this may result in a situation in which a process with a lower priority is interrupted many times, which leads to a restriction of the manageability of the technical system.
  • the at least one first process which proceeds in particular in real time, is assigned a respective first priority for the execution of the first process.
  • the at least one second, in particular only temporarily, process is assigned a respective second priority for the execution of the relevant process, wherein the second priority is selected differently from the first priority.
  • the first priority of the first process is changed as a function of the occurrence of at least one predetermined criterion, which is monitored by a third process.
  • the dynamic change of the first priority can ensure that a real-time first process can run uninterrupted.
  • the second process if requested or required, can also proceed without delay. This is due to the fact that the priority value of the first and second processes can change dynamically. For example, if there is a certain criterion, the first priority may be higher than the second priority. On the other hand, if there is another criterion, the second priority may be higher than the first priority.
  • the change in the priority value is monitored by a third process.
  • the third process can be designed as a specially provided monitoring entity. As will be apparent from the description below, the third process may also be a process inherent in a technical system that has an otherwise detached task from supervision.
  • the first priority is selected smaller than the second priority if the at least one predetermined criterion is not met.
  • the first priority of the first process which preferably takes place in real time, is therefore chosen to be lower than the second priority, which in particular is only temporary. running. This ensures that the second process can start delay-free when it is requested.
  • the first priority is set greater than the second priority if the at least one predetermined criterion is met.
  • the priority of the first priority is chosen to be higher than the priority of the second priority. This ensures that the first process, in particular in real time, can take place without interruptions.
  • the first process expediently comprises the writing of data in real time into a buffer memory, wherein the at least one criterion is the undershooting of a parameter which represents a filling level of the buffer memory.
  • the second process expediently includes control specifications for the technical system based on activation of a user interface of the technical system.
  • the second process is a process in which it is desirable to aim for short reaction times, and which has a high variability of the load requirement. However, the short reaction times should not be at the expense of the task of the first process.
  • the third process comprises consuming the data stored in the buffer memory, in which the data read from the buffer memory are deleted therefrom, and wherein the third process is assigned a third priority.
  • the third priority of the third process is usefully higher than the first and second priorities of the first and second processes.
  • the third process can be formed, for example, by a device driver (driver software).
  • a computer program product that can be loaded directly into the internal memory of a digital computer and includes software code portions that perform the steps in accordance with the method described above when the product is run on a computer.
  • the first priority of the first process is changed in response to the occurrence of at least one predetermined criterion monitored by the third means. The change can be brought about by the third means.
  • the device has the same advantages as already explained in connection with the method described above.
  • the first means is a data source, in particular a decoder, for writing data into a buffer memory.
  • the second means is a user interface of the technical system with which control specifications for the technical system can be initiated.
  • the third means is expediently a data sink, in particular a device driver (driver software), for consuming the data stored in the buffer memory.
  • the device can be formed for example by an infotainment system in a means of transport.
  • An infotainment system is a combination of a navigation device, an audio / video system and possibly a telecommunication device.
  • Fig. 2 is a simplified, schematic representation of a technical system according to the invention.
  • the invention will be described below with reference to a technical system in which as a first process data, e.g. a music or video piece, decoded in real time and written to a buffer memory.
  • the second process involves the tracking of control commands generated using a user interface of the technical system.
  • the third process is through a data sink, e.g. a device driver or software, formed by which consumes the stored data in the buffer memory, i. be emptied. The activity of the third process thus deletes the data read from the buffer memory.
  • Fig. 1 is a technical system according to the prior art and Fig. 2 is a technical system according to of the invention.
  • Q indicates a data source.
  • S denotes a data sink and SP a buffer memory arranged between the data source Q and the data sink S.
  • the filling of the buffer memory SP by the data source Q is symbolized by the arrow marked 1.
  • the emptying of the buffer memory SP by the data sink S is symbolized by the arrow marked with 2.
  • the filling of the buffer memory SP with data decoded by the data source Q is usually done in real time. In a corresponding manner, the reading and emptying of the data contained in the buffer memory SP by the data sink S also takes place in real time. Due to this, in particular, the process of decoding the data by the source Q and writing to the buffer memory SP in the prior art is given a higher priority than the process of updating the user interface. Priority assignment is done statically in the state of the art. This approach is based on the inherent consideration that a wearing user interface is preferable to continuous music playback with dropouts. Due to the fixed assignment of the priorities to the respective processes, the user interface may possibly have an intolerable inertia.
  • the invention takes a different approach. This can best be seen with reference to FIG. 3, in which the dynamic priority assignment is shown.
  • the upper half of FIG. 3 shows the assignment of priorities to the individual processes.
  • the lower half of FIG. 3 shows a footing of the buffer memory as a function of the operation of the technical system.
  • the technical system is in an arbitrary, steady state.
  • N the process of decoding and filling the buffer memory SP is assigned a priority P N.
  • the buffer memory has a high level Q H.
  • the buffer memory is decoded and filled continuously so that the level of the buffer accumulates at a constant slope.
  • the data sink ie a device driver, which feeds the data taken from the buffer memory, for example to an audio or video amplifier, consumes the data. This is a discontinuous process TS, which is why this is represented by a dashed appearing bar.
  • the user interface BS of the technical system is actuated.
  • the user interface is in principle assigned a priority P M , which is higher than the priority P N of the data source.
  • the user interface is active between ti and t 2 .
  • the data source can not decode data and feed it to the buffer memory.
  • the level of the buffer memory decreases at a constant slope, the slope being larger than when filling the buffer memory.
  • the activity of the user interface ends when the time t 2 has been reached .
  • the data source is thus active as a process, so that the fill level of the buffer memory again increases.
  • the decoding and filling rate of the buffer memory is interrupted by the data source, due to the higher priority P M of the user interface.
  • the level of the buffer memory continues to decrease until it reaches a lower threshold SWu at time t4.
  • the detection of reaching the threshold SW 0 is detected by the data sink or the process of the device driver.
  • the threshold value SW 0 is reached, there is a risk that the buffer memory will be completely emptied when the user interface has been operated for a long time and the data is being continuously removed by the data sink, so that the supply of data to the data sink could be interrupted.
  • the priority of the data source is increased from P N to P H , with the priority P H being greater than the priority P M of the user interface.
  • the priority switching from P N to P H there is an exception state A of the technical system in which there is a low level Q N of the buffer memory. Due to the higher priority of the data source, it is now possible to refill the data memory, whereby the activation of the user interface is not taken into account until an upper threshold SW 0 is reached.
  • the upper threshold SW 0 is reached in the exemplary embodiment at time t 5 . At this time, a new priority switch takes place. This means the process of
  • Data source is in turn assigned the original, low priority P N. Due to the higher priority P M of the user interface, this interface becomes active again, as a result of which a further emptying of the buffer memory takes place until the time te. Since the lower threshold SWu has not yet been reached at the time te, there is no renewed priority switching at this time. Upon completion of the user interface at time te, the data source can refill the buffer memory. With the time ts, this again achieves a normal state N of the technical system.
  • the data sink is assigned a priority Pi which is higher than the priorities P H , P M and P N.
  • Pi > P H > P M > PN.
  • the invention can be realized by making a Fullstandsuberwachung the buffer memory becomes. This can felicitously attended by the already existing data sink, the device driver or the driver software. Hardware-technical modifications are not necessary with this procedure. Only minor software modifications are necessary, which do not require changes in architecture.
  • the buffer memory SP is enlarged in comparison with a conventional technical system.
  • An increase of the buffer memory is insofar no hardware technical modification, since the buffer memory draws from a large storage, which is usually already present.
  • the buffer memory SP in this case has an area SP H , which corresponds to the buffer memory SP of FIG. 1.
  • the buffer memory SP has an area SP N. As long as the data source can take data from the area SP N , the normal state N of the technical system is present.
  • the system features are the same in comparison to the prior art.
  • the buffer level is in the range of the extended buffer SP N , an improvement over the prior art occurs.
  • the data source no longer obstructs the execution or actuation of the user interface, which can take place without delay. This is the case as long as the level is in the extended area SP N.
  • the variability of the user interface is high, ie phases of heavy stress on the processor power alternate with phases of low or no load, then the invention allows to keep the buffer level in the extended area SP N as good as always and thus reduce the reaction time. joy of the technical system to significantly improve user input via the user interface.
  • the method remains unchanged, ie the process of decoding is performed with high priority P H. As a result, the system behavior remains the same compared to the prior art. If the original buffer SP H is full, the priority of the decoding is set from P H to P N , where P N is less than the priority P M of the user interface. As long as the process of the user interface is not needed, the process of decoding continues, filling the extended buffer SP N. Deactivation of the decoding takes place even if the extended buffer SP N is full.
  • the invention has been described in terms of a technical system with two tasks (processes), the decoding of data and the monitoring of a user interface activity.
  • the invention can also be used in technical systems in which more than two tasks have to be done. In this case, more gradations must be provided for priority assignments. For example, two decodes could be active at the same time. In this case, it makes sense to introduce a further subdivision in the area of the extended buffer, from which the priority is lowered further. This achieves a similar effect as with time multiplexing (so-called time sharing). It is also possible to control it by intrinsic instead of extrinsic factors. Thus, a control can be based on buffer fullness rather than time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Es wird ein Verfahren zum Betreiben eines technischen Systems beschrieben, in dem zumindest ein erster und zumindest ein zweiter Prozess gemeinsam auf einem Prozessor des technischen Systems ablaufen. Hierbei wird dem zumindest einen ersten, insbesondere in Echtzeit ablaufenden, Prozess eine jeweilige erste Priorität für die Durchfuhrung des ersten Prozesses zugewiesen. Dem zumindest einen, insbesondere nur zeitweilig ablaufenden, zweiten Prozess wird eine jeweilige zweite Priorität für die Durchfuhrung des betreffenden Prozesses zugewiesen, wobei die zweite Priorität zu der ersten Priorität unterschiedlich gewählt ist. Die erste Priorität des ersten Prozesses wird in Abhängigkeit des Eintretens zumindest eines vorgegebenen Kriteriums, das durch einen dritten Prozess uberwacht wird, verändert.

Description

Beschreibung
VERFAHREN UND VORRICHTUNG ZUM BETREIBEN EINES TECHNISCHEN SYSTEMS MIT VERÄNDERUNG VON PROZESS-PRIORITÄTEN
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Betreiben eines technischen Systems, in dem zumindest ein erster und zumindest ein zweiter Prozess gemeinsam auf einem Prozessor des technischen Systems ablaufen.
Wird ein technisches System in Echtzeit betrieben, so wird die Reihenfolge der Abarbeitung der auf dem technischen System ablaufenden Prozesse, welche auch als Aufgaben bezeichnet werden, durch ihre jeweilige Priorität festgelegt. Den ver- schiedenen Prozessen ist jeweils eine Priorität zugeordnet, wobei die Zuordnung der Prioritäten in der Regel fix ist. Die Zuordnung der Prioritäten zu den jeweiligen Prozessen erfolgt aus der Überlegung heraus, dass manche der Prozesse ohne Unterbrechung ablaufen müssen, wahrend bei anderen Prozessen eine kurzzeitige Unterbrechung, z.B. aufgrund der Bearbeitung eines wichtigeren (sog. hoherprioren) Prozesses, zumutbar ist. Unter Umstanden kann sich hierbei eine Situation ergeben, in der ein Prozess mit einer geringeren Priorität vielfach unterbrochen wird, was zu einer Einschränkung der Hand- habbarkeit des technischen Systems fuhrt.
Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Betreiben eines technischen Systems anzugeben, bei welchen in dem unter Echtzeit betriebenen technischen System eine optimierte Zuweisung mehrerer Prozesse zu einem Prozessor erfolgt.
Diese Aufgaben werden durch die Merkmale der unabhängigen Patentansprüche gelost. Vorteilhafte Ausfuhrungsformen finden sich jeweils in den abhangigen Patentansprüchen.
Bei einem erfindungsgemaßen Verfahren zum Betreiben eines technischen Systems, in dem zumindest ein erster und zumin- dest ein zweiter Prozess gemeinsam auf einem Prozessor des technischen Systems ablaufen, wird dem zumindest einen ersten, insbesondere in Echtzeit ablaufenden, Prozess eine jeweilige erste Priorität für die Durchfuhrung des ersten Pro- zesses zugewiesen. Dem zumindest einen zweiten, insbesondere nur zeitweilig ablaufenden, Prozess wird eine jeweilige zweite Priorität für die Durchfuhrung des betreffenden Prozesses zugewiesen, wobei die zweite Priorität zu der ersten Priorität unterschiedlich gewählt ist. Ferner wird die erste Prio- ritat des ersten Prozesses in Abhängigkeit des Eintretens zumindest einen vorgegebenen Kriteriums, das durch einen dritten Prozess überwacht wird, verändert.
Durch die dynamische Veränderung der ersten Priorität kann sichergestellt werden, dass ein in Echtzeit ablaufender erster Prozess ununterbrochen ablaufen kann. Andererseits kann auch der zweite Prozess, sofern dieser angefordert oder benotigt wird, verzogerungsfrei ablaufen. Dies ist dadurch bedingt, dass sich die Wertigkeit der Priorität des ersten und des zweiten Prozesses dynamisch verandern kann. So kann bei Vorliegen eines bestimmten Kriteriums einmal die erste Priorität hoher als die zweite Priorität sein. Bei Vorliegen eines anderen Kriteriums kann hingegen die zweite Priorität hoher als die erste Priorität sein. Die Veränderung der Priori- tatenwertigkeit wird durch einen dritten Prozess überwacht. Der dritte Prozess kann als eigens vorgesehene Uberwachungs- instanz ausgebildet sein. Wie aus der nachfolgenden Beschreibung ersichtlich werden wird, kann der dritte Prozess auch ein in einem technischen System von Haus aus vorhandener Pro- zess sein, der eine ansonsten von der Überwachung losgelöste Aufgabe innehat.
Gemäß einer Ausfuhrungsform der Erfindung wird die erste Priorität kleiner als die zweite Priorität gewählt, wenn das zu- mindest eine vorgegebene Kriterium nicht erfüllt ist. In einem Normalzustand ist damit die erste Priorität des bevorzugt in Echtzeit ablaufenden ersten Prozesses geringer gewählt, als die zweite Priorität, die insbesondere nur zeitweilig ab- lauft. Hierdurch ist sichergestellt, dass der zweite Prozess verzogerungsfrei starten kann, wenn dieser angefordert wird.
Gemäß einer weiteren zweckmäßigen Ausgestaltung wird die ers- te Priorität großer als die zweite Priorität gesetzt, wenn das zumindest eine vorgegebene Kriterium erfüllt ist. Bei Vorliegen einer besonderen Situation wird die Wertigkeit der ersten Priorität hoher gewählt als die Wertigkeit der zweiten Priorität. Hierdurch ist sichergestellt, dass der insbesonde- re in Echtzeit ablaufende erste Prozess ohne Unterbrechungen ablaufen kann.
Der erste Prozess umfasst zweckmaßigerweise das Schreiben von Daten in Echtzeit in einen Pufferspeicher, wobei das zumin- dest eine Kriterium die Unterschreitung eines Parameters ist, welcher einen Füllstand des Pufferspeichers repräsentiert. Der zweite Prozess umfasst zweckmaßigerweise Steuerungsvorgaben für das technische System aufgrund einer Aktivierung einer Benutzerschnittstelle des technischen Systems . Allgemein handelt es sich bei dem zweiten Prozess um einen Prozess, bei dem es wünschenswert ist, kurze Reaktionszeiten anzustreben, und der eine hohe Variabilität der Lastanforderung hat. Die kurzen Reaktionszeiten sollen jedoch nicht zu Lasten der Aufgabe des ersten Prozesses gehen. Der dritte Prozess umfasst in einer Ausfuhrungsform ein Verbrauchen der in dem Pufferspeicher vorgehaltenen Daten, bei dem die aus dem Pufferspeicher ausgelesenen Daten aus diesem geloscht werden, und wobei dem dritten Prozess eine dritte Priorität zugewiesen ist. Die dritte Priorität des dritten Prozesses ist zweckmaßigerweise hoher als die erste und die zweite Priorität des ersten und zweiten Prozesses. Der dritte Prozess kann beispielsweise durch einen Geräte-Treiber (Treibersoftware) gebildet sein.
Um zu häufige Umschaltungen der Wertigkeit der ersten und der zweiten Priorität des ersten und des zweiten Prozesses zu vermeiden, ist es zweckmäßig, wenn die Veränderung der ersten Priorität mit einer Hysteresekennlinie ausgeführt wird. Von der Erfindung umfasst ist ferner ein Computerprogrammprodukt, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte gemäß dem oben beschriebenen Verfahren ausgeführt werden, wenn das Produkt auf einem Computer ablauft.
Eine erfindungsgemaße Vorrichtung zum Betreiben eines technischen Systems, in dem zumindest ein erster und zumindest ein zweiter Prozess gemeinsam auf einem Prozessor des technischen Systems ablaufen, umfasst die folgenden Merkmale: zumindest ein erstes Mittel zur Durchfuhrung eines ersten, insbesondere in Echtzeit ablaufenden, Prozesses mit einer jeweiligen ersten Priorität; zumindest ein zweites Mittel zur Durchfuhrung eines zweiten, insbesondere nur zeitweilig ablaufenden, Prozesses mit einer jeweiligen zweiten Priorität, die unterschiedlich zu der ersten Priorität gewählt ist; zumindest ein drittes Mittel zur Durchfuhrung eines dritten Prozesses mit einer jeweiligen dritten Priorität. Die erste Priorität des ersten Prozesses wird in Abhängigkeit des Eintretens zumindest eines vorgegebenen Kriteriums, das durch das dritte Mittel überwacht wird, verändert. Die Veränderung kann durch das dritte Mittel herbeigeführt werden. Die erfindungsgemaße Vorrichtung weist die gleichen Vorteile auf, wie sie in Verbin- düng mit dem oben beschriebenen Verfahren bereits erläutert wurden .
Das erste Mittel ist in einer Ausgestaltung eine Datenquelle, insbesondere ein Dekodierer, zum Schreiben von Daten in einen Pufferspeicher.
Das zweite Mittel ist gemäß einer Ausfuhrungsform eine Benutzerschnittstelle des technischen Systems, mit welcher Steuerungsvorgaben für das technische System initiierbar sind.
Das dritte Mittel ist zweckmaßigerweise eine Datensenke, insbesondere ein Geräte-Treiber (Treibersoftware) , zum Verbrauchen der in dem Pufferspeicher vorgehaltenen Daten. Die Vorrichtung kann beispielsweise durch ein Infotainment- system in einem Verkehrsmittel gebildet sein. Bei einem Info- tainmentsystem handelt es sich um eine Kombination aus einem Navigationsgerat, einer Audio-/Videoanlage sowie gegebenenfalls einer Telekommunikationsvorrichtung.
Die Erfindung wird nachfolgend naher anhand der Figuren erläutert. Es zeigen:
Fig. 1 eine vereinfachte schematische Darstellung eines der Erfindung zugrunde liegenden technischen Systems ,
Fig. 2 eine vereinfachte, schematische Darstellung eines erfindungsgemaßen technischen Systems, und
Fig. 3 die dynamische Veränderung von Prioritäten, welche unterschiedlichen Prozessen zugewiesen sind, in Ab- hangigkeit des Eintretens unterschiedlicher Kriterien .
Die Erfindung wird nachfolgend anhand eines technischen Systems beschrieben, in dem als erster Prozess Daten, z.B. eines Musik- oder Videostuckes, in Echtzeit dekodiert und in einen Pufferspeicher eingeschrieben werden. Der zweite Prozess um- fasst das Nachfuhren von Steuerungsbefehlen, welche unter Verwendung einer Benutzerschnittstelle des technischen Systems generiert wurden. Der dritte Prozess ist durch eine Da- tensenke, z.B. einen Geräte-Treiber bzw. eine Treibersoftware, gebildet, durch welchen die in dem Pufferspeicher vorgehaltenen Daten verbraucht, d.h. entleert werden. Durch die Aktivität des dritten Prozesses werden somit die aus dem Pufferspeicher ausgelesenen Daten aus diesem geloscht.
Schematisch ist die beschriebene Situation in den Figuren 1 und 2 dargestellt, wobei Fig. 1 ein technisches System gemäß dem Stand der Technik und Fig. 2 ein technisches System gemäß der Erfindung beschreibt. Mit Q ist eine Datenquelle gekennzeichnet. S bezeichnet eine Datensenke und SP einen zwischen der Datenquelle Q und der Datensenke S angeordneten Pufferspeicher. Das Befullen des Pufferspeichers SP durch die Da- tenquelle Q ist durch den mit 1 gekennzeichneten Pfeil symbolisiert. Das Entleeren des Pufferspeichers SP durch die Datensenke S ist durch den mit 2 gekennzeichneten Pfeil symbolisiert .
Die in dem technischen System enthaltene Benutzerschnittstelle ist in den Figuren 1 und 2 nicht dargestellt.
Das Befullen des Pufferspeichers SP mit durch die Datenquelle Q dekodierten Daten erfolgt üblicherweise in Echtzeit. In entsprechender Weise erfolgt ebenso das Auslesen und Entleeren der in dem Pufferspeicher SP enthaltenen Daten durch die Datensenke S in Echtzeit. Aufgrund dessen ist insbesondere dem Prozess des Dekodierens der Daten durch die Quelle Q und das Beschreiben des Pufferspeichers SP im Stand der Technik eine höhere Priorität zugewiesen als dem Prozess des Nachfuh- rens der Benutzerschnittstelle. Die Prioritatsvergabe erfolgt im Stand der Technik hierbei statisch. Diese Vorgehensweise erfolgt aus der an und für sich richtigen Überlegung heraus, dass eine trage Benutzerschnittstelle einer kontinuierlichen Musikwiedergabe mit Aussetzern vorzuziehen ist. Durch die feste Zuweisung der Prioritäten zu den jeweiligen Prozessen kann unter Umstanden die Benutzerschnittstelle eine nicht mehr tolerierbare Trägheit aufweisen.
Die Erfindung geht einen anderen Weg. Dies wird am Besten anhand der Fig. 3 ersichtlich, in der die dynamische Priorita- tenzuweisung dargestellt ist. In der oberen Hälfte der Fig. 3 ist die Zuweisung von Prioritäten zu den einzelnen Prozessen dargestellt. Die untere Hälfte der Fig. 3 zeigt einen FuIl- stand des Pufferspeichers in Abhängigkeit des Betriebs des technischen Systems. Zu einem Zeitpunkt to befindet sich das technische System in einem willkürlichen, eingeschwungenen Zustand. Zwischen t0 und t4 befindet sich das technische Sys- tem in einem Normalzustand N, in welchem dem Prozess des De- kodierens und Befullens des Pufferspeichers SP eine Priorität PN zugewiesen ist. In dem Normalzustand N des technischen Systems weist der Pufferspeicher einen hohen Füllstand QH auf. Das Dekodieren und Befullen des Pufferspeichers erfolgt kontinuierlich, so dass der Füllstand des Pufferspeichers mit einer konstanten Steigung ansteigt. Die Datensenke, d.h. ein Geräte-Treiber, welcher die aus dem Pufferspeicher entnommenen Daten z.B. einem Audio- oder Videoverstärker zufuhrt, verbraucht die Daten. Dies ist ein diskontinuierlicher Prozess TS, weswegen dies durch einen strichliert erscheinenden Balken dargestellt ist.
Zum Zeitpunkt ti wird die Benutzerschnittstelle BS des tech- nischen Systems betätigt. Wahrend des Normalzustandes N ist der Benutzerschnittstelle grundsatzlich eine Priorität PM zugewiesen, welche hoher ist, als die Priorität PN der Datenquelle. Die Benutzerschnittstelle ist zwischen ti und t2 aktiv. Währenddessen kann die Datenquelle keine Daten dekodie- ren und dem Pufferspeicher zufuhren. Da die Datensenke jedoch weiterhin kontinuierlich die in dem Pufferspeicher enthaltenen Daten verbraucht, nimmt der Füllstand des Pufferspeichers mit einer konstanten Steigung ab, wobei die Steigung betrags- maßig großer ist, als wahrend des Befullens des Pufferspei- chers .
Im Ausfuhrungsbeispiel endet die Aktivität der Benutzerschnittstelle mit dem Erreichen des Zeitpunktes t2. Zwischen t2 und t3 ist damit die Datenquelle als Prozess aktiv, so dass der Füllstand des Pufferspeichers wiederum ansteigt.
Durch die erneute Betätigung der Benutzerschnittstelle zwischen t3 und t4 wird das Dekodieren und Befullen des Pufferspeichers durch die Datenquelle unterbrochen, aufgrund der höheren Priorität PM der Benutzerschnittstelle. Infolgedessen nimmt der Füllstand des Pufferspeichers weiterhin ab, bis dieser zum Zeitpunkt t4 einen unteren Schwellwert SWu erreicht. Die Detektion des Erreichens des Schwellwertes SW0 wird durch die Datensenke bzw. den Prozess des Geräte- Treibers detektiert. Mit dem Erreichen des Schwellwertes SW0 besteht die Gefahr, dass bei langer andauernder Betätigung der Benutzerschnittstelle und die kontinuierliche Datenent- nähme durch die Datensenke der Pufferspeicher vollständig entleert wird, so dass die Zufuhrung von Daten zu der Datensenke unterbrochen werden konnte. Um dies zu vermeiden wird die Priorität der Datenquelle von PN auf PH erhöht, wobei die Priorität PH großer als die Priorität PM der Benutzerschnitt- stelle ist. Wahrend der Prioritatenumschaltung von PN auf PH liegt ein Ausnahmezustand A des technischen Systems vor, in dem ein niedriger Füllstand QN des Pufferspeichers vorliegt. Aufgrund der höheren Priorität der Datenquelle kann nunmehr ein erneutes Befullen des Datenspeichers erfolgen, wobei die Aktivierung der Benutzerschnittstelle bis zum Erreichen eines oberen Schwellwertes SW0 nicht berücksichtigt wird.
Der obere Schwellwert SW0 ist im Ausfuhrungsbeispiel zum Zeitpunkt t5 erreicht. Zu diesem Zeitpunkt erfolgt eine er- neute Prioritatsumschaltung . Dies bedeutet, dem Prozess der
Datenquelle wird wiederum die ursprungliche, niedrige Priorität PN zugewiesen. Aufgrund der höheren Priorität PM der Benutzerschnittstelle wird diese wieder aktiv, wodurch ein erneutes Leeren des Pufferspeichers bis zum Zeitpunkt te er- folgt. Da zum Zeitpunkt te der untere Schwellwert SWu noch nicht erreicht ist, erfolgt zu diesem Zeitpunkt keine erneute Prioritatenumschaltung. Mit Beendigung der Benutzerschnittstelle zum Zeitpunkt te kann die Datenquelle den Pufferspeicher erneut auffüllen. Mit dem Zeitpunkt ts ist damit wieder- um ein Normalzustand N des technischen Systems erreicht.
Wie aus Fig. 3 unschwer zu erkennen ist, ist der Datensenke eine Priorität Pi zugewiesen, welche hoher als die Prioritäten PH, PM und PN ist. Im Ausfuhrungsbeispiel gilt: Pi > PH > PM > PN.
Technisch kann die Erfindung dadurch realisiert werden, dass eine Fullstandsuberwachung des Pufferspeichers vorgenommen wird. Diese kann zweckmaßigerweise durch die ohnehin vorhandene Datensenke, den Geräte-Treiber oder die Treibersoftware, realisiert sein. Hardwaretechnische Modifikationen sind bei dieser Vorgehensweise nicht notwendig. Es sind nur geringfu- gige softwaretechnische Modifikationen notwendig, die keine Architekturanderungen benotigen.
Es wird, wie dies in Fig. 2 gezeigt ist, der Pufferspeicher SP gegenüber einem herkömmlichen technischen System vergro- ßert werden. Eine Vergrößerung des Pufferspeichers ist insofern keine hardwaretechnische Modifikation, da der Pufferspeicher aus einem großen Speichervorrat schöpft, der in der Regel schon vorhanden ist. Der Pufferspeicher SP weist hierbei einen Bereich SPH auf, der dem Pufferspeicher SP aus Fig. 1 entspricht. Zusatzlich weist der Pufferspeicher SP einen Bereich SPN auf. Solange die Datenquelle Daten aus dem Bereich SPN entnehmen kann, liegt der Normalzustand N des technischen Systems vor. Ist der Bereich SPN des Pufferspeichers Sp hingegen entleert worden, und muss die Entnahme von Daten nunmehr aus dem Bereich SPH erfolgen, so wird eine Priorita- tenumschaltung vorgenommen, bei der dem Prozess des Dekodie- rens und Auffüllen des Pufferspeichers eine höhere Priorität als der Benutzerschnittstelle zugewiesen wird.
Solange sich der Pufferstand des Pufferspeichers PS im Bereich des ursprunglichen Puffers SPH befindet, sind die Systemmerkmale im Vergleich zum Stand der Technik gleich. Befindet sich der Pufferstand jedoch im Bereich des erweiterten Puffers SPN, tritt eine Verbesserung gegenüber dem Stand der Technik ein. Die Datenquelle behindert in diesem Fall nicht mehr den Ablauf bzw. die Betätigung der Benutzerschnittstelle, welche verzogerungsfrei ablaufen kann. Dies ist so lange der Fall, wie der Füllstand in dem erweiterten Bereich SPN liegt. Ist die Variabilität der Benutzerschnittstelle hoch, d.h. Phasen starker Beanspruchung der Prozessorleistung wechseln sich mit Phasen niedriger oder keiner Belastung ab, so erlaubt die Erfindung so gut wie immer den Pufferstand in dem erweiterten Bereich SPN ZU halten und damit die Reaktions- freudigkeit des technischen Systems auf Benutzereingaben über die Benutzerschnittstelle deutlich zu verbessern.
Wenn Füllstand des Pufferspeichers SP im Bereich des ur- sprunglichen Puffers SPH liegt, bleibt das Verfahren unverändert, d.h. der Prozess des Dekodierens wird mit hoher Priorität PH vorgenommen. Hierdurch bleibt das Systemverhalten im Vergleich zum Stand der Technik gleich. Lauft der ursprungliche Puffer SPH voll, so wird die Priorität des Dekodierens von PH auf PN gesetzt, wobei PN kleiner als die Priorität PM der Benutzerschnittstelle ist. Solange der Prozess der Benutzerschnittstelle nicht benotigt wird, lauft der Prozess des Dekodierens weiter, wodurch der erweitere Puffer SPN gefüllt wird. Eine Deaktivierung des Dekodierens erfolgt, wenn auch der erweitere Puffer SPN voll ist.
Umgekehrt wird bei Unterschreitung des Füllstandes vom vergrößerten in den ursprunglichen Puffer SPH die Priorität des Dekodierens auf die ursprunglich hohe Priorität PH angehoben. Damit kehrt das System zu seinem ursprunglichen, bekannten
Verhalten zurück und die Gefahr eines Leerlaufens des Pufferspeichers ist gebannt.
Die Erfindung wurde anhand eines technischen Systems mit zwei Aufgaben (Prozessen) , dem Dekodieren von Daten und der Überwachung einer Aktivität der Benutzerschnittstelle beschrieben. Die Erfindung lasst sich auch in technischen Systemen einnetzen, in denen mehr als zwei Aufgabe zu erledigen sind. In diesem Fall müssen mehr Abstufungen bei der Prioritaten- vergäbe vorgesehen werden. Zum Beispiel konnten zwei Dekodiervorgange gleichzeitig aktiv sein. In diesem Fall ist es sinnvoll, eine weitere Unterteilung im Bereich des erweiterten Puffers einzuführen, ab der die Priorität weiter abgesenkt wird. Hierdurch wird ein ahnlicher Effekt wie bei einem Zeitmultiplexing (sog. Time Sharing) erreicht. Es ist auch eine Steuerung durch intrinsische, anstatt von extrinsischen Faktoren möglich. So kann eine Steuerung anhand von Puffer- fullstanden anstatt durch Zeit erfolgen.

Claims

Patentansprüche
1. Verfahren zum Betreiben eines technischen Systems, in dem zumindest ein erster und zumindest ein zweiter Prozess ge- meinsam auf einem Prozessor des technischen Systems ablaufen, bei dem
- dem zumindest einen ersten, insbesondere in Echtzeit ablaufenden, Prozess eine jeweilige erste Priorität für die Durchfuhrung des ersten Prozesses zugewiesen wird; - dem zumindest einen, insbesondere nur zeitweilig ablaufenden, zweiten Prozess eine jeweilige zweite Priorität für die Durchfuhrung des betreffenden Prozesses zugewiesen wird, wobei die zweite Priorität zu der ersten Priorität unterschiedlich gewählt ist; und - die erste Priorität des ersten Prozesses in Abhängigkeit des Eintretens zumindest eines vorgegebenen Kriteriums, das durch einen dritten Prozess überwacht wird, verändert wird.
2. Verfahren nach Anspruch 1, bei dem die erste Priorität kleiner als die zweite Priorität gewählt wird, wenn das zumindest eine vorgegebene Kriterium nicht erfüllt ist.
3. Verfahren nach Anspruch 1 oder 2, bei dem die erste Prio- ritat großer als die zweite Priorität gesetzt wird, wenn das zumindest eine vorgegebene Kriterium erfüllt ist.
4. Verfahren nach einem der vorherigen Ansprüche, bei dem der erste Prozess das Schreiben von Daten in Echtzeit in einen Pufferspeicher (SP) umfasst, wobei das zumindest eine Kriterium die Unterschreitung eines Parameters ist, welcher einen Füllstand des Pufferspeichers (SP) repräsentiert.
5. Verfahren nach einem der vorherigen Ansprüche, bei dem der zweite Prozess Steuerungsvorgaben für das technische System aufgrund einer Aktivierung einer Benutzerschnittstelle (BS) des technischen Systems umfasst.
6. Verfahren nach einem der vorherigen Ansprüche, bei dem der dritte Prozess ein Verbrauchen der in dem Pufferspeicher (SP) vorgehaltenen Daten umfasst, bei dem die aus dem Pufferspeicher ausgelesen Daten aus diesem geloscht werden, wobei dem dritten Prozess eine dritte Priorität zugewiesen ist.
7. Verfahren nach Anspruch 6, bei dem die dritte Priorität des dritten Prozesses hoher als die erste und die zweite Priorität des ersten und des zweiten Prozesses ist.
8. Verfahren nach Anspruch 6 oder 7, bei dem der dritte Prozess ein Geräte-Treiber ist.
9. Verfahren nach einem der vorherigen Ansprüche, bei dem die Veränderung der ersten Priorität mit einer Hysteresekennlinie ausgeführt wird.
10. Computerprogrammprodukt, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Soft- warecodeabschnitte umfasst, mit denen die Schritte gemäß einem der vorherigen Ansprüche ausgeführt werden, wenn das Produkt auf einem Computer lauft.
11. Vorrichtung zum Betreiben eines technischen Systems, in dem zumindest ein erster und zumindest ein zweiter Prozess gemeinsam auf einem Prozessor des technischen Systems ablaufen, umfassend: zumindest ein erstes Mittel zur Durchfuhrung eines ersten, insbesondere in Echtzeit ablaufenden, Prozesses mit einer jeweiligen ersten Priorität; zumindest ein zweites Mittel zur Durchfuhrung eines zweiten, insbesondere nur zeitweilig ablaufenden, Prozesses mit einer jeweiligen zweiten Priorität, die unterschiedlich zu der ersten Priorität gewählt ist; - zumindest ein drittes Mittel zur Durchfuhrung eines dritten Prozesses mit einer jeweiligen dritten Priorität; wobei die erste Priorität des ersten Prozesses in Abhängigkeit des Eintretens zumindest eines vorgegebenen Kriteriums, das durch das dritte Mittel überwacht wird, verändert wird.
12. Vorrichtung nach Anspruch 11, bei der das erste Mittel eine Datenquelle (Q) , insbesondere ein Dekodierer, zum Schreiben von Daten in einen Pufferspeicher (SP) ist.
13. Vorrichtung nach Anspruch 11 oder 12, bei der das zweite Mittel eine Benutzerschnittstelle (BS) des technischen Systems ist, mit welcher Steuerungsvorgaben für das technische System initiierbar sind.
14. Vorrichtung nach Anspruch 12 oder 13, bei der das dritte Mittel eine Datensenke (S) , insbesondere ein Geräte-Treiber, zum Verbrauchen der in dem Pufferspeicher (SP) vorgehaltenen Daten ist.
15. Vorrichtung nach einem der Ansprüche 11 bis 14, bei der diese ein Infotainmentsystem in einem Verkehrsmittel ist.
PCT/EP2008/055368 2007-06-21 2008-04-30 Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten WO2008155165A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007028730.7 2007-06-21
DE200710028730 DE102007028730A1 (de) 2007-06-21 2007-06-21 Verfahren und Vorrichtung zum Betreiben eines technischen Systems

Publications (1)

Publication Number Publication Date
WO2008155165A1 true WO2008155165A1 (de) 2008-12-24

Family

ID=39708391

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/055368 WO2008155165A1 (de) 2007-06-21 2008-04-30 Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten

Country Status (2)

Country Link
DE (1) DE102007028730A1 (de)
WO (1) WO2008155165A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348645B2 (en) 2014-05-30 2016-05-24 Apple Inc. Method and apparatus for inter process priority donation
US10162727B2 (en) 2014-05-30 2018-12-25 Apple Inc. Activity tracing diagnostic systems and methods
US10430577B2 (en) 2014-05-30 2019-10-01 Apple Inc. Method and apparatus for inter process privilige transfer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080824A1 (en) * 2003-10-09 2005-04-14 International Business Machines Corporation System, apparatus and method of enhancing priority boosting of scheduled threads
EP1536334A2 (de) * 2003-08-29 2005-06-01 Microsoft Corporation System und Verfahren zur Erhöhung des Datendurchsatzes durch Ablaufsteuerung.

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859851B1 (en) * 1999-12-20 2005-02-22 Intel Corporation Buffer pre-loading for memory service interruptions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1536334A2 (de) * 2003-08-29 2005-06-01 Microsoft Corporation System und Verfahren zur Erhöhung des Datendurchsatzes durch Ablaufsteuerung.
US20050080824A1 (en) * 2003-10-09 2005-04-14 International Business Machines Corporation System, apparatus and method of enhancing priority boosting of scheduled threads

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N.J. KEELING: "Missed it! - How Priority Inversion messes up real-time performance and how the Priority Ceiling Protocol puts it right.", REAL-TIME MAGAZINE, no. 99-4, 1999, pages 46 - 50, XP002493527, Retrieved from the Internet <URL:http://www.realtime-info.be/magazine/99q4/nrt.pdf> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348645B2 (en) 2014-05-30 2016-05-24 Apple Inc. Method and apparatus for inter process priority donation
US9619012B2 (en) 2014-05-30 2017-04-11 Apple Inc. Power level control using power assertion requests
US9665398B2 (en) 2014-05-30 2017-05-30 Apple Inc. Method and apparatus for activity based execution scheduling
US10162727B2 (en) 2014-05-30 2018-12-25 Apple Inc. Activity tracing diagnostic systems and methods
US10430577B2 (en) 2014-05-30 2019-10-01 Apple Inc. Method and apparatus for inter process privilige transfer

Also Published As

Publication number Publication date
DE102007028730A1 (de) 2008-12-24

Similar Documents

Publication Publication Date Title
DE69721634T2 (de) Computersystem und Verfahren für die Ausführung von mehreren Threads mit reduziertem Runtime-Speicherbedarf
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
WO2008155165A1 (de) Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten
EP1230590B1 (de) Prozessorsystem
EP1079307B1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE102010011652A1 (de) Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen
EP3620923A1 (de) Watchdog zur überwachung eines prozessors
DE102014100045B4 (de) Eingabegerät und Datenübertragungsverfahren dafür
DE112014006861T5 (de) Programmausführungssystem und Verfahren zum Starten von residenten Programmen
EP3368975A2 (de) Verfahren und vorrichtung zum beschleunigten ausführen von applikationen
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
EP2018604B1 (de) Verfahren zum betreiben eines steuergeräts
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
DE10328237A1 (de) Verfahren zum Erzeugen von Testdaten zum Austesten der Funktionsfähigkeit einer datenverarbeitenden Schaltung
DE112017007318T5 (de) Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren
DE19546173C2 (de) Verfahren zum Testen einer Bedieneroberfläche in computergesteuerten Systemen
EP0933711B1 (de) Anordnung und Verfahren zum Bereitstellen von Daten zur Charakterisierung von verschiedenen Einheiten an einem Bussystem
DE202004009434U1 (de) Computersystem für das Klonen eines Arbeitsbetriebssystems
DE19824568C2 (de) Verfahren und Schaltungsanordnung zur Berücksichtigung von Ereignissen im Zuge des Ablaufs eines Programms, insbesondere in einer programmgesteuerten Vermittlungseinrichtung
WO2007009838A1 (de) Datenübertragungsverfahren und datenübertragungssystem
DE2419837B2 (de) Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen
DE112021001257T5 (de) Informationsverarbeitungsvorrichtung
EP4341758A1 (de) Verfahren, vorrichtung, computerprogramm und computerlesbares speichermedium zur ermittlung von fehlerbehafteten fahrzeugen
WO2021043956A1 (de) Verfahren zum datenabgleich einer webseite
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08749946

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08749946

Country of ref document: EP

Kind code of ref document: A1