Betriebstechnik | Biographien | Biologie | Chemie | Deutsch | Digitaltechnik |
Electronica | Epochen | Fertigungstechnik | Gemeinschaftskunde | Geographie | Geschichte |
Informatik | Kultur | Kunst | Literatur | Management | Mathematik |
Medizin | Nachrichtentechnik | Philosophie | Physik | Politik | Projekt |
Psychologie | Recht | Sonstige | Sport | Technik | Wirtschaftskunde |
Ähnliche Berichte:
|
Projekte:
|
Papers in anderen sprachen:
|
technik referate |
Scheduling aus Thread-Sicht
Großrechner (engl. main frame oder host): Dies sind für vielfältige Zwecke einsetzbare Computer der obersten Leistungsklasse. Sie werden vorwiegend von Rechenzentren betrieben. Tagsüber können sie auf Grund ihrer hohen Rechenleistung sehr viele Benutzer (in der Regel mehrere hundert) gleichzeitig bedienen; nachts führen sie sehr rechenintensive Arbeiten ohne Unterbrechung durch, z. B. Lohn- und Gehaltsabrechnung, Aktualisieren von Datenbanken, Produktionsplanungen oder technische Berechnungen. Großrechner werden zur Zeit zum einen durch Rechnernetze, in denen viele Arbeitsplatzstationen, file server und PCs zusammengefaßt sind, und zum anderen durch Rechner für Spezialaufgaben (oft mit hoher Parallelverarbeitung) verdrängt.
Großrechner verfügen fast immer über zentrale Pufferspeicher, Fließbandverarbeitung, Hilfsprozessoren, benötigen Klimaanlagen sowie spezielles Bedienungspersonal und bieten die Möglichkeit, eine große Anzahl von Bildschirmarbeitsplätzen und sonstigen Peripheriegeräten zu betreiben. Mehrprogrammbetrieb ist bei dieser Kategorie die Regel. Traditionelle Aufgabenbereiche werden weiterhin bestehen bleiben. Die Vernetzung von Mikro- und Minicomputern mit den Großrechenanlagen gewinnt jedoch immer mehr an Bedeutung (verteilte Datenverarbeitung). Der Großcomputer als zentraler Verwalter von Massendaten stellt Informationen für die Weiter- oder Einzelbearbeitung auf Mikros oder Minis zur Verfügung. Die neueren Entwicklungen am Großrechnersektor gehen eindeutig in Richtung Supercomputing, dessen Anwendungen für Klein- und Mittelbetriebe allerdings kaum in Frage kommen. Der Einsatz derartiger Anlagen ist eher bei komplizierten wissenschaftlich-technischen und militärischen Anwendungen zu sehen.
Mainframes oder Großrechner sind heutzutage die Dinosaurier unter den Computern: Groß, schwer und es gab schon mal mehr davon.
Viele Anwendungen wurden bereits auf kleinere Systeme wie PC- oder Workstation-Netze ausgelagert, die im Unterhalt nicht so kostspielig sind.
Großrechner waren von Anfang an als Mehrbenutzersysteme konzipiert, und sowohl die Hardware als auch die Betriebssysteme sind darauf speziell ausgelegt. Auf diesem Gebiet sind die Mainframes selbst schnellen Workstations heute noch überlegen: Auf dem zentralen Großrechner des Forschungszentrums Jülich sind bis zu 500 Leute eingeloggt, ohne daß dies für das System ein Problem darstellen würde, während man bei Hochleistungsworkstations oft schon bei 4 bis 5 eingeloggten Usern deutliche Performance-Einbrüche erlebt. Zusätzlich bieten Großrechner garantierte Antwortzeiten.
Großrechner sind auf die Verarbeitung großer Datenmengen abgestimmt: Ihre Input/Output-Fähigkeiten werden nur noch von Supercomputern übertroffen. Welches ein Grund ist, warum sie in Verwaltungszentralen noch immer ihren Platz haben, wobei nicht nur die Geschwindigkeit sondern auch die hohe Datensicherheit eine Rolle spielt.
Großrechner werden in der Regel von speziellen Terminals aus bedient (nur Text und ab und zu auch Graphikfähig). In den letzten Jahren häuft sich der Einsatz von Mikrocomputern und Workstations mit Kopplungsprogrammen als Terminal, weil die Terminals auf Grund der niedrigen Stückzahlen sehr teuer sind und auf diesen Ersatzterminals auch ohne den zentralen Rechner etwas gemacht werden kann.
Großrechner müssen eine hohe Ausfallsicherheit gewährleisten. Niedrige Ausschaltzeiten können nur mit einer hohen Redundanz erreicht werden. Um dies zu gewährleisten müssen alle Komponenten doppelt vorhanden sein (Netzteil, Controller, Festplatte, Ersatzprozessor der zumindest ein sicheres Herunterfahren des Systems gewährleistet) und die meisten Komponenten während des laufenden Betriebes austauschbar sein. In dem mehrere Rechner zu einem Cluster zusammengeschlossen werden, kann die Sicherheit auch noch erhöht werden.
Datensicherheit wird bei Großrechnern großgeschrieben: Systeme werden jede Nacht gebackupt und das Hacken ist auf solchen Systemen auch wesentlich schwerer.
Kurz nach dem 2. Weltkrieg kamen die ersten Großrechner auf den Markt. Man konnte jedoch nur einfache Operationen damit durchführen. Diese Rechner benötigten große Klimaanlagen, spezielles Bedienpersonal und mehrere Benutzer mußten sie diesen einen Rechner teilen. Diese Rechner ähnelten in Größe und Form sehr den heutigen Großrechnern, konnten jedoch aber nicht viel mehr als ein Taschenrechner.
Mark1 von IBM, war ein typischer Rechner dieser Zeit. Er wog ca. 6 t, war sehr groß und mit heutigen Rechnern verglichen, extrem langsam. Aufgebaut war dieser Rechner aus elektromechanischen Relais. Eine Neuheit stellte dieser Rechner deshalb dar, weil er Additionen in weniger als einer Sekunde durchführen konnte. Einige Jahrzehnte später brachte IBM die Produktfamilie S/360 auf den Markt. Diese Rechner wurden bereits in Serie verkauft und verfügten über ein Betriebssystem. Diese gehörten bereits der 3. Generation an und implementierten bereits Mehrprogrammbetrieb. Technik und Leistungsfähigkeit wurden zwar im Laufe der Zeit enorm verbessert, jedoch sind die Grundprinzipien des Mehrprogrammbetriebs heute noch immer die selben wie vor 30 Jahren.
Dabei sind mehrere Benutzer über ein Terminal mit einem Rechner verbunden. Da ein Großrechner Timesharing beherrscht, kann er zwischen den Prozessen der einzelnen Benutzer hin- und herschalten und erweckt trotzdem den Eindruck als würde er dem Benutzer alleine zur Verfügung stehen. Das Betriebssystem muß jedoch zahlreiche Sicherheitsfunktionen implementieren.
Das Terminal, welches die Verbindung zum Großrechner darstellt besteht aus einem Bildschirm, einer Tastatur und einem Verbindungsgerät zum Großrechner. Die Eingabe der Benutzer werden an den Großrechner geschickt, von diesem verarbeitet und die Ausgaben werden zurückgeschickt. Die einzige Aufgabe des Terminals ist es die Ein- und Ausgaben zu puffern.
Diese Art der Rechnerverwendung wurde früher geführt, weil sich einzelne Benutzer keinen Rechner leisten konnten. Später wurde dieser Betrieb in Rechenzentren geführt, wo die Rechnerbenutzung an andere vermietet wurde.
Ein Großrechner muß gewährleisten, daß nur unter Einbeziehung bestimmter Sicherheitsmaßnahmen, mehrere Benutzer auf einem Großrechner gleichzeitig arbeiten und auf die Ressourcen zugreifen.
Maßnahmen zur Sicherheitsgewährleistung:
Meißtens durch Login-ID und Passwort Authentifizierung jedes Benutzers
Zugriffe auf Ressourcen werden protokolliert
Rechte der Ressourcen darf nur der Besitzer festlegen
Versehen jeder Ressource mit einer Zugriffsliste (Access Control List)
Der Mehrprogrammbetrieb wurde anfangs durch das Timesharing-Prinzip gewährleistet. Bei diesem Prinzip werden mehrere Anwendungen gleichzeitig im Hauptspeicher gehalten. Die CPU wird zwischen den Anwendungen vom Scheduler, einer übergeordneten Instanz, in kurzen Zeitabständen hin- und hergeschalten, so daß der Anwender glaubt, daß alle Anwendungen gleichzeitig ablaufen. Um den aktuellen Status der Anwendungen zu sichern, müssen viele Informationen gesichert werden, die von den CPU-Registern über sogenannte Speichersegment-Zeiger bis zum aktuellen Dateiverzeichnis reichen. Vom Scheduling-Algorithmus hängt ab in welcher Reihenfolge den Programmen Rechenzeit zugeteilt wird. Es gibt hier eine Vielzahl solcher Algorithmen. Z.B.:
Scheduling aus Thread-Sicht
Die Thread-Library stellt das Programmierer-Interface zur Erzeugung und
Verwaltung von Applikationsthreads dar. Sie verteilt die Threads eines
Prozesses auf die zum Prozeß gehörigen LWPs. Es gibt zwei Möglichkeiten, wie
LWPs Threads ausführen: gebunden oder ungebunden. Ungebundene Threads werden
gemäß ihrer internen Priorität einem beliebigen, gerade zur Verfügung stehenden
LWP zugeordnet und von ihm nach Erkennung des Thread-Status ausgeführt. Wenn
ein solcher Thread durch einen Synchronisationsmechanismus blockiert wird oder
ein anderer Thread ausgeführt werden soll, wird der Thread-Status gesichert,
und mit einem anderen (ungebundenen) Thread wird genauso verfahren. In manchen
Fällen, z.B. bei Realtime-Anwendungen, ist es nötig, daß Threads eine ganz bestimmte,
systemweite Priorität haben. Dies ist bei ungebundenen Threads nicht möglich,
da sie nur innerhalb des Prozesses sichtbar sind. Deshalb gibt es gebundene
Threads, bei deren Erzeugung auch ein LWP erzeugt wird. Dieser LWP führt nur
diesen einen Thread aus, und der Thread erhält dadurch implizit die systemweite
Priorität des LWPs. Grundsätzlich ist die Thread-Library in der Lage zu
bestimmen, wieviele LWPs nötig sind, um den Pool von ungebundenen Threads
auszuführen. Wichtig ist dabei, daß nicht dadurch eine Blockierung des
Prozesses eintritt, daß es keine (unblockierten) LWPs mehr gibt, obwohl noch
lauffähige Threads in dem Prozeß vorhanden wären. Auf der anderen Seite wäre es
nicht sinnvoll, für jeden Thread ein LWP zu erzeugen, weil dann einige LWPs ungenutzt
wären und unnütz System Ressourcen verbrauchen würden. Deshalb erzeugt die
Library zunächst eine Default-Anzahl von LWPs. Wenn nun alle LWPs blockiert
sind (z.B. durch Terminal Operationen), erhält der Prozeß vom Betriebssystem
ein Signal (SIGWAITING), und die Thread-Library erzeugt einen neuen LWP, sofern
es noch lauffähige Threads in dem Prozeß gibt.
Es gibt drei Scheduling-Klassen, Timeshare (TS), System (SYS) und Realtime (RT). Jeder Prozeß erhält seine Scheduling-Klasse und die entsprechende Priorität innerhalb dieser Klasse von dem Prozeß, der ihn erzeugt hat. Das Ziel der Timesharing-Strategie ist es, sowohl interaktiven Prozessen gute Antwortzeiten zu liefern, als auch für einen guten Durchsatz von rechenintensiven Prozessen zu sorgen. Deshalb wird jedem (Timesharing-)Prozeß eine Zeitscheibe von wenigen hundert Millisekunden zugeordet. Diese ist bei Prozessen mit höherer Priorität kürzer und bei Prozessen mit niedriger Priorität länger. Innerhalb der Timesharing-Klasse werden die Prioritäten dynamisch verändert. Die Priorität von einem 'schlafenden' Prozeß wird erhöht, wenn er zuvor nur sehr kurz die CPU belegt hat und dann unterbrochen oder blockiert wurde. Entsprechend wird die Priorität eines Prozesses gesenkt, der schon recht lange die CPU belegt. Dies ist die systemgesteuerte Komponente der Timesharing-Priorität. Die System-Scheduling-Klasse hat feste Prioritäten und ist ausschließlich für Kernel- Prozesse (-threads) reserviert. Anwender können der System-Klasse weder einen Prozeß hinzufügen noch einen aus ihr entfernen und auch deren Priorität nicht ändern. Auch die Prioritäten der Realtime-Scheduling-Klasse werden vom System nicht verändert, damit diese (zeitkritischen) Prozesse in einer vorherbestimmbaren Reihenfolge abgearbeitet werden können. Die Realtime-Prioritäten können nur von privilegierten Benutzern geändert werden. Aus den Prioritäten der einzelnen Scheduling-Klassen werden globale Prioritäten errechnet. Die (lauffähigen) Prozesse werden in Dispatch-Queues eingeordet. Die Prozesse innerhalb einer Dispatch-Queue haben die gleiche globale Priorität. Innerhalb der Dispatch-Queue wird das Round-Robin-Verfahren angewendet, d.h. neu ankommende und gerade bearbeitete Prozesse werden hinten angefügt, so daß jeder Prozeß dieser Priorität einmal an der Reihe ist. Der Kernel-Scheduler ordnet immer den ersten Prozeß der Dispatch-Queue mit der höchsten Priorität einer verfügbaren CPU zu. Wird ein Prozeß mit höherer Priorität lauffähig, wird dieser anstelle des gerade laufenden Prozesses der CPU zugeordnet, und letzterer suspendiert. Das bedeutet, solange es noch lauffähige Realtime-Prozesse gibt, können keine System- und keine Timesharing-Prozesse laufen. Nicht-lauffähige, also 'schlafende', Prozesse werden in Sleep-Queues eingeordnet. Prozesse in derselben Sleep-Queue warten auf das gleiche Ereignis, z.B. daß ein Synchronisationsobjekt frei wird. Innerhalb dieser Sleep-Queue sind sie nach ihrer Priorität geordnet. Tritt nun dieses Ereignis ein, wird der Prozeß, der an erster Stelle steht, also der mit der höchsten Priorität, lauffähig.
Wenn nicht genügend Hauptspeicher zur Verfügung steht, um alle zur Zeit aktiven Prozesse darin zu verwalten, werden einzelne Seiten davon in den
Sekundärspeicher ausgelagert, der Prozeß bleibt dabei aber lauffähig. Diesen Vorgang nennt man Paging. Wenn diese ausgelagerten Seiten gebraucht werden, muß der Prozeß solange schlafen, bis diese Seiten zurück in den Hauptspeicher gelesen wurden. Wenn noch größerer Speichermangel auftritt, müssen Prozesse
vollständig auf den Sekundärspeicher ausgelagert werden. Dies ist unter Swapping zu verstehen. Beim Paging, aber besonders beim Swapping, kommt es zu
Verzögerungen in der Ausführung, bis der Prozeß wieder im Speicher verfügbar ist. Dies ist für zeitkritische Anwendungen, also Realtime-Prozesse, nicht akzeptabel.
Deshalb haben Realtime-Prozesse die Möglichkeit, Speicherseiten im Hauptspeicher dauerhaft zu belegen.
Grafik zeigt vereinfacht alle Zustände, in denen sich ein Prozeß befinden kann.
Die Bipolar-Familie war historisch gesehen, die erste, zum Chipbau verfügbare Technologie. Diese Technologie verwendet im Gegensatz zu CMOS strombetriebene Transistoren. Diese Technologie wird zwar teilweise auch heute noch verwendet, hatte aber jedoch ihren Höhepunkt gegen Ende der siebziger Jahre erreicht. Die ELC (Emitter-Coupled Logic) -Version dieser Technologie war wohl die populärste während dieser Periode.
CMOS steht für Complementary Metal Oxide Semiconductor. Diese Technologie setzt spannungsbetriebene Transistoren ein und wurde nach und nach während der frühen achtziger Jahre eingeführt, ausgelöst durch eine immer stärkere Kundennachfrage nach immer größeren Arbeitsspeicherkapazitäten.
Vorteile gegenüber Bipolar:
höhere Verkleinerungsraten können erzielt werden
weniger Wärmeentwicklung -> dadurch Umstellung vieler Rechner von Wasser auf Luftkühlung
Nachteil gegenüber Bipolar:
langsamer
|
|
|
|
|
Dichte |
|
|
|
|
Maximale Taktfrequenz (MHz) |
|
|
|
|
Typische maximale Transistorenanzahl pro Chip |
|
|
|
|
Stromversorgung |
5 V |
5 V |
3,3 V |
3,3 V |
Waferdurchmesser |
150 mm |
150 mm |
200 mm |
200 mm |
Model |
MT11 |
MT21 |
MT31 |
MT41 |
MT51 |
MT61 |
Zentraleinheit |
||||||
Anzahl CPU's |
|
|
|
|
|
|
Anzahl CDP's |
|
|
|
|
|
|
Service- Prozessoren |
|
|
|
|
|
|
Hauptspeicher (MB) |
|
|
|
|
|
|
Transaktionen pro Sekunde |
|
|
|
|
|
|
Integrierte Peripherie |
||||||
Plattenprozessoren |
|
|
|
|
|
|
Anzahl Platten-Einheiten |
|
|
|
|
|
|
Plattenspeicher-Kapazität(GB) |
|
|
|
|
|
|
Anzahl 8-mm Kasetten-Systeme |
|
|
|
|
|
|
Externe Small Disk Array 7 |
||||||
(RAID 1) |
||||||
Plattenspeicher-Kapazität (GB) |
|
|
|
|
|
|
Cache-Speicher (MB) |
|
|
|
|
|
|
Gesamte (physische) Plattenkapazität/GB |
|
|
|
|
|
|
Nutzer-Kapazität in GB (unformatiert) |
|
|
|
|
|
|
Weitere Pheripherie |
||||||
Kassetten-Systeme |
||||||
Kassettensystem-Prozessoren |
|
|
|
|
|
|
Kassetten-Laufwerke |
|
|
|
|
|
|
Magnetband-Systeme (nur Wiederanschluß) | ||||||
Band-Prozessoren |
|
|
|
|
|
|
Magnetband-Einheiten |
|
|
|
|
|
|
Kassetten-Bibliotheken |
||||||
WolfCreek TM CTL |
|
|
|
|
|
|
PowderHorn TM CTL |
|
|
|
|
|
|
CTLD001 (TimberWolf TM |
|
|
|
|
|
|
Drucker |
||||||
Zeilendrucker |
|
|
|
|
|
|
Matrix-Zeilendrucker |
|
|
|
|
|
|
Non-Impact-Drucker |
|
|
|
|
|
|
Netzwerk-Prozessoren |
||||||
CNP 7-II |
|
|
|
|
|
|
MainWay |
|
|
|
|
|
|
ISL Accesses |
|
|
|
|
|
|
FCP 7 (FDDI Communication Processor 7) |
|
|
|
|
|
|
Aktive Terminals (TDS-IDS/II) |
|
|
|
|
|
|
Aktive Terminals (02) (TDS-Oracle) |
|
|
|
|
|
|
Aufrüstbar auf |
MT21 |
MT31 |
MT41 |
MT51 |
MT61 |
Zentraler Pufferspeicher
Hilfsprozessoren
Batch-Verarbeitung
Multiuser-Fähigkeit
Multiprocessing-Fähigkeit
Redundante HW
Klimaanlage
Gewicht
Hohe Kosten
Hohe Ausfallsicherheit
Spezielles Personal
Adresse: IBM Österreich
Obere Donaustraße 95
1020 Wien
Telefon: 0222/21145
Homepage: https://www.ibm.com
Produkte: C80-2, S110, S115, S130, S135, S150, SR2000-A, SR2000-B
Adresse: Siemens Österreich
Siemensstraße 88-92
1210 Wien
Telefon: 0222/1707
Homepage: http://www.ibm.at
Produkte: DPS 7000, DPS 9000/500, DPS 9000/700, DPS 9000/900
Adresse: Bull AG Österreich
Linke Wien Zeile 192
1000 Wien
Telefon: 0222/89136
Homepage: https://www.bull.at
Produkte: S700 Servers, S7000 Servers, S70000 Servers
Adresse: Tandem Computer GesmbH
1130 Wien
Telefon: 0222 / 87816
Homepage: https://www.tandem.at
Produkte: HP 3000 9x9KS, HP 3000 9x8, HP 3000 9x8
Adresse: Hewlett-Packard GesmbH
1220 Wien
Telefon: 0222/25000-0
Homepage: https://www.hp.com
Produkte: Alpha Server 800, Alpha Server 1000A, Alpha Server 1200,
Adresse: Compaq Computer Austria GesmbH
1231 Wien
Telefon: 0222/86630-0
Homepage: https://www.compaq.at
Produkte: M-1800 - Serie, M-780/40
Adresse: Fujitsu Deutschland GmbH
D-80807 München
Telefon: (+49 89) 32378-0
Homepage: https://www.fujitsu.de
Referate über:
|
Datenschutz |
Copyright ©
2024 - Alle Rechte vorbehalten AZreferate.com |
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese # Hauptseite # Kontact / Impressum |