Mittwoch, 4. Juli 2012

Versus

Was macht ein anderes System, in diesem Fall Android, besser oder schlechter? Diese Frage wird nun auf den folgenden Seiten erörtert.
-->
Moorsches Gesetz - Rechenoperationen pro Sekunde

Prozessor

Es ist allgemein bekannt, dass Prozessoren immer schneller werden. Also immer mehr Operationen in einer bestimmten Zeit erledigen können. Programmiert werden aber immer (!) eine bestimmte Anzahl Operationen, die schnellst möglich erledigt werden sollen. Ein Programm schrumpft oder wächst ja nicht während seiner Abarbeitung.

Eine speicherprogrammierbare Steuerung arbeitet Zyklusfest, das heißt: In einer vorgegebenen Zeitspanne müssen alle gewünschten Operationen erledigt sein, sonst handelt es sich um einen Fehler und beschreibt eine 'harte Echtzeitanforderung'. Dennoch ist dies meiner Meinung nach ein großer Hemmschuh, da ich während der Entwicklung nicht vorhersagen kann, ob meine gewünschte Operation in einen Zyklus passt. Ich bin also ein Getriebener dieses 'Zeitdiktats'. Ein weiterer Nachteil dieser Strategie ist: Die CPU ist immer beschäftigt. Wie ein Arbeiter am Fließband, welches ständig läuft, selbst wenn es leer ist. 
Ich möchte nicht in Abrede stellen, das dieses Verfahren ihren Reiz hat. Ist dies dem Entwickler einmal in 'Fleisch und Blut' übergegangen, findet er einen konsequenten Rahmen vor, in dem er seine Programme implementieren kann.

Im Zuge der immer potenter werdenden Prozessoren kam man zu dem Schluss, dass eine schnelle CPU effektiver ihre Arbeitszeit verwalten kann, als es der Programmierer je könnte. Also nicht zu warten bis die Zeit um ist und Energie verschwenden. Oder im anderen Fall, überfordert sein, falls mal etwas mehr zu erledigen ist.
Das Konstrukt des Multitasking, ist das Ergebnis. Es vermeidet, grob gesprochen, die oben genannten Szenarien am Fließband. Weiterhin empfinde ich es Seegen nicht mehr dem Zeitdiktat zu unterliegen. 

Zyklische EDV
Multitasking: Abwechselnd wird immer kurz ein anderer Prozess bedient



Aber schon droht wieder Ungemach mit der Zeit... Wollen sich andere Systeme mit der klassischen SPS messen, werden sie sehr wohl nach ihrer Echtzeitfähigkeit beurteilt. In einer späteren Ausarbeitung werde ich versuchen eine Gegenüberstellung der Echtzeitfähigkeiten der Systeme zu erarbeiten. 

Speicher

Wie der Name „Speicherprogrammierbare Steuerung“ vermuten lässt, ist der Speicher der Dreh- und Angelpunkt einer Steuerung. Dieser Dreh- und Angelpunkt findet sich bei jedem EDV-System wieder und ist kein Alleinstellungsmerkmal von SPSen. Jeder herkömmliche Computer bildet ein Speicherabbild aus den Eingangszuständen, manipuliert dieses Speicherbild und setzt danach bedingt die Ausgangszustände.
Die Speicherverwaltung ist ebenso modernisiert worden wie die Prozessorverwaltung. Große Datenmengen effizient zu verwalten, ist keine Aufgabe für den Programmierer, beziehungsweise sollte es meiner Meinung nach nicht sein. Für ein reguläres Programm ist es völlig unerheblich, ob die Daten zur Manipulation sich an dieser oder jener Stelle im verfügbaren Speicher befinden. Noch konsequenter: Es muss sogar unerheblich sein, in welchem Speicher (RAM/ROM/FLASH/Datenträger/...) das Lesen und/oder Schreiben statt findet. 
Es ist mühseelig das eine Bit aus 1000 Bits eines Datenbausteins herauszusuchen. Zumal es sich, bei einer Änderung dieses DB, auch noch verschieben kann.
Eine große Anzahl Technologien wenden sich diesem Lösungsansatz zu, darunter: Paging und Swaping, um einige Stichworte fallen zu lassen.


Kommunikation

Bei dem Stichwort: Kommunikation, wird meistens die Assoziation zum Schlagwort "Vernetzung" hergestellt. Es lässt sich nur schwer eine Prognose treffen, wie sich Geräte in Zukunft miteinander verbinden werden. Stand der Dinge ist eine möglichst dezentrale und drahtlose Verbindung. Weiterhin geht man dazu über, dass die Endgeräte selber die Robustheit ihrer Verbindungen überwachen. 
Der größte Umbruch geschieht aktuell mit der Umstellung des IP-Protokolls auf IPv6 und wird sich wahrscheinlich in allen Bereichen große Auswirkungen haben. 

Keine Kommentare:

Kommentar veröffentlichen