<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Cyclic_Executive</id>
	<title>Cyclic Executive - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Cyclic_Executive"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Cyclic_Executive&amp;action=history"/>
	<updated>2026-06-01T17:05:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Cyclic_Executive&amp;diff=2713762&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Cyclic_Executive&amp;diff=2713762&amp;oldid=prev"/>
		<updated>2025-11-01T17:26:29Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Cyclic Executive&amp;#039;&amp;#039;&amp;#039; ist eine Alternative zu [[Echtzeitbetriebssystem]]en. Es ist eine Form des [[Multitasking#Kooperatives Multitasking|Kooperativen Multitasking]], in der lediglich ein [[Task]] läuft. Der einzige Task ist typischerweise als [[Endlosschleife (Programmierung)|Endlosschleife]] geschrieben, z.&amp;amp;nbsp;B. in der [[C (Programmiersprache)|Programmiersprache C]] in der main-Methode.&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Periodische Prozesse sind wichtige Software-Komponenten in [[Echtzeit]]-Computersystemen. Ein periodischer Prozess besteht aus einer Aktion, zum Beispiel einer Berechnung, die wiederholt in einem periodisch auftretenden Muster ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Eine &amp;#039;&amp;#039;Cyclic Executive&amp;#039;&amp;#039; ist eine Kontrollstruktur oder ein Programm um explizit die Ausführung mehrerer periodische Prozesse auf einer einzigen CPU zu verschachteln. Die Verschachtelung erfolgt in einer deterministischen Weise, so dass die Ausführungszeit voraussehbar ist. Es kann als Umsetzungstechnik für eine Design-Methodik gesehen werden, bei dem ein Echtzeit-System hauptsächlich aus einer Sammlung periodischer Prozesse besteht. Die Prozessverschachtelung (en: &amp;#039;&amp;#039;{{lang|en|process interleaving}}&amp;#039;&amp;#039;) wird nach einem &amp;quot;zyklischen Zeitplan&amp;quot; (en: &amp;#039;&amp;#039;{{lang|en|cyclic schedule}}&amp;#039;&amp;#039;) definiert.&amp;lt;ref&amp;gt;[https://www.math.unipd.it/~tullio/RTS/2009/BS-1988.pdf The Cyclic Executive Model and Ada] (PDF; 1,3&amp;amp;nbsp;MB)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vorteile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Einfache Implementierung&lt;br /&gt;
* Niedriger Aufwand&lt;br /&gt;
* Gut planbar&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nachteile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Keine sporadischen Ereignisse behandelbar&lt;br /&gt;
* Alles muss im Gleichschritt arbeiten&lt;br /&gt;
* Code muss manuell geplant werden&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Das &amp;#039;&amp;#039;{{lang|en|basic scheme}}&amp;#039;&amp;#039; zirkuliert dabei durch eine sich wiederholende Sequenze von Aufgaben, auf einer Frequenz. Als Beispiel dient hier ein [[Eingebettetes System]], das einen [[Temperatursensor]] überwacht und ein [[Flüssigkristallanzeige|LCD]] aktualisiert. Wenn das LCD zehnmal in der Sekunde (alle 100 Millisekunden) aktualisiert werden soll und der Temperatursensor aus anderem Grund alle 50 Millisekunden, könnte eine Schleife wie folgt konstruiert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   // initialization code here&lt;br /&gt;
&lt;br /&gt;
   while (1)&lt;br /&gt;
   {&lt;br /&gt;
      currTemp = tempRead();&lt;br /&gt;
      lcdWrite(currTemp);&lt;br /&gt;
&lt;br /&gt;
      // waste CPU cycles until 50 ms&lt;br /&gt;
      currTemp = tempRead();&lt;br /&gt;
      // do other stuff&lt;br /&gt;
&lt;br /&gt;
      // waste CPU cycles until 100 ms&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der äußere 100-Millisekunden-Zyklus wird als &amp;#039;&amp;#039;{{lang|en|major cycle}}&amp;#039;&amp;#039; definiert. In diesem Fall gibt es auch einen inneren &amp;#039;&amp;#039;{{lang|en|minor cycle}}&amp;#039;&amp;#039; von 50 Millisekunden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Arduino-Plattform]] – Ein bekanntes Beispiel für die Anwendung dieses Verfahrens&lt;br /&gt;
* [[Präemptives Multitasking]]&lt;br /&gt;
* [[Echtzeitbetriebssystem]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.wanjaweb.de/download/time.driven.scheduling.pdf Zeitgesteuerte Scheduling-Strategien in Echtzeitsystemen] (PDF; 587&amp;amp;nbsp;kB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Betriebssystemtheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>