Was genau ist ein Mainframe und was macht ein Programmierer darauf genau?

20562
Rama

Ich habe viel gesucht (gegoogelt), aber nichts antwortet mir klar. Von dem, was ich bekomme, sind "riesige" Computer mit "vielen" CPUs, die "Legacy" -Software ausführen, die in "Legacy" -Sprachen geschrieben ist, Mainframes, und die Programmierer "warten" sie.

Ich bin verwirrt. Erstens: Könnte eine Cloud als Mainframe betrachtet werden, oder wenn ich ein System mit 23 cpus mit Unmengen von RAM und Festplattenspeicher aufbauen würde, wäre es ein Mainframe? Und was ist mit dem Job des Programmierers?

Ich komme also an diesen Ort, der den Ruf hat, schnelle und relevante Antworten zu geben. Bitte erkläre. :)

6
Eine Cloud wird niemals ein Mainframe sein. Sie machen ganz andere Dinge. Ignacio Vazquez-Abrams vor 12 Jahren 0
Eine Cloud ist ein redundantes Array kostengünstiger Systeme. Ein Mainframe ist ein SEHR großes, furchtbar teures System mit einer riesigen Menge an allem Journeyman Geek vor 12 Jahren 4
Mainframes können Wolken ausführen. Sie können Tausende von virtuellen Servern gleichzeitig ausführen. Anthony Giorgio vor 12 Jahren 1

8 Antworten auf die Frage

6
O.M.Y.

MAINFRAME: Nomen. Ein veraltetes Gerät, das immer noch von tausenden veralteten Unternehmen genutzt wird, die Milliarden veralteter Kunden bedienen und für ihre veralteten Aktionäre riesige veraltete Gewinne erzielen. Und der diesjährige Lauf ist doppelt so schnell wie im Vorjahr. (aus dem IT-Wörterbuch des Teufels )

Hier sind zwei Abschnitte. Einer davon, was Mainframes sind, der andere Mainframe-Programmierer.


Das erste, was Sie über Mainframes wissen müssen, ist, dass diese für einen anderen Zweck als viele moderne Computer entwickelt wurden.

Bei heutigen Computern dreht sich alles um die Geschwindigkeit und Leistung des Prozessors. Gelegentlich hängt ein PC im Wartezyklus und stürzt sogar ab.

Bei Mainframes geht es dagegen um Zuverlässigkeit, Verfügbarkeit und Wartungsfreundlichkeit (RAS).

  • Zuverlässigkeit. Dieses Wort wird sowohl im Hardware-Sinn (sie laufen weiter) als auch im Daten-Sinn (Datenverfälschung ist irrsinnig irrsinnig selten) verwendet. Siehe meine Anmerkungen unten, WARUM dies wahr ist.

  • Verfügbarkeit Mainframes haben so genannte "Five-Nines" -Verfügbarkeit, was bedeutet, dass der "Up-Time" -Faktor eines Mainframes 0,99999 oder in reinem Englisch ist. Ein Mainframe kann rund um die Uhr rund um die Uhr laufen, unterstützt Tausende von gleichzeitigen Benutzern für ein ganzes Jahr und kann zuverlässig verlassen werden nicht für mehr als etwa 5 Minuten für das ganze Jahr "down" sein.

  • Wartungsfreundlichkeit Ein Mainframe besteht aus vielen benutzerdefinierten Schaltungen, die jeweils auf eine spezielle Aufgabe ausgerichtet sind. Wenn ein Teil ausfällt, wird das Problem automatisch erkannt und eine andere Schaltung wird übernommen, und der Systembediener wird benachrichtigt. Wenn die Problemschaltung ausgetauscht werden muss, kann dies normalerweise geschehen, während der Computer weiterläuft.

Moderne Computer beginnen mit einer generischen Zentraleinheit (z. B. der x86-Serie), und die Betriebssystemsoftware wird mit den vorhandenen CPU-Codes geschrieben. Der Grund, warum Mainframes so solide sind, liegt darin, dass Hard- und Software mitentwickelt werden.

Wenn das Betriebssystem ständig eine komplexe Aufgabe in einem PC ausführen muss, wird eine Routine geschrieben und von der CPU aufgerufen, die die gesamte Arbeit erledigt. Bei einem Mainframe - wenn der Bedarf dafür hoch genug ist - wird manchmal eine spezielle Schaltung speziell für diese Aufgabe entwickelt und installiert. In einigen modernen Mainframes gibt es beispielsweise spezielle Schaltungen, nur zum Verschlüsseln und Entschlüsseln von Daten und andere Schaltungen, nur zum Ausführen von Java-Code. Es gibt auch spezielle Schaltungen, um mit Festplattenlaufwerken und Druckern zu kommunizieren, damit die CPU nicht in Kleinigkeiten gebunden wird. Und natürlich gibt es eine Menge spezieller Schaltungen, um Datenverfälschungen zu verhindern. In einem modernen PC erledigt dies alles die CPU.

Das, was wir bei PCs am nächsten haben, sind (1) mathematische Co-Prozessoren und (2) grafische Co-Prozessoren, beides relativ moderne Erfindungen für PCs, aber Mainframes haben vor über 50 Jahren so etwas getan.

Eine letzte Sache: Die größte Stärke von Mainframes bei ihrer Verwendung ist die sogenannte massive Paralleltransaktionsverarbeitung . Auf diese Weise kann ein einzelner Mainframe gleichzeitig mit Zehntausenden Benutzern und / oder anderen Systemen kommunizieren. Denken Sie an alle Debitkarten-Verkaufssysteme in praktisch jedem Geschäft / Tankstelle / Restaurant, in dem Sie einkaufen. Alle sprechen jedes Mal mit einem Mainframe, wenn jemand eine Karte zieht, und eine Antwort wird normalerweise in weniger als einer Sekunde nach dem Durchsuchen von Milliarden Datensätzen zurückgegeben.

Unterm Strich: Wenn etwas nicht sehr SEHR ernsthaft schief geht (und selbst dann wird es normalerweise durch menschliche Fehler verursacht), hängen Mainframes nicht ab und stürzen nicht ab. Auf die Daten, die sie verarbeiten, wird schnell und präzise zugegriffen. Sie werden aus gutem Grund als "großes Eisen" bezeichnet.

Weitere Informationen finden Sie unter http://www.mainframes360.com/2009/06/what-is-mainframe-computer.html sowie unter http://www.wired.com/2015/01/z13-mainframe/ .


Sie haben auch nach Programmierern gefragt, die den Computer "warten" ...

Mainframes haben zwei verschiedene Arten von Programmierern. Die erste Art ist das, woran Sie gewöhnt sind, Anwendungsprogrammierer . Dies sind die Leute, die mit COBOL und C ++ und JAVA schreiben, um mit Datenbanken, Berichten und dergleichen zu arbeiten. Die andere Art nennt man Systemprogrammierer und ihre Aufgabe besteht darin, das Betriebssystem zu warten und die Hardware zu überwachen.

Legacy- Code ist einfach Code, der von früheren Programmierergenerationen "geerbt" wurde. Es ist ein guter, solider Code, der funktioniert. Da er funktioniert, möchten die Unternehmen, die ihn verwenden, ihn nicht durch "neuen" Code ersetzen, der Fehler enthält. Wie bei jeder Software passieren Dinge, bei denen der Code gelegentlich geändert werden muss, und hier werden Programmierer benötigt, die sich auf Legacy-Code spezialisiert haben. Sie kennen diese alten Sprachen und Systeme und dieses Wissen ist für Unternehmen von Nutzen, die Mainframes und andere ältere Computer verwenden.

Jeder einzelne PC-Benutzer verfügt über eine einzigartige Kombination aus Anwendungen und Hardware. Microsoft sendet jedoch regelmäßig einmalige "Updates" an Windows, und Sie akzeptieren diese oder lehnen sie ab. Dasselbe gilt für einige der verschiedenen Linux-Distributionen. Manchmal verursachen diese Updates Probleme, da sie nicht mit Ihrer Hardware und Software zusammenarbeiten.

Ein Mainframe ist wie ein Flugzeug, es verdient Geld, wenn es funktioniert, und es verliert Geld, wenn es nicht funktioniert. Ein Mainframe ist unglaublich teuer, wenn er aufgrund eines schlechten Updates im Leerlauf sitzt oder abstürzt, und Unternehmen, die sie bedienen, können sich "Probleme" nicht leisten. Sie haben Systemprogrammierer, um diese Probleme zu vermeiden.

Die Aufgabe eines Systemprogrammierers besteht darin, die Betriebssystemaktualisierungen (Patches) von IBM zu analysieren und vor der Installation zu testen, um sicherzustellen, dass sie auf diesem Computer keine Probleme verursachen. Sie untersuchen Teile des Quellcodes der Updates und vergleichen sie mit der Hardware- und Softwarekonfiguration ihres Unternehmens. Bei Bedarf arbeiten sie mit IBM zusammen, um das Update so anzupassen, dass es mit seinem einzigartigen System sicher funktioniert.

Der Systemprogrammierer muss jede installierte Anwendung und jede angeschlossene Hardware kennen. Er oder sie ist für alles verantwortlich, was sich im System ändert.

Dies ist ein kleiner Teil dessen, was ein Systemprogrammierer tut, und der typische Ausbildungszeitraum für einen Systemprogrammierer beträgt 10 bis 20 Jahre.

Weitere Informationen finden Sie unter https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysprogrole.htm .

4
Tog

Die Mainframes, mit denen ich gearbeitet habe, haben CPU-Prioritätsstufen und RAM für dumme Terminals zugewiesen, die tatsächlich wie Computer fungierten. Auf diese Weise könnten viele Benutzer Programme auf demselben Computer ausführen, ohne sich gegenseitig zu stören. Die Mainframe-Hardware bestand aus mehreren Leiterplatten mit jeweils eigener Funktion. Der Zentralprozessor könnte aus mehr als einer Platine bestehen, z. B. Register, Rechenwerk, Gleitkommaprozessor usw.

Bis P2SC kam, was sie alle auf einen Chip brachte. Ignacio Vazquez-Abrams vor 12 Jahren 0
Die Gefahr hier ist, dass ich anfangen könnte, über Papierklebebänder, Magnetkerne und 57-MB-Waschmaschinen zu dronen. Es könnte alles in einer Monty Python-Debatte enden ... :) Tog vor 12 Jahren 2
@Tog ... wie ein echter Dinosaurier gesprochen. :) O.M.Y. vor 7 Jahren 0
4
harrymc

Die offizielle Definition von Wikipedia ist auf dem Mainframe-Computer zu finden .

Vor einigen Jahrzehnten war ein Mainframe einfach ein nicht tragbarer Computer, der in einem eigenen Schrank mit sämtlichen Peripheriegeräten und einer Klimaanlage untergebracht war. Diese physisch großen Computer verfügten jedoch nicht einmal über die Rechenleistung heutiger Notebooks.

Diese großen Mainframe-CPUs wurden seitdem durch Multi-CPU-Rahmen ersetzt, die (wieder) in ihrem klimatisierten Schrank sitzen.

Schließlich (nicht lachen), meine eigene Definition für einen Mainframe lautet: "Ein nicht tragbarer Computer, der eine Klimaanlage erfordert". Meines Erachtens ist die Klimatisierung die einzige zuverlässige Kennung für einen Mainframe.

In Bezug auf "alte" Sprachen werden viele von ihnen heute noch viel häufiger verwendet als "moderne" Sprachen. COBOL sorgt immer noch für die Welt, nicht für C ++. Sie sollten diese einfach als "Sprachen definieren, die vor einigen Jahrzehnten erfunden wurden". Viele von ihnen haben in der Zwischenzeit eine Reihe von Facelifts erhalten, daher sind sie heute nicht mehr so ​​veraltet.

image

"(nicht lachen)" Sorry, konnte nicht helfen. Ignacio Vazquez-Abrams vor 12 Jahren 0
Mein Android-Smartphone, das unter AC gehalten wird, wäre also auch ein Mainframe. :) Aber was ist mit der Arbeit der Programmierer? Ich kann mir einfach nicht vorstellen, was "Instandhaltung" bedeutet. Rama vor 12 Jahren 0
Ihr Android-Smartphone benötigt * keine * Klimaanlage, um funktionieren zu können. Die Wartung ist die gleiche wie bei jedem anderen Computer, jedoch komplizierter, da mehr Hardware und größere Programme vorhanden sind (mehr Codezeilen) und deren ursprüngliche Programmierer eine sehr gute Chance haben, nicht immer in der Nähe zu sein. harrymc vor 12 Jahren 0
Jede Gruppe von Racks, die mit einem Rackmount-Kit in einem Serverraum gefüllt sind, benötigen jedoch eine Klimaanlage. paradroid vor 12 Jahren 0
@paradroid: Eine Gruppe von Racks ist nicht als "Computer" definiert. Im Moment hält meine lustige Definition noch :) harrymc vor 12 Jahren 0
@harrymc, "Klimaanlage erforderlich"? Der letzte Mainframe, den ich verwendete, war wassergekühlt. Zählt das für Ihre Definition? B540Glenn vor 7 Jahren 0
@ B540Glenn: Was hat die Wasserkühlung in Ihrem Mainframe gekühlt und was war das? Ich denke, wassergekühlte CPUs sollten nicht zählen. harrymc vor 7 Jahren 0
@Rama - siehe "Definitionen" unten, um "Wartung" zu verstehen. Schauen Sie sich auch die Links an. O.M.Y. vor 7 Jahren 0
"Vor einigen Jahrzehnten war ein Mainframe einfach ein nicht tragbarer Computer." **Ähm nein. Nicht einmal in der Nähe. ** Ein Mainframe war * immer * ein spezieller Computertyp, der für extrem hohe Zuverlässigkeit (99,999%) und massive gleichzeitige mehrfache Transaktionen (Zehntausende von Sitzungen pro Sekunde) entwickelt wurde. Sehen Sie meine Antwort für Details. O.M.Y. vor 7 Jahren 0
2
lsiunsuex

Ich habe immer darauf hingewiesen, wie auch die Programmierer um mich herum, die daran arbeiten. Ein Mainframe ist unsere IBM iSeries. Ein Hauptserver (wir haben 2), an den Remotestationen als Terminals angeschlossen sind. In unserer Umgebung sind die Remote-Terminals Windows XP Embedded-Thin Clients, auf denen IBM iSeries Access ausgeführt wird. Die auf der iSeries verwendete Programmiersprache ist RPG.

Nach allem, was ich verstehe, wird es mit mehr Prozessoren ausgeliefert, als wir verwenden (CPU on demand) - Jobs können im Stapel angeordnet und mit Priorität versehen werden. Dies ist eine typische Green-Screen-Bank, obwohl alle 16 Farben verwendet werden, um die Lesbarkeit zu verbessern, und wir haben einige Mausklick-Funktionen auf dem Bildschirm.

Wir sind gerade dabei, zu einem neuen zu migrieren, der in einem eigenen IBM-Marken-Rack (das alte war nur ein Stehbodenmodell).

Bei iSeries Access handelt es sich lediglich um ein verherrlichtes Telnet-Programm (ich habe über meinen Mac über Telnet eine Verbindung hergestellt) und meine Website stellt über ODBC eine Verbindung her. Abgesehen von iSeries Access (ein Windows-Programm) gibt es keine GUI. Es sieht aus wie eine Eingabeaufforderung. iSeries Navigator ist zwar vorhanden, wird jedoch nicht verwendet (dies wäre die nächstgelegene GUI).

Ich habe in der Vergangenheit für zwei Banken gearbeitet und alle verwendeten eine solche Maschine von IBM. Bevor wir dieses neue Rack erworben haben, haben wir überlegt, auf ein Blade-System umzusteigen, aber das hätte viel mehr Migrationszeit gekostet, als wir wollten. Unser iSeries-Administrator musste für ein Casino arbeiten und hatte einen ganzen Raum für mehrere Rack-Systeme. In unserer Branche gibt es einen weiteren Konkurrenten, der auf Intel basiert. Unsere Anwendung wurde inhouse geschrieben und wurde für IBM und RPG geschrieben.

Das "Ich" ist eine Klasse - es gibt andere; zSeries kommt mir in den Sinn.

-Mario

1
Premraj
  • Der Mainframe ist ein Großrechner, der seit 1952 von IBM hergestellt wurde. Er wird als Big Iron bezeichnet . Der Begriff, der auf die großen Gehäuse bezogen wird, die als Mainframes bezeichnet werden, enthält eine Vielzahl von CPUs und E / A-Geräten.
  • Die meisten Mainframe-Computer werden von IBM mit z / OS verkauft . z / OS ist ein 64-Bit-Betriebssystem für IBM-Mainframes, das 2001 von IBM produziert wurde.
  • Ein Mainframe-Computer, der Tausende von Anwendungen unterstützt, bedient Tausende Benutzer gleichzeitig.
  • Unternehmen verwenden Mainframe zum Hosten kommerzieller Datenbanken, Transaktionsserver und Anwendungen.
  • z / OS, das auf der IBM System z-Plattform ausgeführt wird, führt kritische Systeme seit Jahrzehnten leise aus und bietet hervorragende Leistung, Zuverlässigkeit und Sicherheit. Viele Organisationen werden jedoch von UNIX umworben, wobei sie niedrigere Kosten, eine einfachere Verwendung und eine breitere Akzeptanz versprechen.
1
Hogstrom

Der Begriff "Mainframe" bezieht sich im Allgemeinen auf große Systeme, die zu Beginn der kommerziellen Computerfertigung von IBM entwickelt wurden. Es war ein einzigartiges System, das von Unternehmen für das Hosten ihrer Anwendungen entwickelt wurde, und es gab den Wert, dass heute geschriebene Programme unverändert in die Zukunft laufen würden. Scheinbar den Wert der Programminvestition zu erhalten.

Es gibt unterschiedliche Meinungen, aber wenn die meisten Leute sich auf den Mainframe beziehen, denken sie an IBM Z-Hardware (bekannt als zSeries) und an das z / OS-Betriebssystem.

zSeries hat einige radikale Veränderungen erfahren, seit es in den 60er Jahren zum ersten Mal konzipiert und ausgeliefert wurde. Dann wurde es als 360-Architektur bezeichnet, die sich zu 370 und jetzt 390-Hardwarearchitekturen entwickelte. Es hostete auch eine Reihe von Betriebssystemen, darunter VSE, TPF, z / VM (der ursprüngliche Hypervisor für das gleichzeitige Hosten mehrerer Betriebssysteme auf derselben Hardware). Der große Hund ist z / OS, der sich aus MVT -> MVS -> MVS / SP -> MVS / XA -> z / OS entwickelt hat. Dieses Betriebssystem wurde so konzipiert, dass es äußerst robust ist und in einigen Geschäften kann das Betriebssystem noch Jahre laufen, bevor es heruntergefahren wird (IPL).

Im Laufe der Jahre hat z / OS andere Sprachen und Laufzeiten als CICS oder IMS verwendet, die COBOL-Programme ausführen. Heute führt z / OS Java, Node sowie eine Vielzahl allgemeiner Tools und Services aus, die auf anderen Plattformen wie Python und Perl zu finden sind.

Kurz gesagt, der Mainframe ist ein Stück Technologie, das sich seit über 50 Jahren in der Hand des Anwenders befindet und ständig die für das Business wichtigen Technologien integriert. Wenn Sie die alten Terminalemulatoren verwenden, kann dies unübersichtlich sein, aber es singt auch bei der Verwendung von REST-APIs.

Was kannst du tun? Besser gesagt, was können Sie nicht tun?

0
user401286

Der Mainframe besteht aus mehreren Multiprozessoren, Vektorprozessoren und Massivelly-Prozessoren (MPP), die über einen sehr großen, miteinander verbundenen Bus verbunden sind. Er kann mulitverarbeitende Funktionen verarbeiten und besitzt RAM und ROM, die die Möglichkeit haben, die Daten zu senden Geschwindigkeit. Programme in Mainframe sind meistens auf Register ausgerichtet und verfügen über mehrstufige Programme

-1
xciter

Ich betrachte einen Mainframe als großes System, das auf dem Client-Server / Terminal-Modell basiert. Das heißt, es gibt einen großen Computer, der alle Berechnungen und Endgeräte für jeden Benutzer ausführt, der nur dazu dient, sich mit dem Mainframe zu verbinden.

Das ist nicht wirklich so nah an der Korrektur. Ignacio Vazquez-Abrams vor 12 Jahren 1
Vielleicht war das 1973 wahr, aber nicht mehr. Anthony Giorgio vor 12 Jahren 0