Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

D - CA - XVI - MH D - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 16 Software Sommersemester 2000 Leitung: Prof. Dr. Miroslaw Malek.

Ähnliche Präsentationen


Präsentation zum Thema: "D - CA - XVI - MH D - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 16 Software Sommersemester 2000 Leitung: Prof. Dr. Miroslaw Malek."—  Präsentation transkript:

1 D - CA - XVI - MH D - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 16 Software Sommersemester 2000 Leitung: Prof. Dr. Miroslaw Malek

2 D - CA - XVI - MH D - 2 SOFTWARE 1. Software Software bezieht sich auf alle Programme, die auf Computern egal welcher Größe ausgeführt werden; sowohl auf großen als auch auf kleinen Systemen. * Systemsoftware ** Compiler ( Sprachprozessoren ) ** Betriebssysteme ** Residente Subroutinen ** Bibliotheken ** Benutzerprogramme HARDWARE SYSTEM SOFTWARE ANWENDUNGEN (BENUTZERPROGRAMME)

3 D - CA - XVI - MH D - 3 2. Sprachen und Übersetzer * Maschinensprache (binär, oktal, hexadezimal) * Assembler (Directiven, Assembler) * Hochsprache ** Betriebssteuerangaben ** Compiler bilden ein Quellprogramm (Syntax der Sprache) und erzeugen das Objektprogramm *** Zwischensprache (Interpreter) *** Maschinenprogramm Hochsprachen*Assemblersprache** KompilationAssemblierung Maschinencode Hardware *1 Hochsprachenanweisung entspricht 5-20 Maschinencodeanweisungen. **1 Assembleranweisung entspricht 1-5 Maschinencodeanweisungen.

4 D - CA - XVI - MH D - 4 5 5 6 0 6 5 7 0 7 5 8 0 8 5 9 0 I O C S I B S Y S D O S / 3 6 0 O S / 3 6 0 D O S / V D S E M V S / 3 7 0 V S V S E / E S A M V S / X A M V S / E S V M / 3 7 0 C P / C M S T S O V M / X A V M / E S A S Y S T E M I I I S Y S T E M V S Y S T E M V. 4 C T S A I X A I X / 3 7 0 A I X / E S A M U L T I C S U N I X U N I X V. 7 S U N O S P O S I X S O L A R I S O S F / 1 M A C H 4. 1 B S D 4. 2 B S D 4. 3 B S D 4. 4 B S D X E N I X M S - D O S O S / 2 W I N D O W S N T D R / D O S C P / M BETRIEBSSYSTEME - ENTWICKLUNG Quelle: Wolfgang Coy "Aufbau und Arbeitsweise von Rechenanlagen: Einführung in Rechnerarchitektur und Rechnerorganisation", Vieweg 1992 0 0 2000

5 D - CA - XVI - MH D - 5 3. Betriebssysteme ** Integraler Teil von Computerdesign ** Laden ** Linken ** Speicherverwaltung ** CPU-Sharing-Überwachung (Scheduling und Speicheranforderung ) Betriebssysteme sind Programme, die die Ausführung von Programmen handhaben. Das Betriebssystem handhabt die CPU in bezüglich der verfügbaren E/A Ressourcen. Ressource-Teilung kann Kosten reduzieren, wenn dies zu einer Erhöhung des Systemdurchsatzes führt, z.B. mehr laufende Benutzerprogramme pro Zeiteinheit. a. Die Hauptfunktion eines Betriebssystems ist die Steuerung der Initiierung der CPU- und Kanal- (E/A) Aktivität.

6 D - CA - XVI - MH D - 6 b. Lader Wie laden wir ein Maschinenspracheprogramm in den Speicher? Wie veranlassen wir einen Computer, ein Programm auszuführen? a)Zuerst Wir schalten den Computer ein. (1)Manuelles Laden eines Programms durch eine Konsole und Schalter. a. Bootstrap (einfacher Lader) b. Komplexere Lader (Paritätsprüfung, usw.) (2)Nach Reset arbeitet der Computer ein ROM-Programm ab. b)Programmabschnitte ( Segmente ) (1)Header oder Identifizierungsabschnitt (Typ 00) a. Typ "00" b. Name c. Abschnitts- und/oder Blockzähler d. Prüfsumme (2)Maschinenspracheabschnitt a. Typ "01" b. Byte- oder Wort-Zähler c. Startadresse d. Maschinensprachebefehle e. Prüfsumme

7 D - CA - XVI - MH D - 7 3. Typen von Ladern (1)Absoluter binärer Lader Lädt Programme, basierend auf den oben beschriebenen Informationen. Die Startadresse ist die absolute Adresse, an die das Maschinenprogramm geladen wird. (2)Verschiebbare Lader Können entsprechend formatierte Maschinensprach- abschnitte von Programmen in variable Adressbereiche laden. a. Verschiebbare Objektprogramme * Identifizierung von Adreßkonstanten, d.h. jene Adressen, die sich mit der Verschiebung nicht verändern. *Addieren eines Offset auf alle Adressen, außer den Adreßkonstanten. Das Basisregister ist ein Beispiel. b. Der Einfluß auf das Rechnerdesign ist signifikant.

8 D - CA - XVI - MH D - 8 c. Linker 1.Große Programme können aus einer Anzahl von Routinen bestehen, die getrennt voneinander programmiert und oft unabhängig assembliert wurden. (1)Der Linker ist ein Programm, das mehrere Objektmodule in ein einzelnes Maschinenspracheprogramm zu einem Lademodul verbinden kann. (2) Objektmodule sind assemblierte (Maschinensprache-) Versionen von verschiedenen Routinen, die miteinander in einem einzelnen Programmsystem verbunden werden. (3)Externe Symbole müssen vom Programmierer zur Zeit der Programmcompilierung definiert sein. Externe Symbole sind jene, die Variablen und Label repräsentieren, die von mehr als einem der verschiedenen assemblierten Programme oder Unterprogramme referenziert werden. Ein kombinierter Linker-Lader wird oft implementiert. 2. Kompromiß Assemblieren aller Programme und Unterprogramme in einer einzelnen Übersetzung, die ein Lademodul erzeugen würde, oder einzeln. 3.Formatierung * Verzeichnis externer Symbole (ESD) * Maschinenspracheprogramm * Verschiebungsverzeichnis (RD) ** Ort der Adreßkonstanten.

9 D - CA - XVI - MH D - 9 d.Ein Job hängt mit einem gegebenen Benutzerprogramm zusammen. Ein Schritt identifiziert eine Eingabe-, Berechnungs- oder Ausgabephase eines Jobs. e.Stapelverarbeitung. Jobs werden nacheinander in sequentieller Abarbeitung ausgeführt. f. Wenn wir uns mehrere Jobs ansehen und die Anfragen dieser bearbeiten können, besteht die Möglichkeit, eine effektivere Nutzung der Ressourcen zu realisieren. Überlappung kann in einigen Fällen erreicht werden. Das Lesen der Eingabe und das Schreiben der Ausgabe können als dauerhafte Prozesse, wenn möglich, auftreten.

10 D - CA - XVI - MH D - 10 g. Spooling (1)Es gibt typischerweise E/A-Puffer im Hauptspeicher. Für gewöhnlich wird der Pufferplatz durch Anforderung minimalen Hauptspeichers, der dennoch die E/A-Effizienz gewährleistet, optimiert. Der Rest der E/A, der nicht in den Puffern gehalten wird, wird für gewöhnlich auf einer Festplatte gespeichert. Die E/A wird dann durch fortwährendes Lesen von Jobs in den Speicher und das Puffern dieser auf einer Festplatte, bis sie gebraucht werden, gehandhabt. Dies nennt man Eingabe- Spooling. Sehr oft wird das Laden von der Festplatte durch einen anderen Prozessor ausgeführt. Das Puffern von Ausgabedaten auf der Festplatte und das darauffolgende Transferieren der Daten zu einem Ausgabegerät, wie z.B. ein Drucker, nennt man Ausgabe-Spooling. (2)Spooling glättet unter Umständen den Eingabe-/ Ausgabefluß.

11 D - CA - XVI - MH D - 11 SPOOLING Hauptspeicher E/A Puffer Festplatte Ziele:1)Brücken des Geschwindigkeitsunterschiedes von Hauptspeicher und Festplatte 2)Erhöhung der Geschwindigkeit und Glätten von E/A-Operationen Geschwindigkeitsbrücke Oft besitzt das Disk- Speicher-Interface eigene Speicher und Prozessoren

12 D - CA - XVI - MH D - 12 h. Multiprogramming Das Konzept der Multiprogrammierung ist es, mehrere Programme im Hauptspeicher zu haben. Wenn die Ausführung eines Programms für E/A-Operationen ausgesetzt werden muß, wird die CPU veranlaßt, eines der anderen Programme im Speicher auszuführen. (1)Wahrscheinlich ist, daß die CPU besser genutzt werden kann, jedoch kann ein zu komplexes Betriebssystem selbst mehr CPU-Zeit benötigen als es einsparen kann. (2) In der Praxis haben sich Multiprogrammsysteme als nützlich und effizient erwiesen. Beispiel: Die Jobs X, Y und Z werden in einer Multiprogramming- Umgebung angeführt, Führe X(C1) aus Suspendiere X(R2) Führe Y(C1) aus Suspendiere Y(R2) Führe Z(C1) aus Suspendiere Z(R2) Führe Y(C2) aus X(R2) fertig Führe X(C2) aus Suspendiere X(R3) Führe Z(C2) aus Führe X(C3) aus

13 D - CA - XVI - MH D - 13 i. Multiprogramming-Steuerungen a.Eine Scheduling-Routine eines Betriebssystems führt Long- Term Scheduling durch das Gruppieren von Jobs, für gewöhnlich nach Priorität und Klasse für die Ausführung durch die CPU aus. Speicheranforderungen (MM & Ersatz-) und Prioritätsfaktoren werden normalerweise in die Scheduling-Gleichung mit einbezogen. * Speicher-Management * Short-Term Scheduling * Ein Prozeß ist eine Routine, die als Teil der Ausführung eines geplanten Jobs ausgeführt werden darf. **Bietet Informationen, die die Unterbrechung und folgende Reinitiation der Ausführung eines Programms erlaubt.

14 D - CA - XVI - MH D - 14 b.Zustandsdiagramm Ein Programm kann durch eine Anzahl von Zustands- veränderungen laufen zwischen den Zuständen: * Ausführbar * Blockiert * In Ausführung Das Zustandsdiagramm illustriert die Steueraktivitäten, die für die Prozeßverwaltung nötig sind. Die Beschriftungen entlang der Pfeile zeigen die Gründe der Änderung von einem Zustand in den anderen. * Interrupts können Zustandsänderungen hervorrufen. * Programme mit höherer Priorität können laufende Programme unterbrechen. Die meisten Details von E/A-Operationen können nicht eingesehen und vom Programmierer nicht kontrolliert werden, es sei denn, das Betriebssystem hat einen Benutzermodus, der dem Benutzer die Kontrolle bis zu einem gewissen Grad erlaubt. Normalerweise läuft das Betriebssystem im Überwachungsmodus.

15 D - CA - XVI - MH D - 15 PROCESS STATE DIAGRAM BereitLaufend Wartend Anhalten (z.B. wenn E/A hält) BeendenErzeugen Freigeben (z.B. wenn E/A fertig) Abarbeiten Zurückstellen

16 D - CA - XVI - MH D - 16 4. Interaktives Computing Online-Geräte interagieren direkt mit der CPU, die die gesamte Umgebung kontrolliert. Die Hauptaufgabe der CPU ist das Erzeugen von Antworten an individuelle Benutzer (im Gegensatz zu maximalen Durchsatz). * Zeitverzögerung der Antwort (T) * Time Slice * Round-Robin * Obere Grenze des Zeitintervalles der Antwort ist, eine Quantum-Zeit. Nach einem Zeitintervall geht die Kontrolle an das Betriebssystem zurück.

17 D - CA - XVI - MH D - 17 DIE FRIEDLICHE NEUE WELT MENSCHEN (Benutzer) COMPUTER SENSOREN AKTOREN (z.B. Roboter) COMPUTER NETZWERK

18 D - CA - XVI - MH D - 18 SOFTWARE ZUSAMMENFASSUNG SOFTWARE LADER (MANUELL, BOOTSTRAP, PROGRAMM IM ROM) LINKER ÜBERSETZER ASSEMBLERAL ML COMPILERHLL ML BETRIEBSSYSTEME (AUSFÜHRENDE ÜBERWACHER) MONITOR SPEICHERVERWALTUNG RESOURCE SCHEDULER DIAGNOSTIK E/A PROGRAMME PAKETE (BIBLIOTHEKSPROGRAMME) PROGRAMM-WERKZEUGE

19 D - CA - XVI - MH D - 19 EINIGE AUFGABEN DES BETRIEBSSYSTEMS AUS BENUTZERSICHT

20 D - CA - XVI - MH D - 20 SYSTEMSICHT DES BETRIEBSSYSTEMS: SCHICHTENMODELL

21 D - CA - XVI - MH D - 21 C-Compiler nroff/troff/TEX System- programme ANWENDERANSCHICHT Anwenderprogramme SYSTEMSCHICHT Pascal/Modula-2 Lisp/Prolog e.a. Assembler Debugger YACC Compiler- Compiler Editoren ed/vi/sed e.a. Textverarbeitung BEFEHLSVERARBEITUNG Vorder-/Hinter- grund Befehlsketten Befehls- und Dateiumlenkung Onlinehandbuch Lernprogramm Hilfsprogramme Befehlsinterpreter (Shell, GUI) Sortierprogramme Spiele UNIX-KERN Mehrprozeß- verwaltung Mehrplatz- verwaltung Interprozeß- Kommunikation Hierarchische Prozeßverwaltung Hierarchische Dateiverwaltung Erweiterbare Dateisysteme pipesfilter Automatische Prozeßvergabe Autom. Datei- ein-/auslagerung

22 D - CA - XVI - MH D - 22 Vor der Einführung von virtuellem Speicher wurden Primär- (Hauptspeicher) und Sekundärspeicherung explizit durch das Programm verwaltet. Durch virtuellen Speicher verwaltet nun eine Kombination aus Hardware und Systemsoftware unsichtbar für das Benutzerprogramm die Primärspeicherung. P M PHYSIKALISCHER SPEICHER Haupt- speicher Haupt- und Sekundärspeicher werden explizit von Programmen organisiert. VIRTUELLER SPEICHER Hauptspeicher wird für Anwenderprogramme transparent organisiert. Virtueller Adreßraum (Sekundärspeicher) P M Haupt- speicher Sekundär- speicher

23 D - CA - XVI - MH D - 23 SOFTWARE ZUSAMMENFASSUNG - ANWENDUNGEN - MIDDLE WARE - BETRIEBSSYSTEM - werden immer größer - beeinflussen die Performance, Zuverlässigkeit und Einfachheit der Benutzung eines Systems -Komplexität und Funktionalität sind fast außer Kontrolle


Herunterladen ppt "D - CA - XVI - MH D - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 16 Software Sommersemester 2000 Leitung: Prof. Dr. Miroslaw Malek."

Ähnliche Präsentationen


Google-Anzeigen