Module. 2 NebenlŠufigkeit und Prozesse. 2.1 Prozesse und Module. Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten.

Größe: px
Ab Seite anzeigen:

Download "Module. 2 NebenlŠufigkeit und Prozesse. 2.1 Prozesse und Module. Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten."

Transkript

1 2 NebenlŠufigkeit und 2.1 und e Prozess GerŠt 1 GerŠt 2 e Grš ere Softwaresysteme bestehen aus einer Menge kleinerer Komponenten, die wir e nennen. Ein stellt an seiner Schnittstelle eine Reihe von Operationen zur VerfŸgung, wšhrend die Implementierung dieser Funktionen vor dem Benutzer verborgen bleiben sollte. Schnittstelle Operation 1 Operation 2 Operation n GerŠt 3 1 Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten Interne Prozeduren und Daten Auch im Einprozessorsystem ist daher der verzahnte Ablauf mehrerer AktivitŠten sinnvoll, um Leerzeiten des Prozessors zu vermeiden. 2-1 Die Gesamtfunktion wird durch gegenseitigen Aufruf dieser Schnittstellenoperationen erbracht 2-2 Betriebssystemkern als Auch einen Betriebssystemkern kann man als auffassen: Ein Prozess durchlšuft mehrere e: Er hat zwei Schnittstellen: - fÿr die Systemaufrufe (system calls) - zur Hardwareinteraktion (Unterbrechungen) Kernschnittstelle fÿr Anwendungs- und Systemprogramme Kernop 1 Kernop 2 Kernop 2 Kernop n Jeder ist ein einzelner Prozess: Interne Prozeduren und Datenstrukturen Interrupt routine 1 Interrupt routine 2 Hardwareschnittstelle Interrupt routine m

2 2.2 in Betriebssystemen Ein Prozess (process, task, thread) ist die AusfŸhrung eines sequentiellen Programms (lineare Folge von Befehlen). wurden eingefÿhrt, um mehrere Benutzerprogramme quasiparallel ausfÿhren zu kšnnen (Mehrprogrammbetrieb, Time-Sharing) Die AusfŸhrung eines Benutzerprogamms ist als Prozess organisiert. Eingabedaten Ausgabedaten Ein Benutzer kann in der Regel mehrere Programme, d.h. gleichzeitig laufen lassen Programm Prozeß Daten Er kann Ÿber Ein- und Ausgabedaten (Parameter) sowie Ÿber interne Daten verfÿgen Das Betriebssystem selbst stellt viele Funktionen in Form von Systemprozessen zur VerfŸgung (Unix: ps liefert eine Liste aktiver ) Zu ihrer Verwaltung unterhšlt das BS interne Datenstrukturen (Prozesskontrollblšcke) sind nicht nur AktivitŠtstrŠger, sondern auch die Instanzen, die Betriebsmittel anfordern und belegen kšnnen und Programme Mehrere kšnnen dasselbe Programm ausfÿhren. Beispiel: logischer Adressraum Prozess A privater Bereich physikalischer Speicher logischer Adressraum Prozess B privater Bereich Prozeduren und Im Gegensatz zu Prozeduren kšnnen parallel zueinander ausgefÿhrt werden Prozeduren gleichzeitige bersetzung zweier Quellprogramme: Daten von B Der Code des bersetzers ist nur einmal im Speicher vorhanden Shared Code Shared Code Daten von A Shared Code 1 Prozessor 3 Prozessoren 1 Prozessor

3 NebenlŠufigkeit und ParallelitŠt Verzahnte AusfŸhrung von n NebenlŠufigkeit (concurrency) VorgŠnge hei en nebenlšufig, wenn sie parallel oder verzahnt ablaufen kšnnen (potentielle ParallelitŠt) ParallelitŠt (parallelism) VorgŠnge hei en parallel, wenn sie tatsšchlich simultan ablaufen (echte ParallelitŠt) Echte ParallelitŠt gibt es nur, wenn mehrere aktive Hardware-Komponenten vorhanden sind: Prozessoren oder E/A-GerŠte Auf Einprozessormaschinen mÿssen die verzahnt ausgefÿhrt werden: Der Prozessor bearbeitet die abschnittsweise in kleinen ãhšppchenò Die Verzahnung verfolgt zwei Ziele: Prozessor auslasten: Wartet ein Prozess auf die Fertigstellung eines E/A-Auftrags, so kann wšhrenddessen ein StŸck eines anderen s bearbeitet werden. Nach au en den Eindruck der Gleichzeitigkeit erwecken: Alle kommen gleichmš ig voran (Prozess als virtueller Prozessor) P1 P2 P und AdressrŠume Hinweis Ein (logischer) Adressraum eines s ist die Gesamtheit seiner gÿltigen Adressen, auf die er zugreifen kann. Moderne Prozessoren ermšglichen nicht nur relative Adressierung (Basisregister), sondern stellen eine Speicherabbildungsfunktion (memory management unit, MMU) zur VerfŸgung. Damit kšnnen (beliebig) viele logische AdressrŠume gebildet werden, die automatisch und ggf. gestreut auf den physikalischen Speicher abgebildet werden. Dadurch sind die AdressrŠume gegenseitig geschÿtzt. GrundsŠtzlich sind AdressrŠume unabhšngig von n zu sehen. Zwar benštigt jeder Prozess zu jedem Zeitpunkt einen Adressraum, ansonsten sind aber mehrere Relationen mšglich: Ein Prozess besitzt genau einen eigenen Adressraum (Unix-Prozess) Mehrere teilen sich einen Adressraum (Threads) Ein Prozess wechselt von einem Adressraum zum andern BezŸglich der Terminologie in der einschlšgigen Literatur ist Vorsicht geboten: Ein Prozess (process, task) wird hšufig im Sinne eines Unix-s verstanden als ein Prozess mit einem eigenen Adressraum. Die meisten neueren Betriebssysteme ( auch neuere UNIX-Varianten) bieten dagegen die Mšglichkeit an, mehrere in einem gemeinsamen Adressraum ablaufen zu lassen. Man nennt sie Leichtgewichtsprozesse (lightweight process) oder Threads. In modernen Unix-Varianten (z.b. Solaris) gibt es einerseits die ursprÿnglichen Unix- (tasks), die aber aus vielen Threads bestehen kšnnen. Ein Unix-Prozess ist daher ein Adressraum, der mindestens einen Thread enthšlt. FŸr WindowsNT gilt die gleiche Sprechweise. FŸr eine Gruppe von Threads im selben Adressraum finden sich auch die Begriffe Team (System V) oder Actor (Chorus)

4 bersicht Ÿber die Bezeichnungen in verschiedenen BS Prozessumschaltung (Prozesswechsel, process switching) Betriebssystem Einheit der AusfŸhrung bergreifende Einheit Mach thread task Chorus thread actor Mayflower lightweight process domain V thread team Amoeba thread cluster Cosy process adress space Solaris thread process NT thread process Prozessumschaltung bedeutet, dass der Prozessor die Bearbeitung des aktuellen s unterbricht und stattdessen die Bearbeitung eines anderen s fortfÿhrt. Prozesswechsel bedeutet also einen bergang von einer Befehlsfolge in eine andere. Arten der Prozessumschaltung: Explizit: Der aktive Prozess initiiert selbst die Umschaltung Unbedingt: Bedingt: Der aktive Prozess Ÿbergibt die Kontrolle entweder gezielt an einen anderen Prozess oder er ŸberlŠsst die Auswahl einer Ÿbergeordneten Instanz (Scheduler) Der Prozess kann nicht weiterarbeiten, solange eine Bedingung nicht erfÿllt ist Automatisch: Die Prozessumschaltung wird durch ein Šu eres Ereignis (Interrupt) ausgelšst Implementierung der Prozessumschaltung im Betriebssystem Auswahl des nšchsten s Au er dem BefehlszŠhler enthšlt der Prozessor in seinen Registern eine Menge weiterer prozessspezifischer Daten: Inhalte von Rechenregistern, Indexregistern etc., die den Zustand der Programmbearbeitung, also des s, repršsentieren. Inhalte von Adressregistern, Segmenttabellen, Unterbrechungsmasken, Zugriffskontrollinformation etc, die die Ablaufumgebung des s darstellen. Alles zusammen, also die gesamte im Prozessor abgelegte prozessspezifische Information wird als Kontext des s (process context) bezeichnet. Dieser Prozesskontext muss im Rahmen des Umschaltens gerettet werden und beim Fortsetzen des s wieder restauriert werden. Prozesswechsel ist dann relativ schnell, wenn nur die Rechenregister umgeladen werden mÿssen, also die Adressierungsumgebung dieselbe bleibt. (Prozesswechsel innerhalb eines Adressraums, Leichtgewichtsprozesse, Threads) 2-15 Bisher gingen wir implizit davon aus, dass feststeht, auf welchen Prozess umgeschaltet wird. Meistens ist dieser Prozess nicht konstant, sondern wird zum Zeitpunkt des Umschaltens ausgewšhlt: Kriterien: Nummer des s (zyklisches Umschalten) Ankunftsreihenfolge Fairness PrioritŠt (Dringlichkeit) - konstant - veršnderlich Einhalten von Fertigstellungszeitpunkten Die Auswahl des nšchsten s beeinflusst die Verteilung der Prozessorleistung auf die. Auf die verschiedenen Umschaltstrategien wird noch eingegangen (Scheduling) 2-16

5 ProzesszustŠnde Beim Umschalten muss in der Regel ein nšchster Prozess ausgewšhlt werden. ProzesszustŠnde (process states) und ihre bergšnge Da jedoch einige auf das Eintreten eines Ereignisses oder das ErfŸlltsein einer Bedingung warten, kommen diese nicht in Frage. Sie sind z. Zt. nicht fortsetzbar., die fortsetzbar sind, werden zu einer Menge zusammengefasst, ebenso diejenigen, die gerade nicht fortsetzbar sind. Die Zugehšrigkeit zu diesen Mengen wird auch als Zustand des s bezeichnet. Nimmt man die gerade rechnenden hinzu, so gelangt man zunšchst zu drei ZustŠnden DEBLOCKIEREN (deblock) Wartend (waiting, blocked) AUFGEBEN (relinquish, yield) BLOCKIEREN (block) Zustand ãrechnendò (running):, die gerade auf einem Prozessor bearbeitet werden Zustand ãbereitò (ready), die zwar fortsetzbar sind, aber gerade nicht bearbeitet werden Zustand ãwartendò (waiting), die nicht fortsetzbar sind, weil sie auf das Eintreten einer Bedingung warten Bereit (ready) ZUORDNEN (assign) Rechnend (running) Ausdrucksformen fÿr ParallelitŠt in Programmiersprache Explizite NebenlŠufigkeit In sequentiellen, imperativen Programmiersprachen findet man die folgenden elementaren Kontrollstrukturen : Sequenz Einzelschritte werden in der Reihenfolge der Aufschreibung ausgefÿhrt. Wiederholung (Iteration) Einzelschritte oder Sequenzen von Einzelschritten werden wiederholt ausgefÿhrt. Verzweigung bzw. Auswahl AbhŠngig von einer Bedingung werden unterschiedliche Schritte durchgefÿhrt. Einschub (Prozedur) Eine in sich geschlossene Teilaufgabe, die an anderer Stelle als Programm formuliert ist, wird als eine Art komplexe Operation in die Anweisungsfolge eingeschoben. Wie sich im folgenden herausstellen wird, kann man allen vier Kontrollstrukturen eine parallele Variante gegenÿberstellen, die sich aus ihrem sequentiellen GegenstŸck herausentwickelt hat. Mit dem Begriff explizit soll deutlich gemacht werden, dass der Programmierer bewusst und gezielt nebenlšufige KontrollflŸsse vorsieht WŠhrend eine Prozedur keine ParallelitŠt zum Aufrufer besitzt - der Aufrufer wird angehalten, bis die Prozedur beendet ist -, findet beim Prozess eine parallele Bearbeitung von Aufrufer oder Erzeuger und aufgerufenen Prozess statt. Der Prozess kann daher als zur ParallelitŠt fšhiges GegenstŸck zur Prozedur angesehen werden. Da diese an einer gemeinsamen Aufgabe arbeiten, mÿssen sie interagieren Nach der Art ihrer Interaktion unterscheiden wir Kooperation (Shared-Memory Programmiermodell, gemeinsamer Speicher) Die lesen und schreiben gemeinsame Variable Beispiele: Concurrent Pascal, Ada, Java, a-2 Kommunikation (Message Passing Programmiermodell, getrennter Speicher) Die senden sich gegenseitig Nachrichten) Beispiele: Occam, diverse C-Derivate Die Verwaltung dieser wird vom der Sprache vorgenommen. 2-20

6 BS- und Programmiersprachliche BS- und Programmiersprachliche Klassischer Mehrprogrammbetrieb: UnabhŠngige in eigenen AdressrŠumen ein Prozess ein Prozess Programmiersprachliche werden 1:1 auf BS- abgebildet Betriebssystemkern Betriebssystemkern Thread-Konzept in einer Programmiersprache ohne BS-UnterstŸtzung: Umschaltung der durch. FŸr das Betriebssystem sind die nicht sichtbar. Es behandelt das gesamte Programm als einen Prozess Betriebssystemkern Die Programmiersprache unterstÿtzt keine Das parallele Programm besteht aus BS-n, die sich einen Adressraum teilen (z.b. Pthreads) Betriebssystemkern Paralleles Verzweigen Parallele Anweisungen Die nebenlšufige Variante zum Verzweigen ist das: fork/join. Forkbedeutet das parallele Verzweigen zu einem anderen Programmteil, wšhrend das bisher aktive, das fork aufrufende Programm weiterlšuft. Jedes fork korrespondiert eindeutig mit einem joinbei dem die beiden Zweige wieder zusammengefÿhrt werden. A fork f B fork g C join f D join g E end f: F end g: G end F A B C D E G In einigen Programmiersprachen wird das Paar parbeginparend oder auch cobegin/coend benutzt, um dadurch anzudeuten, dass die Reihenfolge nacheinander aufgeschriebenen Anweisungen unerheblich ist, mithin ihre AusfŸhrung auch parallel durchgefÿhrt werden kann.. A; parbegin A B; begin C; parbegin D; B C D E G E; parend; F end; G; parend; H; H F

7 Parallele Schleifen Impliziter Parallelismus Sind die einzelnen SchleifendurchlŠufe unabhšngig voneinander, kann statt einer n- fachen Repetition des Schleifenkšrpers eine n-fache ParalleldurchfŸhrung stattfinden. Die Ÿblicherweise verwendeten SchlŸsselwšrter zur Kennzeichnung paralleler Schleifen hei en pardodoall, forall oder doacross ParallelitŠt kann auch implizit und stattfinden: Moderne Prozessoren besitzen die FŠhigkeit, mehrere Operationen Ÿberlappend und/oder simultan auszufÿhren. A; pardo i:=1 to n B(i); pardo j:=1 to i C(i,j); parend; D(i); parend; E; A B(1) B(2) B(3) B(n) C(1,1) C(2,1) C(2,2) C(n,1) D(1) D(2) D(3) D(n) E C(n,n) Dies kann aber nur genutzt werden, wenn der bersetzer geeigneten Code erzeugt Arithmetische AusdrŸcke kšnnen unter Ausnutzung von Assoziativ- und Kommutativgesetz teilweise parallel ausgewertet werden. DatenabhŠngigkeiten zwischen den Anweisungen kšnnen analysiert werden. Man findet Anweisungen, die unabhšngig voneinander sind und parallel ausgefÿhrt werden kšnnen. Die sequentielle Anordnung ist Ÿberspezifiziert Parallelarbeit innerhalb des Prozessors Flie bandprinzip (Pipelining) IF DC EX WB aufeinanderfolgende Befehle Instruction fetch (Befehl holen) Decode (Befehl decodieren) Execute (Befehl ausführen) Write back (Ergebnis zurückschreiben) Prozessortakte SuperskalaritŠt Statt nur einer Pipeline werden mehrere (2-4) vorgesehen, so dass mehrere Befehle vollstšndig parallel bearbeitet werden kšnnen. Bei superskalaren Prozessoren kann die Zahl der abgearbeiteten Befehle grš er sein als die Taktrate. aufeinanderfolgende Befehle Prozessortakte

8 2.4Beziehungen zwischen n Beziehungen zwischen n Verallgemeinerter Prozessbegriff Wir haben parallele oder nebenlšufige AktivitŠten auf verschiedenen Ebenen kennengelernt: - Komplette Anwendungen als - als Teile von Anwendungen - Folgen von Anweisungen parallel zu anderen - Einzelne Operationen oder kurze Operationsfolgen parallel zueinander Es handelt sich jeweils um Folgen von Operationen, die in sich sequentiell, untereinander aber parallel ausgefÿhrt werden kšnnen. Die LŠnge dieser parallelen AktivitŠten wird oft mit dem Begriff GranularitŠt charakterisiert. Komplette Programme als wšren dann ein Beispiel fÿr grobgranulare, die parallele Auswertung eines arithmetischen Ausdrucks eine Beispiel fÿr feine GranularitŠt. kšnnen in diversen Beziehungen stehen: Eltern-Kind-Beziehung: Ein Prozess erzeugt einen weiteren Prozess VorgŠnger-Nachfolger-Beziehung: Ein Prozess darf erst starten, wenn ein anderer Prozess beendet ist Kommunikationsbeziehung: Zwei (oder mehr) kommunizieren miteinander Wartebeziehung: Ein Prozess wartet auf etwas, was von einem anderen Prozess kommt. Dringlichkeitsbeziehung: Ein Prozess ist wichtiger (dringlicher) als ein anderer Und viele andere mehr Prozessgraphen Beispiel Solche Beziehungen kann man formal als Relationen ausdrÿcken: Sei P die Menge der, so ist B P P eine Relation. Meistens wird der Sachverhalt als Graph ( PB, ) mit P als Knoten- und B P P als Kantenmenge dargestellt. VorgŠngergraph TPG: task precedence graph Kanten modellieren Reihenfolgebeziehung Kommunikationsgraph TIG: task interaction graph Kanten modellieren Interaktion Die meisten dieser Graphen sind gerichtet, einige sind azyklisch, (DAG = directed acyclic graph), z.b. VorgŠngergraph, und einige Graphen sind BŠume bzw. WŠlder (z.b. Eltern- Kind-Beziehung) (Wer es noch nicht wei : Ein Wald ist eine Menge von BŠumen!) T0 Raum T0 Raum Prozessgraphen kšnnen auch Ÿber Knoten- und Kantengewichte verfÿgen. Beispiele: AusfŸhrungszeit als Knotengewicht im VorgŠngergraph Versendete Datenmenge als Kantengewicht im Kommunikationsgraphen T1 T2 T3 T4 T5 Zeit T1 T2 T3 T4 T5 Raum Wir werden in spšteren Kapiteln darauf zurÿckkommen. T6 T6 Graphen werden verwendet: Zur Analyse einer Situation (z.b. Verklemmungen) Zur Optimierung (z.b. Scheduling, Platzierung)

Betriebssystem. Arten von Betriebssystemen. Zweiteilung des Betriebssystems. 5. Kapitel Systemsoftware: Prozesse und Prozesswechsel

Betriebssystem. Arten von Betriebssystemen. Zweiteilung des Betriebssystems. 5. Kapitel Systemsoftware: Prozesse und Prozesswechsel Wintersemester 2016/2017 5 Kapitel Systemsoftware: Prozesse und Prozesswechsel Prof Matthias Werner 5 Professur Betriebssysteme Betriebssystem Das Laden von Programmen ist ein Dienst, der zur Laufzeit

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

3.1 Prozessbeschreibung. Kapitel 3 Prozesse: Beschreibung, Verwaltung und Steuerung. Prozesse: Vordegrund/Hintergrund, Daemons, etc.

3.1 Prozessbeschreibung. Kapitel 3 Prozesse: Beschreibung, Verwaltung und Steuerung. Prozesse: Vordegrund/Hintergrund, Daemons, etc. 3.1 Prozessbeschreibung Kapitel 3 Prozesse: Beschreibung, Verwaltung und Steuerung Betriebssysteme bestehen aus Prozessen und arbeiten mit Prozessen (s. Kapitel 2). Ein Prozess ist einfach in Ausführung,

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

2 Prozesse und ihre Interaktion. 2.1 Prozesse. Die Abarbeitung von Programmen ist in Prozessen organisiert.

2 Prozesse und ihre Interaktion. 2.1 Prozesse. Die Abarbeitung von Programmen ist in Prozessen organisiert. 2 Prozesse und ihre Interaktion 2.1 Prozesse Die Abarbeitung von Programmen ist in Prozessen organisiert. Ein Prozess besteht im wesentlichen aus einem StŸck Programmcode einem oder mehrerer Datenbereichen,

Mehr

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

Mehr

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Peter Löhr Nichtsequentielle Programme Nichtsequentielle Programme (concurrent programs): Prozesse, Threads, Tasks,... sind eigenständige

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

Mehr

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Betriebssysteme H.-U. Hei UniversitŠt Paderborn. Kapitel 3 Prozesse 3-1

Betriebssysteme H.-U. Hei UniversitŠt Paderborn. Kapitel 3 Prozesse 3-1 Kapitel 3 Proesse 3-1 3.1 Proessbeschreibung Proessbeschreibung Ein Proess ist repršsentiert durch eine speielle Datenstruktur, den Proesskontrollblock (PCB), der alle relevante Information enthšlt,.b.:

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Lehrstuhl Prof. Plödereder Eduard Wiebe Institut für Softwaretechnologie Abteilung Programmiersprachen und Übersetzerbau Sommersemester 2007 Programm-Ausführung Programmiersprachen

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Parallele Programmierung in Java

Parallele Programmierung in Java PPJ-1 Parallele Programmierung in Java Prof. Dr. Uwe Kastens Sommersemester 2000 Vorlesung Parallele Programmierung in Java SS 2000 / Folie 01 PPJ-2 Ziele und Durchführung Die Studierenden sollen grundlegende

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19. Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

Projektseminar Parallele Programmierung

Projektseminar Parallele Programmierung HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20

Mehr

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Kapitel 4 Prozesse Seite 1 4 Prozesse 4.1 Prozeßkonzept Prozess- ein Programm in Ausführung Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Üblicher Start: über eine Kommandozeileneingabe

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Überlegungen beim Entwurf eines Betriebssystems

Überlegungen beim Entwurf eines Betriebssystems Überlegungen beim Entwurf eines Betriebssystems Schnelligkeit Schutz und Sicherheit Korrektheit Wartbarkeit Kommerzielle Faktoren Standards und offene Systeme Schnelligkeit Es ist schwierig, Kenngrößen

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr Betriebssysteme FU Berlin SS 2003 Klaus-Peter Löhr 1 Einführung Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch findet man unter http://www.babylonia.org.uk Software zwischen Hardware

Mehr

Softwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm

Softwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 U9-2 Motivation von Threads U9-2 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1 Betriebssysteme FU Berlin WS 2006/07 Klaus-Peter Löhr bs-1.1 1 1 Einführung Betriebsmittelverwaltung Entwicklungsgeschichte Architektur Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

U9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick

U9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 User-Level Threads: Federgewichtige Prozesse Realisierung von Threads auf Anwendungsebene innerhalb eines Prozesses

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

Betriebssysteme Kapitel E : Prozesse

Betriebssysteme Kapitel E : Prozesse Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann

Mehr

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Präzedenz von Operatoren

Präzedenz von Operatoren Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit

Mehr

Parallele Programmabläufe: R S

Parallele Programmabläufe: R S REFERAT Parallele Programmabläufe: R S.242-246 1.Einführung 2.Synchronisation 2.1.Monitor-Konzept 2.2.Rendez-vous-Konzept 2.3.Bolt-Synchronisation 3.Behandlung Ausnahmesituationen 1.Einführung: Im Bereich

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Musterlösung Prüfung WS 01/02

Musterlösung Prüfung WS 01/02 Musterlösung Prüfung WS 01/02 Fach: I3 Software-Technik (SEE, GRS, BTS) Teilprüfung: Betriebssysteme Tag: 29.01.2002 10:45 14.45 Raum: 1006 Bearbeitungszeit: 4 Stunden Name:... Matr.Nr.:... Punkte:...

Mehr

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces Prozesse und s Begriffe und Konzepte Prozesszustände Kontrollstrukturen des BS Prozesse BS s Peter Puschner 1 Vorlesung Betriebssysteme, Prozesse; WS 05/06 2 Prozess Animated Spirit of a program ausführbares

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Prozesse und Threads Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Ziel: Gleichzeitiges, kontrolliertes Ausführen von Programmen auf einem Rechner Welche Mechanismen sind

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

G Einführung in Betriebssysteme

G Einführung in Betriebssysteme Einführung in Betriebssysteme 1997-2003, Franz J. Hauck, Verteilte Systeme, Univ. Ulm [2003s-TI1--OS.fm, 2003-06-23 16.28] 1 1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache Ebene

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches U6 6. Übung U6 6. Übung U6-1 Organisatories U6-1 Organisatories Organisatorisches Zusätzliche Tafelübung zur S1-Klaurvorbereitung Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte am

Mehr

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem? 1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

3.2 Prozessumschaltung

3.2 Prozessumschaltung 3.2 Prozessumschaltung (dispatching) deaktiviert einen Prozess und aktiviert einen anderen. Wann? aktiver Prozess wird vom Prozessor verdrängt zugunsten eines bereiten Prozesses aktiver Prozess blockiert,

Mehr

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

Kapitel 2 BS Architektur: Prozesse und Kern

Kapitel 2 BS Architektur: Prozesse und Kern Kapitel 2 BS Architektur: Prozesse und Kern BS: Grobstruktur Ein System (und auch ein Betriebssystem) besteht i.d.r. aus: Elementen Beziehungen zwischen den Elementen Elemente, Komponenten Beziehungen,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

2.2 Prozesse in Java

2.2 Prozesse in Java 2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Übung I Echtzeitbetriebssysteme

Übung I Echtzeitbetriebssysteme Übung I Echtzeitbetriebssysteme a) Von welchen drei Faktoren hängt bei der Echtzeitverarbeitung das korrekte Ergebnis ab? b) Wann ist ein System echtzeitfähig? c) Was versteht man unter Harter und Weicher

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Nebenläufige Programmierung in Java: Threads

Nebenläufige Programmierung in Java: Threads Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni 2011 1 / 18 Gliederung 1 Grundlagen

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Kontrollstrukturen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Kontrollstrukturen Wichtig: bedingte Ausführung

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

BPMN Kategorien und Elementgruppen. Flussobjekte

BPMN Kategorien und Elementgruppen. Flussobjekte BPMN Kategorien und Elementgruppen Flussobjekte Business Process BP... Activity1 Activity Eine Activity ist die generischer Ausdruck für in Unternehmen anfallende Tätigkeiten. Das Element Activity kann

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

Automatisches Parallelisieren

Automatisches Parallelisieren Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 5.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 30.3.2007 Wiederholung vom letzten Mal Redundant Array of

Mehr