C++ ist eine der beliebtesten und weitverbreitetsten Programmiersprachen, die in der modernen Softwareentwicklung eingesetzt werden, um eine Vielzahl unterschiedlicher Anwendungen zu entwickeln. Als Weiterführung der strukturierten C-Programmierung setzt die Programmiersprache auf ein objektorientiertes Modell.

Entwicklungsgeschichte und Eigenschaften von C++

Die Programmiersprache C++ ist weit verbreitet und wird vielfältig genutzt. Ursprünglich ist sie als eine Weiterentwicklung zu der Programmiersprache C entstanden. Aufgrund der engen Verwandtschaft der beiden Programmiersprachen ist es möglich, auch in C++ hardwareorientierte, effiziente und performante Anwendungen zu entwickeln. Die Programmiersprache ermöglicht es, ein reines objektorientiertes Paradigma zu benutzen, also mit Klassen, Objekten, Methoden und Attributen komplexe Konstrukte zu erstellen. Da es sich hierbei um eine sehr umfangreiche Sprache handelt, ist es empfehlenswert, zunächst mit den Grundkonstrukten (Datentypen, Operatoren, Kontrollstrukturen) zu starten.

Die unterschiedlichen Versionen des Programms im Überblick

Die Programmiersprachen C++ wurde im Jahr 1979 von dem dänischen Informatiker Bjarne Stroustrup entwickelt. Im Laufe der Jahre wurde die Sprache kontinuierliche weiterentwickelt und durch neue Funktionalitäten und Features erweitert. Im Jahr 1998 wurde die standardisierte Version mit der Bezeichnung C++98 veröffentlicht. Weitere neue Funktionen und Verbesserungen wurden mit den Standards 03, 11, 14 und 17 in den Jahren 2003, 2011, 2014 und 2017 eingeführt. An der Version 20 wird schon mit Hochdruck gearbeitet.

 

Entwickler, die mit C++ arbeiten möchten, sollten unbedingt eine IDE (Integrated Development Environment) nutzen, die volle Unterstützung für den 11-Standard bietet. Bekannte und weitverbreitete IDEs für C++ sind:

–              NetBeans

–              Visual Studio

–              Eclipse

–              Xcode

Optionale Objektorientierung bei C++

Entwickler werden bei C++ nicht dazu gezwungen, ein bestimmtes Programmierparadigma befolgen zu müssen. So wird beispielsweise Objektorientierung weder vorausgesetzt noch erzwungen. Sie können auch rein imperativen Code schreiben, der von einem C-Compiler akzeptiert wird. Dies hat sich im Laufe der Jahre als wesentlicher Vorteil für die Verbreitung der Sprache erwiesen und ermöglicht, performante und effiziente Anwendungen zu entwickeln. Im Gegensatz zu traditionellen objektorientierten Sprachen, wie zum Beispiel Java oder C#, können Programmierer mit C++ eine mehrfache Vererbung (multiple Inheritance) realisieren. Konkret bedeutet das, dass eine Klasse mehr als eine Basisklasse haben kann. Im Folgenden gehen wir auf ein Beispiel für Vererbung in C++ im Detail ein:

Um ein Gesellschaftsspiel zu entwickeln, benötigen Sie u. a. Klassen für Kugelschreiber, Geldstücke und die Basisklasse.

–              Den Würfel können Sie mittels eines Zufallsgenerators realisieren. Zu diesem Zweck existiert in C++ bereits die nötige Basisklasse „RandomNumberGenerator“, von der die Klasse alle Methoden und Attribute erbt.

–              Für den Kugelschreiber können Sie einen Binärzähler benutzen. Die angemessene Basisklasse wäre hierfür „BinaryCounter“.

–              Die Geldstücke sind ein Zahlungsmittel und erben von der Basisklasse „Currency“. Sie können die Gelstücke aber auch als Binärzähler definieren (Zahl = Null, Kopf = Eins).

Java, C#, C++

In traditionellen objektorientierten Programmiersprachen, wie beispielsweise Java oder C# muss sich der Entwickler für eine Basisklasse entscheiden. Zusätzliche Vererbungen kann nur durch den Einsatz von Interfaces realisieren, die ausschließlich abstrakte Funktionen enthalten können. Wie bereits C bietet C++ die Unterstützung für Makros und ein performantes generisches Programmierparadigma mittels Templates. Generische Programmierung gibt Entwicklern die Möglichkeit, einen parametrischen Polymorphismus einzusetzen, der das Überladen mit gleichnamigen Funktionen mit unterschiedlichen Argumenten ermöglicht.

Benutzeroberfläche und Bibliotheken

Es sind zahlreiche Bibliotheken erhältlich, welche die bereits sehr umfangreiche Funktionsvielfalt von C++ noch zusätzlich erweitern. So sind beispielsweise für die Entwicklung von Anwendungen mit Benutzeroberflächen und Zugriff auf Datenbanken verschiedene Bibliotheken erhältlich. Die bekannteste und beliebteste ist die Bibliothek Qt mit der dazugehörigen IDE Qt-Creator. Seit der Version 5.7, die im Juni 2016 veröffentlicht wurde, bietet Qt volle Unterstützung für C++ 11. Obwohl Qt primär mit C++ genutzt wird, kann die IDE auch mit anderen Programmiersprachen wie Python genutzt werden.

In Qt kommt die sogenannte ereignisorientierte Programmierung zum Einsatz. Auf den Benutzeroberflächen sind Steuerungselemente (Widgets) platziert, mit deren Hilfe der Nutzer die Anwendung bedient. Bei einem Ereignis handelt es sich zum Beispiel um einen Klick auf eine Schaltfläche oder die Auswahl eines Eintrags. Bei diesem Vorgang gibt es ein Signal, welches mit einem Slot verbunden sein kann. Dabei handelt es sich in den meisten Fällen um eine Funktion, deren Code aufgrund des Ereignisses aufgerufen wird.

Sprachdesign des Programms

Bei C++ kommen nur etwa 60 Schlüsselwörter zum Einsatz, die den sogenannten „Sprachkern“ bilden. Die eigentliche Funktionalität wird der Sprache durch ihre Standardbibliothek verliehen. Diese bringt der Sprache wichtige Funktionalitäten bei, wie beispielsweise Arrays, Listen oder Vektoren, und stellt die Verbindungen zum Betriebssystem dar (iostream, fstream, …). Je nach Einsatzgebiet kann man die Programmiersprache durch den Einsatz zusätzlicher Bibliotheken erweiterten. Eine der wichtigsten Stärken der Programmiersprache liegt in der Kombination effizienter, maschinennaher Programmierung mit mächtigen Sprachmitteln, mit denen sich komplexe Implementierungsdetails weitestgehend zusammenfassen und hinter einer abstrakten und leicht verständlichen Befehlsfolge verbergen lassen.

Einige Designelemente der Sprache werden jedoch auch häufig kritisiert. So hat die Programmiersprache beispielsweise keine Garbage Collection.Man kann jedoch den Speicher manuell verwalten, was jedoch ein hohes Maß an Erfahrung voraussetzt. Denn eine fehlerhafte Speicherverwaltung kann schwerwiegende Folgen haben, die meist in Programmabstürzen und diversen ähnlichen Bugs enden.

Ceph – was ist das? Viele Internetnutzer haben – in den meisten Fällen unbewusst – schon damit zu tun gehabt. Mit Ceph – einer Softwarelösung – können große Datenmengen einfach und günstig verarbeitet und auf standardisierter Industriehardware gespeichert werden. Ceph kommt zum Beispiel in Speichersystem von Webshops oder bei Anbietern von Onlinespeicher zur Anwendung.

Was ist Ceph?

Ceph ist eine nahezu endlos skalierende und hochverfügbare Softwarelösung zur verteilten Speicherung von Daten im Netzwerk. Die Software ist Open Source, basiert auf Linux und wurde für den Einsatz als Objekt-, Block- und Dateispeicher entwickelt. Das Gesamtsystem ist extrem robust und eignet sich für Datenmengen von wenigen hundert Gigabyte bis hin zu einigen Peta– und sogar Exabytes (1 Exabyte sind 1 Milliarde Gigabyte!).

Die Geschichte von Ceph

Ceph wurde als ein Projekt für die Doktorarbeit von Sage Weil an der University of California in Santa Cruz ins Leben gerufen. Die ersten Codezeilen wurden 2004 geschrieben und im Jahr 2005 gab es den ersten funktionierenden Prototypen von Ceph. Das System wurde 2006 durch Sage Weil bei zwei Konferenzen der Öffentlichkeit vorgestellt.

Weil arbeitete nach seiner Dissertation weiter am Projekt und gründete im Jahr 2012 die Firma Intank Storage, um das System auch professionell nutzen und vermarkten zu können. Kurz vorher, 2010, wurde der erste Ceph Client in den Linux-Kernel integriert. Intank Storage wurde 2014 von RedHat, einem Anbieter von professionellen Linux Systemen, gekauft und ist heute als „Red Hat Ceph Storage“ ein Bestandteil der Produktpalette von RedHat.

Unabhängig davon steht das Ceph-Projekt weiterhin als Open Source Software kostenfrei jedem zur Verfügung.

Wie funktioniert Ceph?

Ceph läuft als Software auf einem herkömmlichen Linux System. Mindestens drei, besser sind mehr als vier, Computer (Knoten oder englNodes) bilden ein Cluster. Lesen Sie hier mehr über Linux.

Ceph-Knoten

Storage-Knoten sind wichtig

 

Die wichtigsten Komponenten im Ceph Cluster sind die Storage Knoten. Sie sind verantwortlich für die Speicherung der Daten und verfügen daher im Regelfall über eine große Speicherkapazität. Die Festplatten und Disksysteme sollten im RAID-Verbund zur Verbesserung der Fehlertoleranz und Geschwindigkeit organisiert sein. Der Primary Storage Node entscheidet im Cluster über die Datenverteilung, Replikation und Recovery. Alle anderen Knoten stehen als Secondary Storage Node zur Überwachung zur Verfügung und können im Fehlerfall die Rolle des Primary Storage Nodes übernehmen.

Relevante Fehlertoleranz

Eine wichtige Funktion ist die Fehlertoleranz, sprich die Reaktion auf Ausfälle einzelner Komponenten des Gesamtsystems. Zu diesem Zweck tauschen die Knoten untereinander Informationen über den Zustand der Einzelsysteme aus und können so auf verschiedene Betriebszustände wie hohe Last, Ausfall eines Knotens oder Ähnliches reagieren. Die einzelnen Knoten haben dabei unterschiedliche Aufgaben und Wertigkeiten. Die Entscheidungsfindung bei Hardwarefehlern ist kompliziert und immer dem Ziel des maximalen Datenschutzes untergeordnet. Im Normalfall isoliert sich der fehlerhafte Knoten und der Betrieb geht mit den verbliebenen Knoten unterbrechungsfrei weiter. In sehr seltenen Fällen kommt der Cluster nach den vorgegebenen Regeln zur Entscheidungsfindung zu keinem Ergebnis oder die verbleibenden Knoten reichen nicht zur Sicherung der Fehlertoleranz aus. Anschließend schaltet sich das gesamte System im Sinne des Schutzes der Daten ab.

Ceph

Wie kommuniziert Ceph?

Die Kommunikation zwischen den Knoten und mit den Storage Clients erfolgt über das normale Netzwerk. Im Serverbereich wird heute zumeist die 10Gbit Technik eingesetzt, die einzelnen Server/Knoten können zur Erhöhung der Geschwindigkeit mit mehreren (gebündelten) Netzkarten versehen werden. Die Anbindung an das Netzwerk wird im Idealfall über mehrere Switcheredundant realisiert. Durch diese Maßnahme gibt es im Ceph Cluster keine zentrale Komponente, deren Fehler das Gesamtsystem zum Ausfall bringen könnte.

Welche Vorteile bietet Ceph?

Der große Vorteil von Ceph ist, dass der Anwender unabhängig von proprietären und teuren hardwarebasierten Storagesystemen großer Hersteller wird. Ceph läuft auf Standard-Hardware und kann unterschiedliche Systeme verschiedener Hersteller unter einen Hut bringen. Durch den Einsatz der Open Source Software und preisgünstiger standardisierter Hardware kann der Anwender Kosten in Höhe von 20% bis 50% gegenüber den Storagesystemen großer Hersteller einsparen.

Ein Ceph-Storagesystem ist sehr hoch skalierbar. Durch Hinzufügen von zusätzlichen Knoten und Festplatten lässt sich die Kapazität einfach und schnell erweitern. Neben der Kapazität kann man die Performance des Systems durch Zufügen von Hardware verbessern. Da Ceph verteilt arbeitet, gibt es keinen einzelnen Performance-Engpass (Flaschenhals oder englBottleneck), das System steuert die Lastverteilung auf die einzelnen Knoten selbst.

Durch das Hinzufügen weiterer Knoten lässt sich ebenso die Redundanz des Gesamtsystems steigern. Die intelligente Datenverteilung auf den Disksystemen und über die verschiedenen Knoten macht das System sehr robust. Hardwarefehler einzelner Bauteile oder Knoten kann der Cluster im Betrieb transparent überbrücken. Je nach Konfiguration der Regeln zur Datenverteilung über die Knoten ist der Ausfall mehrerer Knoten ohne Ausfall des gesamten Systems möglich.

Gibt es auch Nachteile?

Ceph-Nachteile

Nachteile von Ceph

Planung, Installation und Pflege eines Storagesystems mit Ceph stellen den Anwender vor große Herausforderungen. Er sollte mit Linux als Betriebssystem und der Software Ceph gut vertraut sein. Bei der Planung sind Kenntnisse im Bereich der StoragetechnologienRedundanzkonzepten und Netzwerk unerlässlich. Im Fehlerfall ist der Anwender auf Eigenhilfe oder die Unterstützung der Community angewiesen.

Der Kauf einer professionellen Variante (zum Beispiel von RedHat) bietet Vorteile bezüglich der Handhabbarkeit und vor allem beim professionellen Support durch den Hersteller, erhöht im Gegenzug allerdings die Kosten.

Wo wird Ceph eingesetzt?

Der Speicherbedarf im Internet und bei Unternehmen wächst beständig. Neue Anwendungen, Clouds, Social Media, Online Shops und Multimedia Dienste benötigen immer größere Speicherkapazitäten. Vorhandene Daten müssen per Backup gesichert und alte Daten archiviert werden, die Grenzen des Speicherwachstums sind momentan nicht absehbar. Dabei steigt vor allem der Bedarf nach kostengünstigen und einfach skalierbaren Speicherlösungen. In diesem Bereich spielt Ceph seine Stärken aus.

Es wird heute von Kunden aus verschiedenen Bereichen eingesetzt. E-Commerce Lösungen mit Magento oder Shopwarearbeiten mit Ceph im Hintergrund, Datenbanken profitieren von der enormen und skalierbaren Geschwindigkeit von Ceph. Viele Onlinedienste nutzen Ceph als Datenspeicher und schätzen dabei vor allem die geringen Kosten und die einfache Erweiterbarkeit.

In großen Rechenzentren kommen die Vorteile von Ceph zum Tragen. Hohe Redundanz und Geschwindigkeit werden mit der steigenden Anzahl von Knoten im Cluster besser nutzbar. In Virtualisierungsumgebungen wie KVM oder XEN ist neben den genannten Punkten die hohe Skalierbarkeit wichtig, um dem Wachstum der angeschlossenen Dienste gerecht zu werden.

Mit einer privaten Cloud können Sie unterschiedliche Services exklusiv für Ihre Organisation zur Verfügung stellen. Im Gegensatz zu einer Public Cloud kann eine Private Cloud in der Regel nicht für die Allgemeinheit über das Internet erreicht werden. Eine Private Cloud kann entweder auf der unternehmensinternen IT-Infrastruktur gehostet werden oder durch Drittanbieter betrieben werden und bietet dabei ein hohes Maß an Kontrolle, Leistung und Sicherheit.

Private Cloud im Detail

Eine eigene Cloud-Umgebung gibt Unternehmen ein hohes Maß an Sicherheit und Kontrolle über die in der Cloud gespeicherten Daten. Im Gegensatz zu der Public Cloud haben ausschließlich befugte Nutzer Zugang zu der privaten Cloud. Sie wird in der Regel von einzelnen Organisationen betrieben, wie beispielsweise Behörden oder Unternehmen. Je nach Größe und Ausprägung kann sie entweder auf eigenen Servern gehostet oder auf die IT-Infrastruktur externer Anbieter wie Amazon oder Microsoft ausgelagert werden. Der Zugriff auf die privaten Cloud Services wird entweder über das Intranet oder eine VPN-Verbindung realisiert.

Demnach handelt es sich bei einer privaten Cloud um eine interne, unternehmensbezogene Rechnerwolke, die ihre Dienste nur befugten Nutzern zur Verfügung stellt. Die Absicherung des Zugriffs auf die Services wird in der Regel durch Firewalls realisiert. Genauso wie die Public Cloud basiert die Private Cloud auf Virtualisierung und verteiltem Computing. Da diese Art der Rechnerwolke nicht mit Nutzern außerhalb der Organisation geteilt werden muss, bietet Sie eine vergleichsweise erstklassige Kontrolle und Sicherheit. Firmenkritische Anwendungen lassen sich schnell und einfach nach individuellen Anforderungen der Nutzer skalieren und sehr effizient nutzen.

Eine Private Cloud ermöglicht die flexible Anpassung von Speicher- und Rechenleistungen und die nutzerabhängige Abrechnung von den in Anspruch genommenen Leistungen. Die private Rechnerwolke stellt insbesondere für Organisationen, die strenge Vorgaben hinsichtlich der Datensicherheit und Datenverarbeitung befolgen müssen, die optimale Lösung dar. Hinzu kommt, dass durch die spezielle Architektur der Cloud Services gegenüber traditionellen IT-Infrastrukturen erhebliche Einsparpotenziale entstehen. Die Private Cloud wird in einigen Bereichen gemeinsam mit der Public Cloud eingesetzt. Dieses Modell wird als Hybrid Cloud bezeichnet und sie vereint die Vorteile beider Konzepte zu einem eigenständigen Cloud-Modell.

Unterschiedlichen Typen der Private Cloud

Die private Datenwolke lässt sich in vier unterschiedliche Typen unterteilen, und zwar:

–              die interne Datenwolke

–              die gemanagte Rechnerwolke

–              die gehostete Datenwolke

–              die sogenannte „Community Private Cloud“

Bei einer internen Datenwolke wird die nötige IT-Infrastruktur für die unternehmensinternen Services durch das Unternehmen oder die Organisation betrieben. Auch bei einer gemanagten Rechnerwolke wird die nötige Infrastruktur intern gehostet, wird jedoch durch einen Drittanbieter gemanagt, gewartet und kontinuierlich kontrolliert, um einen einwandfreien Betrieb sicherzustellen. Die gehostete Datenwolke wird in einem externen Rechenzentrum eines Cloud-Anbieters aufbewahrt. Dieser betreibt die gesamte Cloud des Unternehmens und stellt Anwendungen und Services nur den Usern des Unternehmens zur Verfügung. Bei der „Community Private Cloud“ handelt es sich um eine Sonderform der privaten Cloud, bei der mehrere Organisationen, beispielsweise aus der gleichen Branche, auf gemeinsame Cloud-Services und Anwendungen zugreifen.

Die technischen Grundlagen einer privaten Cloud

Die Private Cloud basiert auf der technischen Grundlage der Virtualisierung. Moderne Virtualisierungstechnologien ermöglichen IT-Anwendungen und -Ressourcen von physischen Geräten zu entkoppeln. Das bedeutet, das Anwendungen nicht lokal auf Endgeräten oder Servern bereitgestellt, sondern virtuell in einer Cloud betrieben werden. Die Virtualisierung bietet den entscheidenden Vorteil, dass sich Ressourcen äußerst flexibel und dynamisch nutzen und verteilen lassen. Darüber hinaus wird die Verfügbarkeit erhöht, da sich der Ausfall einzelner Server in der virtuellen Umgebung schnell und unkompliziert kompensieren lässt.

 

Befugte Nutzer können die Services entweder über das unternehmensinterne Netzwerk (Intranet) oder besonders sichere Netzwerkinfrastrukturen (VPNs) erreichen. Zu diesem Zweck wird jeder Anwender mit den benötigten Rechten versehen, mit denen er sich gegenüber Cloud Services authentifizieren kann. Im Gegensatz zu traditionellen IT-Infrastrukturen entfällt im Rahmen der Cloud die Notwendigkeit des Betreibens von gesonderten Servern für einzelne Anwendungen bzw. Services. Stattdessen wird eine virtualisierte Serverumgebung für alle Services und Anwendungen zur Verfügung gestellt.

Welche Vorteile bietet die Private Cloud?

Nutzer einer privaten Cloud profitieren von einer Vielzahl unterschiedlicher Vorteile, ohne dabei die Kontrolle über ihre Daten und ihre IT-Infrastruktur an einen Drittanbieter abgeben zu müssen. Die gesamte IT-Infrastruktur lässt sich im Vergleich zu traditionellen IT-Strukturen verschlanken und effizienter und kostengünstiger nutzen. Sämtliche Ressourcen werden gebündelt und flexibel zur Verfügung gestellt, sodass sich Kapazitäten nach Bedarf in Echtzeit skalieren lassen. Gegenüber der Public Cloud bietet die private Rechnerwolke noch viele weitere Vorteile. Den Nutzern steht die ihnen zugeteilte Performance und Bandbreite exklusiv zur Verfügung. Performanceeinbrüche durch die Nutzung anderer Nutzer sind in der Regel nicht zu erwarten.

Da die Private Cloud eine abgetrennte Einheit bildet, minimieren sich die potenziellen Sicherheitsrisiken für die Organisation. Es gibt jedoch einige wichtige Unterschiede zwischen den einzelnen privaten Cloud-Strukturen, die Sie bei der Planung Ihrer Private Cloud unbedingt berücksichtigen sollten. So unterscheidet sich die interne Private Cloud stark von den Angeboten, wie sie beispielsweise von Microsoft oder Google zur Verfügung gestellt werden. Bei Organisationen, die private Cloud-Services anbieten, ist es zum Beispiel in vielen Fällen nicht möglich, explizit zu bestimmten, wo die gehosteten Daten aufbewahrt werden, was eventuell zu Problemen mit den Compliance- oder Regulierungsvorgaben führen kann.

USV ist die Abkürzung für unterbrechungsfreie Stromversorgung. Die englische Bezeichnung „Uninterrupted Power Supply„steht abgekürzt für „UPS“. Unterbrechungsfreie Stromversorgungen werden eingesetzt, um bei einem Stromausfall oder bei Störungen im Stromnetz die Energieversorgung

In Krankenhäusern ist die USV wichtig.

Die Stromversorgung in Krankenhäusern muss gewährleistet sein!

der angeschlossenen Geräte sicherzustellen.

Man verendet unterbrechungsfreie Stromversorgung überall dort, wo Stromausfälle oder Netzstörungen zu kritischen oder lebensbedrohlichen Situationen führen können. Beispielsweise bei lebenserhaltenden Systemen in einem Krankenhaus. Im Gegensatz zu einer längeren Notstromversorgung mit einem Notstromaggregat werden unterbrechungsfreie Stromversorgungen in der Regel nur für einen kurzen Zeitraum zur Überbrückung eingesetzt.

Wie ist eine USV aufgebaut?

Zentrales Element jeder USV ist ein Akkumulator. In der Regel verfügen die in eine USV eingebauten Akkumulatoren über eine Leistung von 300 Volt Ampere (VA) oder mehr. Der Akkumulator wird mit Netzstrom aufgeladen. Dazu befindet sich auf der Eingangsseite der USV ein Gleichrichter, der den Wechselstrom des Stromnetzes in Gleichstrom umwandelt. Auf der Ausgangsseite befindet sich ein Wechselrichter, der, für den Fall, dass der Akku die Energieversorgung übernimmt, den vom Akku abgegebenen Gleichstrom in Wechselstrom umwandelt. Lesen Sie hier alles Wissenswerte zum Wechselstrom.

Kompakte USV Anlagen, die zu Hause oder in kleinen Büroeinheiten zur Sicherung der Stromversorgung eingesetzt werden, sind entweder mit Nickel-Metallhydrid, Lithium-Ionen oder kleinen Bleiakkus ausgestattet. Große USV Anlagen, die in Krankenhäusern oder Leitstellen eingesetzt werden, basieren auf bis zu mehreren Hundert stationären Bleiakkus, die zusammengeschaltet werden.

Wichtiges Notstromaggregat

Oft werden große Anlagen zusätzlich mit einem Diesel-Notstromaggregat kombiniert. Bei einer Störung übernimmt zunächst die USV die Energieversorgung. Das Notstromaggregat wird nach einer gewissen Zeit aktiviert und lädt die Akkus wieder auf oder übernimmt vollständig die Stromversorgung.

Ein weiterer Bestandteil eine USV ist eine elektronische Regelung, die den Akku zu- und abschaltet, die Stromabgabe und die Aufladung der Akkus regelt. Als relevantes Kriterium für eine unterbrechungsfreie Stromversorgung ist die Reaktionszeit des Systems anzuführen. In der Regel beträgt diese nur wenige Millisekunden. Je nach Auslegung der USV kann die Überbrückungszeit bei einem Netzausfall oder Netzstörungen wenigen Sekunden bis zu mehreren Stunden betragen.

Vor welchen Störungen im Stromnetz schützt eine USV?

Je nach Auslegung der unterbrechungsfreien Stromversorgung können angeschlossene Geräte vor unterschiedlichen Störungen geschützt werden. Typische Störungen in der Stromversorgung sind:

USV hilft bei Stromausfall

Was tun, wenn das Stromnetz gestört ist?

Netzausfälle – Power Failure

Fällt ein Stromnetz für mehr als 10 Millisekunden aus, wird dies als Netzausfall bezeichnet. Definiert ist ein Netzausfall als sogenannte Nullspannungs-Bedingung. Das heißt, es steht kein Strom zur Verfügung, elektrische Anlagen und elektronische Systeme sind ohne Funktion.

Spannungsschwankungen – Power Sag

Spannungsschwankungen sind kurzzeitige Rückgänge der Netzspannung unter den Normalwert und dauern weniger als 16 Millisekunden. Sie können beim Einschalten großer elektrischer Verbraucher entstehen. In Wohngebäuden können beispielsweise anfahrende Aufzüge Spannungsschwankungen verursachen.

Spannungsspitzen – Switching Transient

Als Spannungsspitzen werden erhöhte Netzspannungen mit einer Dauer von 4 bis 16 Millisekunden bezeichnet. Häufige Ursache sind statische Entladungen. Eine weitere Ursache können Schaltvorgänge in elektrischen Anlagen sein. In diesen Fällen werden Spannungsspitzen auch als Schaltspitzen bezeichnet.

Spannungsstöße – Power Surge

Kurzzeitige und plötzlich auftretende Spannungsspitzen mit einer Dauer von weniger als 4 Millisekunden werden als Spannungsstöße bezeichnet. Häufige Ursache sind Blitzeinschläge in der Nähe von elektrischen Anlagen.

Unterspannungen – Under Voltag

Fällt die Netzspannung unter einen zulässigen Grenzwert, wird dies als Unterspannung bezeichnet. Die Folge ist möglicherweise ein Abschalten elektrischer Systeme. Unterspannungen können dauerhaft oder für wenige Sekunden auftreten.

Überspannungen – Over Voltage

Überspannungen können kurzzeitig oder fortlaufend auftreten und zu einer Zerstörung von elektronischen Bauteilen führen. Sie treten beispielsweise auf, wenn große elektrische Verbraucher eingeschaltet werden. Dadurch kann die normale Netzspannung auf deutlich über 100 % erhöht werden.

Frequenzschwankungen – Frequency Variation

Frequenzschwankungen sind periodisch auftretende Abweichungen von der normalerweise konstanten 50 Hz Netzfrequenz.

Verschiedene Spannungen, verschiedene Auswirkungen

Spannungsverzerrungen – Line Noise

Spannungsverzerrungen, sogenannter Line Noise, sind periodisch auftretende elektrische Störspannungen. Diese Störspannungen können die Schaltungen in elektrischen und elektronischen Systemen negativ beeinflussen.

Spannungsoberschwingungen – Harmonic Distortion

Sogenannte Spannungsoberschwingungen sind fortlaufende Veränderungen und Verzerrungen der normalen Wellenform der Stromspannung. Spannungsoberschwingungen werden beispielsweise durch flackernde Leuchtstoffröhren verursacht.

Die Arten der unterbrechungsfreien Stromversorgung

Unterbrechungsfreie Stromversorgungen werden in drei Schutzklassen unterteilt:

  • Klasse 1: Standby- oder Offline-USV – VFD (Voltage Frequency Dependent from Mains Supply)

  • Klasse 2: Line Interactive– oder Netzinteraktive-USV – VI (Voltage Independent from Mains Supply)

  • Klasse 3: Online-USV – VFI (Voltage and Frequency Independent from Mains Supply) –

Voltage Frequency Dependent from Mains Supply – VFD USV

Die Standby- oder Offline-USV ist die einfachste Form der unterbrechungsfreien Stromversorgung in der von IEC, DIN und VDE standardisierten USV-Schutzklasse 1. Sie schützt nur bei einem vollkommenen Netzausfall. Schwankungen der Netzspannung oder der Netzfrequenzen werden von dieser Art USV nicht ausgeglichen. Fällt der Netzstrom aus, oder kommt es zu einer Über- oder Unterspannung, übernimmt der Akku innerhalb weniger Millisekunden die Energieversorgung. Bei Normalbetrieb wird der Akku wieder aufgeladen. Diese Art der unterbrechungsfreien Stromversorgung wird oft für kleine Verbraucher oder einzelne Computer eingesetzt.

Voltage Independent from Mains Supply – VI USV

Eine Voltage Independent from Mains Supply (VI) USV wird auch als „Line Interactive– oder Netzinteraktive-USV bezeichnet und zählt zur Schutzklasse 2. Sie erfüllt zwei Funktionen. Sie schützt sowohl gegen Schwankungen der Netzspannung wie auch gegen einen totalen Netzausfall. Hauptsächlich wird diese Art der unterbrechungsfreien Stromversorgung daher in Umgebungen mit häufig vorkommende Spannungsschwankungen eingesetzt, um Netzwerke, Computersysteme und größere Telekommunikationsanlagen abzusichern.

Voltage and Frequency Independent from Mains Supply – VFI USV

Die als Online-USV bezeichnete VFIUSV bietet von allen drei Arten den besten Schutz. USV dieses Typs sind der Schutzklasse 1 zugeordnet. VFI schützen vor einem totalen Stromausfall und gleichen Schwankungen der

Schwankungen der Netzfrequenz können ausgeglichen werden.

Netzspannung sowie Schwankungen der Netzfrequenz aus. Im Gegensatz zu den anderen unterbrechungsfreien Stromversorgungen werden die angeschlossenen Geräte im Normalbetrieb immer über den Akku mit Energie versorgt. Der Vorteil ist, dass bei Schwankungen oder einem Stromausfall keine Schaltzeiten zu einer Verzögerung der Versorgung führen können. Nachteilig anzumerken ist, dass die Lebenszeit des Akkus wegen der Dauerbelastung auf drei bis maximal vier Jahre begrenzt ist. Einsatzgebiete sind die Absicherung von Servern und Systemen der Datenkommunikation.

Wo werden USV eingesetzt?

USV-Anlagen werden eingesetzt, wenn eine Unterbrechung der Stromversorgung zu kritischen Situationen oder einem Datenverlust führen kann. Sie befinden sich daher vor allem in Krankenhäusern, Rechenzentren, Leitstellen von Kraftwerken, Häfen, Flughäfen oder der Bundesbahn. Kompakte USV und werden eingesetzt, um in Büros Datenverluste bei einem Stromausfall oder Netzstörungen zu vermeiden. Das heißt, diese Anlagen sollen den Betrieb von Computersystemen solange aufrechterhalten, bis alle Daten gespeichert und die Systeme ordnungsgemäß heruntergefahren wurden. Eine länger andauernde Versorgung ist hier meistens nicht vorgesehen.

PERL und das Kamel – wo Programmierung und Wüste aufeinandertreffen

PERL ist eine plattformunabhängige Programmiersprache. Die Skriptsprache unterstützt eine Software-Entwickelung in verschiedenen, sehr unterschiedlichen Programmierstilen. Anwendungen für das Web, die Bioinformatik und die Finanzwelt werden mit PERL entwickelt. Die Programmiersprache, in der sich auch Einsteiger leicht zurechtfinden, wurde von einem Sprachwissenschaftler erschaffen. Die Skriptsprache erlaubt viele Freiheiten, die allerdings zu unleserlichem Code führen können.

Als Skriptsprache wird PERL während der Laufzeit von einem Interpreter geparst und interpetiert. Der Programmierer muss nur wenigen Vorgaben folgen, um ein lauffähiges PERL-Skript zu schreiben. Ein Beispiel ist die IF-Anweisung, genauer gesagt das „IF NOT“, das in PERL „UNLESS“ lauten. Die Skriptsprache ist so nah an der natürlichen Sprache angelehnt, dass unter Umständen selbst ein Gedicht ein lauffähiges Programm sein kann.

Das PERL-Prinzip

Das Motto der Skriptsprache „There’s more than one way to do it“ kann mit „Viele Wege führen nach Rom“ übersetzt werden. Ihre Stärken liegen in der Vielseitigkeit, Leistungsfähigkeit, der plattformunabhängig und der Effizienz bei der Verarbeitung von Textdateien. Letztere werden seit jeher in der System- und Netzwerkadministration zum Lesen von Logfiles genutzt. Die große Flexibilität der Sprache eröffnet neue Möglichkeiten bei der Auswertung von Big Data-Beständen.

Umso öfter, umso kürzer

Als PERL-Paradoxon ist das als Huffman-Kodierung bekannte Prinzip, die Längen von Bezeichnern mit ihrer Verwendung in Beziehung setzt. Umso öfter ein Schlüsselwort genutzt wird, umso kürzer ist es. Dem erfahrenen Programmierer erleichtert dies die Schreibarbeit, für den Einsteiger kann das Lesen solcher Programme problematisch sein. Die Skriptsprache wird daher auch als „Write-Only-Language“ bezeichnet. Damit ist gemeint, dass die Programme zwar leicht zu schreiben, dann aber nicht mehr zu lesen sind. Teile des formalen Regelwerks wurden von der Programmiersprache Phyton übernommen.

Dynamische Webseiten

Zunächst wurde PERL fast ausschließlich als Unix-Skriptsprache genutzt. Der Durchbruch kam mit den ersten dynamischen Webseiten. Die aufgerufenen CGI-Skripte liefen auf dem Webserver und nicht wie bei Javascript im Browser des Benutzers.

Gleichzeitig bildeten sich zwei Programmierbereiche heraus. Die CGI-Skripte waren eher im Bereich der Systemadministration angesiedelt, während die PHP-Programmierer den Bau der Webseiten übernahmen. Im Zusammenhang mit dem bei PHP-Programmierern äußerst unbeliebten PERL entstand die Interpretation des Kürzels PHP als „Perl Hater’s Platform“.

PERL in der Praxis

Mit dem Wechsel zu den browserseitig generierten dynamischen Webinhalten schwand die Bedeutung der Skriptsprache – zumindest in der Webentwicklung. In der Systemadministration können mit den Skripten leicht die internen Limits bei den Dateigrößen umgangen werden. Unter System- und Netzwerkadministratoren ist die Skriptsprache auch als „Swiss Army Chainsaw“ bekannt. Dies ist auf die weltberühmten Schweizer Multifunktions-Taschenmesser bezogen, wobei PERL mit einer „Kettensäge“ gleichgestellt wird.

Ein Comeback konnte die Programmiersprache bei der Auswertung von Big Data feiern, denn das Durchforsten großer Datenmengen ist eine der Stärken der Skriptsprache. Damit wird die Skriptsprache auch im Finanzwesen und verwandten Bereichen, aber auch in der Bioinformatik eingesetzt.

PERL – eine Skriptsprache schreibt Geschichte

Larry Wall, ein Linguist, entwarf die Skriptsprache in 1987. Wall kombinierte seine sprachwissenschaftlichen Erkenntnisse mit Elementen aus der Programmiersprache C, der Skriptsprache awk und Unix-Befehlen. 1993 hatte sich PERL bereits zum leistungsfähigen Werkzeug entwickelt. Mit der Version 5 wurde ein völlig überarbeiteter Interpreter veröffentlicht sowie Objekte, Module und Referenzen unterstützt. Seit Version 5 ist eine objektorientierte Programmierung möglich, bei der Parameter an Funktionen übergeben bzw. entgegengenommen werden. Seither kann die Skriptsprache von Anwendern mit Modulen flexibel erweitert werden. Online sind die Module über das CPAN-Archiv abrufbar. Inzwischen sind mehr als 150.000 Module zu den verschiedensten Funktionen erhältlich.

PERL 6 als heutiger Standard

Nach 15 Jahren Entwicklungszeit wurde im Jahr 2015 die Version 6 offiziell freigegeben. Die Version 6 ergänzt die Familie um eine völlig neu entwickelte Variante. Verbessert wurden einige der historisch bedingten und viel diskutierten Kontroversen, die aus Kompatibilitätsgründen in den Vorgängerversionen nicht zu korrigieren waren. Mit der neuen Version konnte die Skriptsprache ihre Popularität nochmals erweitern. Gleichzeitig nehmen die Community-Mitglieder zu, womit umfangreiche Modulbibliotheken zugänglich werden.

Wie PERL das Programmiererleben leichter macht

Charakteristisch für die Skriptsprache ist die sichtbare Unterscheidung zwischen einfachen, skalaren und zusammengesetzten Datentypen. Variablennamen beginnen mit Sigil ($, @ oder %). Darüber erkennt die Programmiersprache, wie die Variable zu interpretieren ist, nicht aber wie sie definiert ist. Damit wird eine besonders einfache Verwendung von häufig benutzten Konstrukten erreicht. Mit den Write-Formaten wird ein einfaches Generieren von Reports unterstützt.

Die Kontrollstrukturen (If, While, Do) unterscheiden sich kaum von Java, JavaScript und C. PERL erlaubt bedingt formatfreien Quellcode, in dem der Interpreter fehlende oder zusätzliche Einrückungen, Leerzeichen und Zeilenbrüche nicht moniert. Damit der Parser Befehlsblöcke erkennt, werden sie mit Semikolon getrennt.

Dromedar – das Maskottchen der Skriptsprache

Falsch interpretiert wird bei der Skriptsprache gelegentlich das Maskottchen. Es wird als Kamel bezeichnet, ist aber tatsächlich ein Dromedar. Eines der bekannten Referenzwerke „Programming Perl“ ist wegen des Maskottchens auf dem Buchdeckel als „Kamelbuch“ bekannt. Der Verleger Tim O’Reilly erklärte dazu, dass auch PERL über lange Strecken ohne Wasser auskäme. Hässlich sei es auch, meinte er. Die PERL Foundation hat sich hingegen für eine aufgeschnittene Zwiebel entschieden. Der gefährliche und tückische Komodowaran ist das Motto-Tier der PERL-Distribution „Active Perl“ des Unternehmens ActiveState.