Red Hat, innovative Open-Source-Lösungen, kurz vorgestellt

Wer sich über ein geeignetes Server-Betriebssystem oder über Cloud-Anwendungen Gedanken macht, stößt über kurz oder lang auf Red Hat. Was ist Red Hat und wofür steht der rote Hut als Markenzeichen?

Der Begriff Red Hat kennzeichnet sowohl das amerikanische Software-Unternehmen als auch die gleichnamigen Linux-Distributionen. Der rote Hut symbolisiert das Engagement von Red Hat als Agent im Einsatz für Open Source in der digitalen Welt.

Die Geschichte der Entwicklung von Red Hat

Das weltweit agierende Unternehmen Red Hat wurde im Jahr 1993 gegründet und hat seinen Hauptsitz im nordamerikanischen Raleigh, North Carolina.

Das Unternehmen hat sich mit seinen Produkten dem Dienst an der Entwicklung von Open Source verschrieben. Anders als häufig gemeint, bedeutet Open Source dabei nicht immer kostenlos, sondern quelloffen, d. h. der Quellcode der Software ist für jedermann einsehbar.
Die ursprünglich kostenfreie Distrubution Red Hat Linux (RHL) wurde bereits 1994 vorgestellt und zählt damit zu den ältesten Linux-Distributionen.

2003 wurde die freie, nicht kommerzielle Distribution von Red Hat eingestellt und wird seitdem als eigenes Projekt von der Fedora Community fortgeführt. Das Unternehmen Red Hat konzentriert sich nun auf kommerzielle Open-Source-Lösungen für den Unternehmensbereich, u. a. mit dem Projekt Red Hat Enterprise Linux (RHEL).

RHEL gilt unter den Linux-Distributionen im unternehmsbezogenen Anwendungsbereich als Markt- und Innovationsführer. Sie wird seit vielen Jahren durch eine Vielzahl unabhängiger Software-Hersteller im Unternehmensbereich unterstützt u. a. von SAP und Oracle. RHEL zeichnet sich durch lange und stabile Laufzeitzyklen von rund 10 Jahren pro Version aus und gewährleistet damit unternehmerische Planungssicherheit.

Unter Berücksichtigung der Quelloffenheit des Systems hat das Unternehmen Red Hat zur Betreuung seiner Firmenkunden ein besonderes Lizenzsystem eingeführt. Die Nutzung von RHEL wird mit dem Abschluss verschiedener kostenpflichtige Supportverträge (Subskriptionsmodell) verknüpft.

Seit Ende 2018 gehört das Unternehmen Red Hat zum IBM-Konzern. Mit rund 30 Milliarden Euro gehört dies zu den größten Übernahmen in der Unternehmensgeschichte von IBM.

Red Hat heute

Das Geschäftsfeld von Red Hat konzentriert sich beim IBM-Konzern heute auf zunehmend auf Unternehmensanwendungen im Cloud Computing, hier vor allem im Feld der Hybrid-Cloud-Lösungen.

Unternehmen jeder Branche und Größe wenden sich zunehmend Cloud-Anwendungen zu. Sie benötigen vor allem flexible, hybride Lösungen und Multi-Cloud-Services. Ziel ist es, die eigenen Server mit unterschiedlichsten Cloud-Plattformen sowie Cloud-Services zu verbinden und diese gemeinsam zu nutzen. Open-Source stellt aufgrund der Quelloffenheit oftmals eine sinnvollere Atlernative dar, als proprietäre, d. h. geschlossene Cloud-Lösungen.

Daher ist es auch erklärtes Ziel von IBM, die Unabhängigkeit von Red Hat im Bereich Open-Source zu wahren und fortzuführen. Nicht ohne Grund zählt Red Hat seit Jahren als zu den Innovationführern und Vordenkern im Bereich der Open-Source-Anwendungen.

Das Unternehmen Red Hat bietet im IBM-Konzern ein umfangreiches Produktportfolio an, darunter Lösungen für Hybrid-Cloud-Infrastrukturen und Middleware. Agile Integration sowie cloudnative Anwendungsentwicklung kommen hinzu, ebenso wie Services zum Management und zur Automatisierung. Auch die Entwicklung von Container-Technologien und das Kubernetes-Projektes werden von Red Hat beim Cloud Computing unterstützt.

Red Hat bietet Unternehmen jeder Größe Technologien, die diese im Zeitalter der digitalen Transformation sowie Vernetzung zukunftsfähig machen und ihnen die notwendige Anpassungsfähigkeit ermöglichen.

Für kleinere Unternehmen: CentOS

RHEL ist als kostenpflichtiges Linux-Betriebssystem eher im Hochpreissegment angesiedelt und wird von Red Hat nur in Verbindung mit den zugehörigen Supportverträgen geliefert. Daher kommt es in der Regel auf den Servern großer Unternehmen zum Einsatz.

Kleinere und mittelständische Unternehmen (KMU) haben die Möglichkeit, auf CentOS als Alternative auszuweichen. Das sog. Community Enterprise Operating System gehört zu neben Debian und Ubuntu mittlerweile zu den erfolgreichsten Linux-Distributionen. CentOS legt bei der Entwicklung Wert darauf, möglichst langfristig einsetzbar und stabil zu sein. Dies wiederum führt dazu, dass es häufig auf Servern zur Anwendung kommt.

Engagierte Entwickler

CentOS basiert als Gemeinschaftprojekt freiwilliger Softwareentwickler auf der Red Hat Enterprise Linux-Distribution (RHEL). Möglich ist dies dadurch, dass Red Hat die Quellpakete von RHEL als Open Source im Internet zur Verfügung stellt. Damit konnten engagierte Entwickler im Projekt CentOS eine mit RHEL-kompatible eigene Linux-Distribution schaffen. Aktuell unterstützt Red Hat das Projekt CentOS Stream, ein sog. Rolling Release. CentOS bietet damit eine Beta-Version kommender Versionen von RHEL an.

Die Binärkompatibilität bringt es mit sich, dass Unternehmen die Vorteile von RHEL nebst zugehöriger freier Software nutzen können, ohne sich an entsprechende Supportverträge binden zu müssen. Eine kurze zeitliche Verzögerung, die die um meist zwei bis drei Monate gegenüber RHEL nachgelagerte Entwicklung der jeweils neuesten Version von CentOS mit sich bringt, fällt demgegenüber nicht sehr ins Gewicht.

Digitale Transformation – die richtigen Entscheidungen treffen

Professionelle Systemhäuser unterstützen Sie mit Erfahrung und Sachverstand bei der richtigen Entscheidung für die IT-Landschaft Ihres Unternehmens. Welche IT-Lösungen Sie am Ende für Ihr Unternehmen auch bevorzugen, ob ausschließlich eigene Server, Hybrid- und /oder Multi-Cloud-Modelle: Ziehen Sie frühzeitig qualifizierte IT-Fachleute für Ihr Unternehmen hinzu. So gelingt es Ihnen, den digitalen Wandel zu meistern und Ihr Unternehmen erfolgreich in die Zukunft digitaler Transformation zu führen.

Bei Mozilla Firefox handelt es sich um einen freien Webbrowser des Mozilla-Projekts, der im September 2002 in einer Betaversion erstmals der breiten Öffentlichkeit zugänglich gemacht wurde. StatCounter zufolge gehört Firefox mit einem Anteil von 8,8 Prozent an der globalen Internetnutzung neben Google Chrome und Apple Safari zu den meistgenutzten Webbrowsern.

Entwicklungsgeschichte von Firefox

Das Mozilla-Projekt, damals noch unter dem Namen „Phoenix“, wurde von den beiden Informatikern Davy Hyatt und Blake Ross als ein experimentelles Derivat aus dem Programmpaket Mozilla Application Suite ins Leben gerufen. Die Application Suite basierte auf dem Quellcode des legendären Webbrowsers Netscape Communicator, der zu jener Zeit neben dem Microsoft Internet Explorer zu den meistgenutzten kommerziellen Webbrowsern gehörte. Die erste Testversion des Webbrowsers Phoenix 0.1 wurde am 23. September der breiten Öffentlichkeit vorgestellt.

Name von Firefox

Mozilla Firefox wurde ursprünglich unter dem Namen Phoenix entwickelt. Dieser Name musste jedoch infolge einer Klage des US-amerikanischen BIOS-Produzenten Phoenix Technologies geändert werden. Der Webbrowser wurde zunächst in Mozilla Firebird und schließlich, aufgrund einer Namensgleichheit mit dem Datenbankmanagementsystem (DBMS) Firebird, mit der Version 0.9 in Mozilla Firefox umbenannt.

Funktionen und Features

Mozilla Firefox nutzt ebenso wie die Mozilla Application Suite den Gecko-Renderer für die Darstellung von HTML-Dokumenten. Die Benutzeroberfläche des Webbrowsers lässt sich durch den Einsatz sogenannter „Themes“ schnell und einfach an die individuellen Anforderungen anpassen. Mit optional erhältlichen Erweiterungen können zudem zahlreiche Funktionen und Features hinzugefügt werden, wie beispielsweise:

–              Werbeblocker

–              Webentwickler-Tools

–              Mausgesten

Firefox bietet volle Unterstützung für Tabbed Browsing. Darunter wird die Darstellung von mehreren Webseiten verstanden, die mit Tabs innerhalb eines einzelnen Anwendungsfensters versehen werden. Ab der Version 4.0 war es zudem möglich, mithilfe der Funktion „Panorama Tabs“ einzelne Tabs nach persönlichen Anforderungen zu gruppieren und diese darzustellen. Aufgrund geringer Nutzung wurde dieses äußerst interessante Feature jedoch wieder mit der Version 45 entfernt. RSS-Web-Feeds wurden ursprünglich in Form von dynamischen Lesezeichen realisiert. Diese Funktionalität wurde mit der Version 64 aus unterschiedlichen Gründen entfernt. Mithilfe von Add-ons lässt sich diese Funktionalität jedoch weiterhin nutzen. Firefox ist aktuell in 86 Sprachen als kostenloser Download erhältlich, darunter auch Deutsch.

Datenschutz und Sicherheit bei Firefox

Firefox bietet seit der Version 3.5 einen sogenannten „privaten Modus“, in dem keine Daten, die während des Surfens entstehen, gespeichert werden. Browserdaten, die im normalen Funktionsmodus entstehen, können nachträglich entweder selektiv oder komplett gelöscht werden. Im privaten Modus blockiert der Webbrowser automatisch alle Inhalte, die eventuell die Nachverfolgungen über verschiedene Websites hinweg ermöglichen könnten. Dazu werden URLs mit einer Liste des Unternehmens Disconnect.Me abgedeckt. Um einen höchstmöglichen Schutz von Phishing– und Malware-Attacken zu bieten, werden alle besuchten Webpräsenzen und heruntergeladene Anwendungsprogramme automatisch mit einer Liste verdächtig gemeldeter Webseiten und Dateien abgeglichen. Diese Liste wird ungefähr halbstündig aktualisiert, sodass für den Abgleich stets die neuesten Informationen verwendet werden. Durch den Einsatz einer in der Skriptsprache JavaScript realisierten Geolocation API können Webpräsenzen über den Webbrowser den Standort des Nutzers bestimmen. Dazu ist jedoch eine explizite Erlaubnis des Nutzers nötig.

Firefox Erweiterungen (Add-ons)

Mit Erweiterungen können Nutzer den Funktionsumfang von Firefox mit zusätzlichen Funktionen und Features anreichern, die nicht vom eigentlichen Webbrowser angeboten werden. Einige dieser Features wurden absichtlich nicht in den Browser integriert, damit er einigermaßen schlank und agil bleibt und das Firefox-Projekt nicht dadurch unnötig kompliziert wird. Bei den Add-ons handelt es sich traditionell um kleine Programme, die in XUL und JavaScript geschrieben wurden. Durch den Einsatz von XUL und JS waren die Add-ons plattformunabhängig. Mit der Veröffentlichung von Firefox 4 wurde eine neue Add-on-Schnittstelle eingeführt, die ausschließlich auf Websprachen wie HTML, CSS und JavaScript setzt und die Installation sowie das Entfernen von Add-ons ohne Neustart des Webbrowsers ermöglichen soll. Ab der Version 48 wurde mit WebExtensions ein neues Erweiterungsformat eingeführt, das eine Kompatibilität zu anderen Webbrowsern ermöglicht.

Im Oktober 2012 wurde unter dem Namen „Firefox Marketplace“ eine Plattform ins Leben gerufen, auf der Firefox-User Anwendungen für ihren Webbrowser herunterladen können. Die Plattform war zunächst lediglich für Nutzer der mobilen Firefox-Version für Android nutzbar, wurde später aber auch für andere Betriebssysteme verfügbar. Der Firefox-Marketplace orientiert sich stark am Chrome Web Store. Alle dort erhältlichen Programme basieren auf offenen Webstandards und sind nicht von der jeweiligen Architektur abhängig.

Spezielle Versionen

Die offiziellen Ausgaben von Mozilla erfordern in der Regel eine vollständige Installation auf dem Zielsystem. Dadurch wird jedoch der rechnerübergreifende Einsatz mit Wechseldatenträgern erschwert, wie beispielsweise USB-Speichermedien, die es u. a. ermöglichen, den Webbrowser mit dem gleichen Profil auf unterschiedlichen Computern zu nutzen. Um dieses Problem zu beheben, wird eine portable Ausgabe von Firefox angeboten. Die Mozilla Firefox Portable Edition wurde so angepasst, dass sie direkt auf einen mobilen Datenträger entpackt werden kann und auf diesem sofort nutzbar ist. Sämtliche sensiblen Daten bleiben dabei auf dem Datenträger und müssen nicht auf der lokalen Festplatte des genutzten Computers gespeichert werden.

Der Firefox-Webbrowser wird von Mozilla auf keine speziellen Prozessoren optimiert. Es existieren jedoch einige inoffizielle Versionen, die auf verschiedene Betriebssysteme und Prozessorarchitekturen optimiert sind. Ein Grund für die Optimierung auf bestimmte Plattformen, sind eine bessere Ausnutzung des vorhandenen Speichers und bestimmter Prozessorbefehle.

Bei Kali Linux handelt es sich um eine Linux-Distribution, die auf dem frei entwickelten Betriebssystem Debian GNU/Linux basiert. Die Distribution umfasst in erster Linie Anwendungen für die digitale Forensik sowie für Penetrationstests. Dabei richtet sie sich vor allem an professionelle und fortgeschrittene Nutzer.

Der Werdegang von Kali Linux

Entwickelt wurde das Betriebssystem von Devon Kearns und Mati Aharoni, Mitarbeiter des Unternehmens „Offensive Security“. Die Veröffentlichung wurde am 12. Dezember 2012 angekündigt und am 13. März 2013 durchgeführt. Die Entwicklungszeit von Kali Linux betrug etwa ein Jahr; die erste Version erhielt die Versionsnummer 1.0. Seit der Version 2.0 erhalten Sie Kali Linux als Rolling Release. Das bedeutet, dass das Betriebssystem kontinuierlich weiterentwickelt wird. Betriebssystem-Versionen gibt es nicht mehr. Stattdessen handelt es sich um Snapshots, die in der Regel als Installationsmedium dienen.

Offiziell handelt es sich bei Kali Linux um den Nachfolger von BackTrack. Die neue Bezeichnung soll laut Hersteller-Angaben darauf hinweisen, dass die Neuentwicklung deutlich fortgeschritten ist. Kali Linux setzt nicht wie BackTrack auf Ubuntu auf, sondern auf Debian. Das Betriebssystem wurde vollständig neu entwickelt. Die Infrastruktur arbeitet nunmehr mit Git als Verwaltung für die Versionen.

Die Architektur von Kali Linux

Das System wurde so entwickelt, dass es sich für Computer mit unterschiedlich aufgebauten Hauptprozessoren eignet. So ist es sowohl für AMD64 als auch für x86er-Systeme und für die ARM-Architektur verfügbar. Die ARM-Architektur wird vor allem in kleinen Endgeräten wie Tablet-Computern eingesetzt. So kann die ARM-Version von Kali Linux unter anderem auf dem ARM Chromebook der Marke Samsung als auch auf dem Raspberry Pi verwendet werden.

In der Forensik lässt sich Kali Linux – abhängig von der Anwendung – als Live-System ohne Installation booten, zum Beispiel via CD und DVD, USB-Stick oder PXE (Preboot Execution Environment) im Netzwerk. Dabei hinterlässt das Live-System keine Spuren am geprüften System, weder auf der Solid State Drive noch auf den eingebauten Festplatten. Es sind beispielsweise keine Auslagerungsdateien auffindbar. Um einen Rechner für Penetrationstests einzusetzen, kann Kali Linux alternativ fest installiert werden.

Die Programme und Tools von Kali Linux

In der Distribution sind zahlreiche Dokumentationen und mehrere hundert Hilfsmittel integriert, die die Sicherheit eines IT-Systems testen und bewerten. Die unter Kali Linux enthaltenen Programme sind zwar auch einzeln für den Großteil der anderen Linux-Distributionen erhältlich, doch automatische Optimierungen werden nur über Kali Linux zur Verfügung gestellt.

Kali Linux bezieht die Programme vier Mal pro Tag aus dem Debian-Repository. Damit ist sichergestellt, dass die Nutzer jederzeit über aktuelle Software-Pakete und Sicherheitsupdates verfügen. Eine eigene Paketquelle mit der Bezeichnung „Kali bleeding edge“ stellt neueste, noch nicht ausführlich unter Kali geprüfte Versionen zur Verfügung.

Die wichtigsten Werkzeuge

– Aircrack-ng

Bei Aircrack-ng handelt es sich um eine Tool-Sammlung. Die Werkzeuge sind darauf ausgelegt, Schwachstellen im WLAN nicht nur zu analysieren, sondern sie auch auszunutzen.

– Ettercap

Die Software führt Man-in-the-Middle-Angriffe durch. Es unterstützt Echtzeitkontrollen über Verbindungen auch in in geswitchten Netzwerken, das Sniffing auf IP- und ARP-Basis, aktive und passive Analysen einzelner Hosts und vollständiger Netzwerke sowie das inhaltsbezogene Filtering.

– John the Ripper

Diese Software ist in der Lage, verschlüsselte System-Passwörter zu entschlüsseln und auf ihre Sicherheit zu testen. Das Entschlüsseln geschieht per Brute-Force oder durch eine Dictionary-Attack.

– Kismet

Kismet agiert als freier WLAN-Sniffer und spürt Funknetzwerke auf, indem es die versandten Datenpakete mitliest. Dieses Programm eignet sich unter anderem auch dafür, die Sicherheit des eigenen WLANs zu überprüfen und die Signalstärke zu ermitteln.

– Maltego

Dieses Programm wurde entwickelt, um Daten im World Wide Web zu sammeln. Dabei handelt es sich um Daten sowohl einzelner Personen als auch von Unternehmen.

– Nmap

Die Bezeichnung „Nmap“ steht für Network Mapper. Bei diesem Tool handelt es sich um einen Portscanner, der Hosts in einem Rechnernetz scannt und auswertet. Bei Administratoren ist es ebenso beliebt wie bei Hackern, denn es arbeitet außergewöhnlich zuverlässig und effizient.

– RainbowCrack

Zum Knacken von Passwörtern nutzt dieses Programm so genannte Rainbow Tables. Im Vergleich zum Brute Force benötigt diese Methode deutlich weniger Zeit und Versuche, um ein Passwort zu ermitteln.

– SET (Social Engineer Toolkit)

Dieses Toolkit beinhaltet mehrere Anwendungen für unterschiedliche Penetrationstests. Der Schwerpunkt liegt dabei auf dem Social Engineering.

– The Sleuth Kit

Bei diesem Kit handelt es sich um eine forensische Software-Sammlung, die auf die Kommandozeile von IT-Systemen ausgerichtet ist. The Sleuth Kit unterstützt die Dateisysteme ISO 9660, NTFS, FAT, UFS 1 und 2, Ext2 bis Ext4, HFS und YAFFS2.

Die rechtliche Situation von Kali Linux in Deutschland

Die Distribution Kali Linux enthält Tools, die in Teilen gewisse Sicherheitsvorkehrungen umgehen. Sie werden in Deutschland als „Computer-Programme zum Ausspähen von Daten“ aufgefasst. Diese Auffassung basiert auf § 202c StGB, dem „Hacker-Paragrafen“, der Ende Mai 2007 in Kraft getreten ist.

Auf Basis dieser gesetzlichen Lage kann der Besitz oder der Vertrieb von Kali Linux hierzulande strafbar sein, wenn eine Absicht besteht,

– diese Programme rechtswidrig zu nutzen (§ 202a StGB) und/oder

Daten damit abzufangen (§ 202b StGB).

Was ist Python?

Bei Python handelt es sich um eine performante, objektorientierte Programmiersprache, die sich durch eine leicht zu lernende Syntax auszeichnet. Die Alpha-Version der Programmiersprache hat der niederländischen Informatiker Guido Van Rossum Ende der 1980er Jahre entwickelt. Die öffentliche Vorstellung fand im Februar 1991 statt.

Woher stammt der Name?

Die Programmiersprache hat ihren Namen nicht, wie es oft vermutet wird, in Anlehnung an die Riesenschlange bekommen. Der Programmierer Guido Van Rossum war ein leidenschaftlicher Fan der britischen Comedy-Show „Monty Python’s Flying Circus“. Namensgeber für die Programmiersprache war diese Serie.

Wodurch zeichnet sich die Programmiersprache aus?

Im Vergleich zu ähnlichen Programmier- und Skriptsprachen, wie beispielsweise C, C++ oder Node.js ist Python wesentlich leichter zu verstehen und zu schreiben. Generell ist die Syntax äußerst elegant und sehr ausdrucksvoll, sodass Sie mit wenigen Zeilen Code viel erreichen können. Python wird unter der Open Source-Lizenz vertrieben und kann kostenlos auch für den kommerziellen Gebrauch genutzt werden.

Das objektorientierte Programmierparadigma gibt Ihnen die Möglichkeit, durch die Erstellung logischer Objekte komplexe Vorgänge in kleinere und übersichtliche Einzelteile aufzuteilen. Durch die Micro-Service-Architektur ist es möglich, Python-Code in Kombination mit anderen Programmiersprachen wie Rust oder C++ zu nutzen.

Auch auf andren Plattformen nutzbar

Einer der wesentlichen Vorteile der Programmiersprache ist ihre hohe Flexibilität sowie Portabilität. In Python geschriebene Anwendungen lassen sich prinzipiell, ohne größere Änderungen im Programmcode vornehmen zu müssen, auf unterschiedlichen Plattformen nutzen. Man kann die Anwendungen auf Windows-, Linux– und Max OS-Systemen nutzen.

Bei Python handelt es sich wie bei PHP oder JavaScript um eine sogenannte „Interpretersprache“. Das bedeutet, dass der Programmcode wie bei traditionellen Programmiersprachen nicht erst vor der Ausführung kompiliert werden muss, sondern Pythonanwendungen werden direkt aus dem Quellcode heraus interpretiert und ausgeführt. Das vereinfacht  den Prozess der Programmierung wesentlich, da Sie  nicht auf die manuelle Speicherverwaltung achten müssen. Darüber hinaus müssen Sie sich auch nicht darum kümmern, ob die korrekten Programmbibliotheken richtig verlinkt und geladen wurden.

Reine Anwendungen von Python sind langsamer

Python bringt jedoch auch einige Nachteile mit sich. Da es sich hierbei um eine interpretierte Skriptsprache handelt, sind reine Pythonanwendungen langsamer in ihrer Ausführung und benötigen mehr Arbeitsspeicher. Wenn Sie Anwendungen benötigen, die äußerst performant und effizient sind, dann setzen Sie bei einem Teil der Anwendung auf anderen Programmiersprache, wie zum Beispiel C++.

Was sind die Einsatzgebiete von Python?

Aufgrund der übersichtlichen und intuitiven Syntax und Programmstruktur wird Python sowohl in der Entwicklung komplexer Anwendungen als auch bei der Erstellung einzelner Module, die in andere Programmiersprachen integriert werden können, verwendet.  Man nutzt Python , um einzelne Module zu entwickeln, die sich immer wieder verwenden lassen. Einer der wesentlichen Vorteile der Sprache ist die gigantische Auswahl an Bibliotheken für numerische und wissenschaftliche Kalkulationen, die sich schnell und unkompliziert in bestehende Module einbinden lassen.

Große Unternehmen nutzen Software

Python wird von bekannten Unternehmen wie Google, Microsoft, Tesla oder Netflix in den Bereichen KI (künstliche Intelligenz), Spracherkennung und neuronale Netzwerke eingesetzt, um Anwendungen zu entwickeln, die sich durch ein hohes Maß an Autonomität auszeichnen. Darüber hinaus nutzt man Python auch bei der Entwicklung skalierbarer Webanwendungen. Hier kommen sogenannte „Frameworks“ wie Django und Flask zum Einsatz, die auf der Programmiersprache aufbauen und die Entwicklung moderner Webapps wesentlich beschleunigen. Viele bekannte Websites, wie zum Beispiel reddit oder Instagram basieren auf diesen Frameworks. Einsatzgebiete von Python sind ebenso Deep Learning, Data Mining und Maschine Learning.

Welche Softwareprodukte basieren auf dem Programm

Die Programmiersprache kommt aktuell in einer Vielzahl unterschiedlicher kommerzieller Softwareprodukte und Open-Source-Lösungen zum Einsatz. Einige bekannte Anwendungen, die auf Python aufbauen sind:

–              Blender

–              OpeShot

–              OpenOffice

–              Civilization 4

–              Battlefield 2

 

Ist es schwer Python zu lernen?

Falls Sie Kenntnisse in anderen Programmiersprachen wie Java oder Go haben, sollten Sie in der Regel nicht mehr als 10 Tage benötigen, um die Grundlagen dieser Skriptsprache zu erlernen, um einen einfachen Code schreiben zu können. Zahlreiche Online-Plattformen bieten Python-Video-Kurse an, die Sie zum Lernen benutzen können. Darüber hinaus stehen Ihnen zahlreiche Tutorials mit Übungen im Netz kostenlos zur Verfügung. Insgesamt sollten Sie etwa 2 Wochen einplanen, um Basiswissen in der Programmiersprache zu erlangen.

Was ist JavaScript?

Die Skriptsprache JavaScript hat man entwickelt, um dynamische HTML-Dokumente im Webbrowser anzeigen zu können. Die Verarbeitung von JS-Code erfolgt meist direkt im Webbrowser des Nutzers. Mit der Programmiersprache Java hat JavaScript jedoch nicht viel gemeinsam.

Entwicklungsgeschichte von JavaScript

Die Skriptsprache wurde von Netscape ursprünglich unter der Bezeichnung LiveScript entwickelt. Das Ziel der Netscape-Entwickler war es, dynamische HTML-Inhalte direkt im Webbrowser des Nutzers darstellbar zu machen. Der Einsatz von JavaScript sollte Entwicklern die Möglichkeit geben, statische HTML-Dokumente mit dynamischen Elementen anzureichern, Nutzer-Aktionen zu interpretieren und darauf entsprechend zu reagieren, Webseiteninhalte dynamisch zu ändern und Inhalte auf Abruf zu generieren und darzustellen.
Die Programmiersprache Java erlebte in der zweiten Hälfte der 1990er-Jahre einen beispiellosen Höhenflug und wurde von vielen Entwicklern genutzt, um interaktive Desktop- und Webanwendungen zu programmieren. Aufgrund einer Zusammenarbeit mit dem IT-Giganten Sun Microsystems, der die Programmiersprache Java im Jahr 1995 der breiten Öffentlichkeit vorgestellt hatte, entschied sich Netscape dazu, ihre neue Sprache in Anlehnung an die Programmiersprache von Sun Microsystems JavaScript zu nennen. Allerdings teilen sich diese beiden Sprachen fast keine Gemeinsamkeiten.

Netscape veröffentlichte JS im Jahr 1995. Es war fester Bestandteil des zu dieser Zeit sehr beliebten Webbrowsers Netscape Navigator. Begünstigt durch die schnelle Verbreitung des Internets Ende der 1990er-Jahre verbreitet sich JS sehr schnell. Im Laufe der Jahre wurde die Skriptsprache kontinuierlich weiterentwickelt und durch neue Funktionen und Features ergänzt, sodass JS heutzutage neben PHP (LINK) und Python (LINK) zu den grundlegenden Sprachen des World Wide Web gehört.

Skriptsprache ist sehr dynamisch und äußerst flexibel

Einen wesentlichen Anteil am Erfolg von JavaScript hat die Unabhängigkeit von spezifischen Webbrowsern beigetragen. Die Skriptsprache selbst ist sehr dynamisch und äußerst flexibel. Sie verfügt über objektorientierte Eigenschaften und bietet Unterstützung für verschiedene Programmierparadigmen, wie beispielsweise prozedurale, objektorientierte oder funktionale Paradigmen. Dank Node.js lässt sich JavaScript heutzutage nicht nur clientseitig im Rahmen eines Webbrowsers nutzen, sondern auch direkt auf einem Webserver (Apache oder nginx).

Welche Projekte kann man mit JavaScript realisieren?

Durch den Einsatz von JS lassen sich viele unterschiedliche Projekte und Funktionen realisieren.

Im Folgenden gehen wir auf gängige Einsatzgebiete von JavaScript ein:
– dynamische Veränderung von Webseiteninhalten
– Erstellung interaktiver Menüs
– Aktualisierung von HTML-Elementen und Daten, ohne einen Reload der gesamten Webseite
– Veränderung von Texten oder Grafiken durch Aktionen des Nutzers

Abgrenzung zu Skriptsprache Java

Obwohl JavaScript und Java einen ähnlichen Namen haben, teilen sich die beiden Programmiersprachen jedoch nur wenige Gemeinsamkeiten. Bei Java handelt es sich um eine objektorientierte, vollwertige Programmiersprache, die einen wesentlich größeren Funktionsumfang und Befehlssatz bietet als JavaScript. Experten sehen Java als Derivat von C++ an.
Bei JavaScript hingegen handelt es sich um eine Skriptsprache, die grundsätzlich nicht alleine lauffähig ist. JS-Skripte benötigen eine Laufzeitumgebung wie den Webbrowser oder Node.js, um ausgeführt zu werden. JavaScript war ursprünglich dazu vorgesehen,  um es lediglich im Browser einzusetzen. Inzwischen lassen sich JS-Skripte jedoch auch unabhängig vom Browser direkt auf dem Webserver ausführen.

Sicherheitsaspekte

Mit den Möglichkeiten, die JavaScript mit sich bringt, gibt es auch ebenso viele sicherheitskritische Aspekte bei der Ausführung von JS-Skripten. Viele dieser Problemstellungen werden durch das sogenannte „Sandbox-Prinzip“ effektiv gelöst. Alle Befehlszeilen werden von dem Browser in einem isolierten Bereich ausgeführt und haben ausschließlich Zugriff auf die Ressourcen des Webbrowsers und nicht des gesamten Computers.
So wird  der Zugriff auf das Dateisystem durch die Sandbox unterbunden. Darüber hinaus führen moderne Webbrowser wie Chrome oder Firefox jede aufgerufene Webseite, Webanwendung oder Domain  isoliert voneinander aus. Dies erschwert den Datenaustausch zwischen den einzelnen Instanzen, wodurch das Risiko vor sogenannten „Cross-Site-Scripting-Angriffen“ minimiert wird.

JavaScript im Kontext der Suchmaschinenoptimierung

Suchmaschinen analysieren den JS-Code in der Regel nicht. Suchmaschinen-Crawler können die dynamische Interaktion  nicht nutzen. Ein Crawler besucht die Webseite so, wie ein Besucher, bei dem JavaScript explizit im Webbrowser deaktiviert ist. Demzufolge kann ein Web-Crawler Websites nicht erreichen, die man in JavaScript geschrieben hat. Dies hat negative Folgen für das Suchmaschinenranking der betroffenen Webpräsenz.

Weitere Problemstellungen bei JS

Es kommt immer wieder vor, dass Webseitenbetreiber versuchen, JS-Code für die eigenen Interessen zu missbrauchen. So können zum Beispiel mehrere Pop-Up-Fenster ohne Zustimmung des Nutzers automatisch geöffnet werden. Weitere Funktionen, mit denen man den JS-Code missbrauchen kann, sind:
– ungewollte Änderungen am Browserfenster
– das Tarnen zwielichtiger Links und Internetadressen
– die absichtliche Deaktivierung von Kontextmenüs zum Speichern und Kopieren von Webinhalten

Das Betriebssystem vermittelt zwischen Hardware und Programm

Ein Betriebssystem, auch OS (von englisch operating system) ist eine Software zwischen Hardware und Anwendungsprogrammen. Das Betriebssystem vermittelt den Zugriff auf die Hardware-Ressourcen des Computers, wie Arbeitsspeicher, Festplatten, Drucker und USB-Ports. Nicht nur der PC braucht ein Betriebssystem, sondern auch Tablets, Smartphones und andere Computer. Bekannte Betriebssysteme sind Windows, Mac OS , Unix, Linux, iOS und Android.

 

Das Betriebssystem verwaltet und kontrolliert die Hardware, also die Komponenten des jeweiligen Computers. Dazu gehören auch Ausgabegeräte, wie Drucker, DVD-Laufwerk, Tastatur, die Maus und andere Schnittstellen der Hardware, wie etwa USB-Ports. Im Grunde könnte eine Anwendungssoftware, wie z. B. MS Word, diese Aufgaben auch selbst übernehmen. Dann müsste das Anwendungsprogramm jedoch für die verschiedenen Hardwareausführungen der Computer spezielle MS-Word-Versionen anbieten. Mit dem Betriebssystem wird hingegen der Verwaltungsaufwand für die Anwendungsprogramme reduziert und zusätzlich eine einheitliche Oberfläche geschaffen, auf die eine Software von Drittanbietern aufsetzen kann.

 

Betriebssystem als Softwareschicht zwischen Hardware und Programm

Betriebssysteme verbinden die Anwendersoftware mit den Hardware-Ressourcen. Auf fast allen Arten von intelligenten, computergestützten Geräten wird zunächst ein Betriebssystem installiert: Desktoprechner, Laptops, Server, Minicomputer, Großrechner in Rechenzentrum sowie kleinere Systeme wie Smartphones, PDAs (Blackberry u.a.) haben ein Betriebssystem, um anderen Programmen einen standardisierten Zugriff und Kontrolle auf die Hardware-Ressourcen zu ermöglichen. Neben Windows, Mac OS und Linux nutzen einige Universitäten und Forschungseinrichtungen selbst entwickelte Betriebssysteme. Dazu gehören beispielsweise das Betriebssystem Amoeba der Vrije Universiteit Amsterdam. Amoeba ist inzwischen eines der bekanntesten Betriebssysteme für verteilte Systeme. Weitere Uni-Betriebssysteme sind Barrelfish der ETH Zürich und Microsoft Research sowie Rainbow, ein verteiltes Betriebssystem der Universität Ulm.

Bestandteile von Betriebssystemen

Zum Betriebssystem gehören drei grundlegende Bestandteile:

Kernel: Der Systemkern verwaltet den Speicher, den Prozessor und die Prozesse des Systems. Er ist für die Hardware zuständig und triggert beim Start andere Programme für weitere Aufgaben, wie etwa die Gerätetreiber für Drucker und Peripherie.

– Über den Befehlsübersetzer man mit dem Betriebssystem kommunizieren.

– Dateisystem: Das Betriebssystem definiert auch das Dateisystem, das für die Struktur und Ablage von Dateien zuständig ist.

Abläufe im Betriebssystem:

– Benutzerkommunikation

– Ausführen und Beenden von Programmen

– Zuteilung der Prozessorzeit

– Verwaltung von Speicherplatz und angeschlossenen Geräten Zugriffsbeschränkungen.

Anforderungen an ein Betriebssystem

  1. a) Schaffung von Schnittstellen zu Anwendungsprogrammen

Jede Anwendung (z. B. eine Textverarbeitung) erhält mit dem Betriebssystem einen klar definierten und sauberen Zugriff auf die verfügbare Hardware. Der Programmierer wendet sich nicht an die jeweiligen RAM-Module des Arbeitsspeichers, sondern an die zuständige Softwarekomponente des Betriebssystems. Damit muss der Programmierer die spezifischen Hardwareeigenschaften der verbauten RAM-Module nicht kennen. Das Betriebssystem erzeugt demzufolge abstrakte Objekte, um die Komplexität der unterliegenden und oftmals recht herstellerabhängigen Hardware beherrschbar zu machen.

  1. b) Die Verwaltung der Hardware-Ressourcen

Das Betriebssystem teilt den Benutzern bzw. der Anwendungssoftware die Prozessorleistung zu. Auch Speichereinheiten und Peripheriegeräte werden vom Betriebssystem verwaltet und verteilt. Übernimmt ein Anwendungsprogramm eine Ressource, wie z. B. einen Drucker, so übernimmt das Betriebssystem gleichzeitig die Überwachung des Vorgangs. Bei mehreren Druckanfragen von unterschiedlichen Programmen, entscheidet das Betriebssystem nach definierten Algorithmen, wie eine Verteilung der Ressource erfolgt. Wird ein Computer oder ein Netzwerk von mehreren Benutzern verwendet, müssen vom Betriebssystem zusätzlich Maßnahmen für den Speicherschutz getroffen und konkurrierende Zugriffe auf andere Betriebsmittel geregelt werden.

Systemsoftware vs. Betriebssystem

Das Betriebssystem ist Teil der Systemsoftware, die sämtliche Abläufe auf dem Rechner steuert. Zur Systemsoftware gehören Editoren, Compiler und Interpreter. Browser und andere Anwendungssoftware, wie z. B. ein Buchhaltungsprogramm, nutzen die Systemsoftware für einen ordnungsgemäßen Ablauf. Geregelt ist der Begriff des Betriebssystems sowie sein Umfang in der DIN 44300. Der Umfang des Betriebssystems ist jedoch nicht unumstritten und führende Informatiker grenzen die Komponenten des Betriebssystems weiter ein oder weiten seinen Umfang aus. Im Informatik-Duden gehören auch Übersetzungsprogramme und Dienstprogramme zu den wesentlichen Betriebssystem-Komponenten. Ein Beispiel für die Kontroversen um die Abgrenzung des Betriebssystems ist der GNU/Linux-Namensstreit.

Treiber für Hardwarekomponenten

Die Computer-Hardware eines Desktop-Computers ist zwar selbst zwischen den Herstellern sehr ähnlich, jedoch können die jeweiligen Hardwarekomponenten oder Bauteile unterschiedliche Anforderungen stellen. Wird beispielsweise eine Komponente eines Computers ersetzt, sind meist zusätzlich spezielle Treiberprogramme des Herstellers erforderlich. Einige dieser Treiber werden mit dem Betriebssystem, wie z. B. MS Windows ausgeliefert, jedoch sind nicht alle Versionen und Geräte im Lieferumfang enthalten. In einem solchen Fall müssen die Treiber von der Herstellerseite heruntergeladen werden.

Geschichte der Betriebssysteme

Anfänglich wurden Software und Daten noch über Lochkarten in den Computer gebracht. Der Begriff der „Batchverarbeitung“ (deutsch: Stapelverarbeitung) stammt aus dieser Zeit. Die Lochkarten mussten als Stapel in das Lesegerät des Großrechners eingelegt werden. Meist war die Reihenfolge der Lochkarten wichtig und durfte nicht durcheinandergebracht werden. War eine Lochkarte beschädigt, musste der Stapel beendet, die Karte erneuert und die Einleseprozedur nochmals gestartet werden. In den Anfängen der Großrechner gab es zunächst keine Hardwarespeicher und externe elektronische Speichermedien. Festplatten wurden später entwickelt und waren lange Zeit sehr teuer. An die permanente Ablage von Daten auf einer Festplatte war nicht zu denken. Nach den Lochkarten übernahmen Magnetbänder die Rolle der erschwinglichen Datenträger. Der Begriff der Batch- oder Job-Verarbeitung beschreibt heute die sequentielle Planung von Programmläufen, die meist automatisch getriggert wird.

Aktuelle Hardware und ihre Betriebssysteme

Die Vorläufer der Desktopsysteme waren Heimcomputer mit Betriebssystemen wie AmigaOS, DOS, LUnix, MiNT oder GEOS für den Commodore C64. Auf Großrechnersystemen, die häufig IBM-Maschinen waren, wurde häufig das Betriebssystem AIX installiert. Die Betriebssysteme BS1000 bis BS3000 liefen auf Siemens Großrechnern. Java-basierte Betriebssystem sind typische Middleware-Produkte, wie etwa das JavaOS von Sun Microsystems, MIDP (Mobile Information Device Profile) und JNode (Java New Operating System Design Effort). Auf Desktoprechnern laufen heute Microsoft Windows, BSD inkl. Mac OS von Apple sowie GNU/Linux.

Server-Betriebssysteme

Die bekanntesten Systeme sind Microsoft Windows, Unix und Linux. Für Windows sprechen seine einfache Bedienbarkeit sowie die Vielzahl der windows-basierten Anwendungssoftware, die zudem oft nur eingeschränkt auf anderen Betriebssystemen lauffähig ist.

Linux-basierte Serversysteme haben ihre Vorteile, wie etwa die das offen gelegte Coding (Open-Source-Software). Damit kann jeder das Betriebssystem einsehen, ändern und erweitern. Ein weiterer Vorteil der Open-Source-Systeme ist eine sich bildende Community, die ständig Neuerungen und Sicherheits-Updates bereitstellt.

In großen Rechenzentren spielen Unix-Betriebssysteme noch immer eine Rolle. Sie sind besonders stabil und zuverlässig. Herausgebildet haben sich auf dem Markt die Unix-Derivate AIX (IBM) und HP-UX (Hewlett-Packard). Unix-Betriebssysteme gelten als weniger angreifbar.