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.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Leistung.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Simulation komplexer technischer Anlagen
Befehlssatz und Struktur
Betriebssysteme.
Informatik Tagesprotokoll vom
FU Berlin SS 2003 Klaus-Peter Löhr
Zentraleinheit CPU, Motherbord, RAM
Zentraleinheit CPU, Motherbord, RAM
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
On a Buzzword: Hierachical Structure David Parnas.
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
PS: Basisinformationstechnologie Jens Alvermann
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Einführung Definitionen
Imperative Programmierung
2.5. Mikrocontroller-Komponenten
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
4. Mikrocontroller-Komponenten
Fli4l Der Ein-Disketten-Router von Sebastian Röhl von Sebastian Röhl.
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Referat zum Thema „DLL“
Distributed Multimedia Control Steuerung und Überwachung von Präsentationen in Netzwerken.
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie.
Programmieren mit MS Small Basic
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
SOFTWARE.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Betriebssysteme allgemein
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Entwicklung der Programmiersprachen
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Das Betriebssystem.
Betriebssysteme & BIOS
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Wer macht was beim Einschalten des Rechners?
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Interpreter & Compiler
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Systemsoftware und Betriebssysteme
Studiengang Informatik FHDW
Vorgeschichte:. Der Prozess X befindet sich in der CPU in Ausführung
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
2.3 Implementierung von Prozessen
KA – Rechnerarchitektur II ____________________________________________________________________________________________ ____________________________________________________________________________________________.

LVM - Logical Volume Management unter Linux
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Betriebssysteme Was ist ein BS?
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Praktische Informatik 1
 Präsentation transkript:

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

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)

D - CA - XVI - MH D 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.

D - CA - XVI - MH D I O C S I B S Y S D O S / O S / D O S / V D S E M V S / V S V S E / E S A M V S / X A M V S / E S V M / 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 / 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

D - CA - XVI - MH D 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.

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

D - CA - XVI - MH D 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.

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.

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.

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ß.

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

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

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.

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.

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

D - CA - XVI - MH D 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.

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

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

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

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

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

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

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