Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten

Größe: px
Ab Seite anzeigen:

Download "Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten"

Transkript

1 2 NebenlŠufigkeit und Prozesse 2.1 Prozesse und Module Prozess GerŠt 1 GerŠt 2 GerŠt 3 1 Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten Auch im Einprozessorsystem ist daher der verzahnte Ablauf mehrerer AktivitŠten sinnvoll, um Leerzeiten des Prozessors zu vermeiden. 2-1

2 Module Grš ere Softwaresysteme bestehen aus einer Menge kleinerer Komponenten, die wir Module nennen. Ein Modul 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 Interne Prozeduren und Daten Die Gesamtfunktion wird durch gegenseitigen Aufruf dieser Schnittstellenoperationen erbracht 2-2

3 Betriebssystemkern als Modul Auch einen Betriebssystemkern kann man als Modul auffassen: 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 Interne Prozeduren und Datenstrukturen Interrupt routine 1 Interrupt routine 2 Interrupt routine m Hardwareschnittstelle 2-3

4 Prozesse Ein Prozess durchlšuft mehrere Module: Modul Modul Modul Modul Modul Jeder Modul ist ein einzelner Prozess: Modul Modul Modul Modul Modul 2-4

5 Prozesse Ein Prozess (process, task, thread) ist die AusfŸhrung eines sequentiellen Programms (lineare Folge von Befehlen). Eingabedaten Ausgabedaten Prozeß Programm Daten Er kann Ÿber Ein- und Ausgabedaten (Parameter) sowie Ÿber interne Daten verfÿgen 2-5

6 2.2 Prozesse in Betriebssystemen Prozesse wurden eingefÿhrt, um mehrere Benutzerprogramme quasiparallel ausfÿhren zu kšnnen (Mehrprogrammbetrieb, Time-Sharing) Die AusfŸhrung eines Benutzerprogamms ist als Prozess organisiert. Ein Benutzer kann in der Regel mehrere Programme, d.h. Prozesse gleichzeitig laufen lassen Das Betriebssystem selbst stellt viele Funktionen in Form von Systemprozessen zur VerfŸgung (Unix: ps liefert eine Liste aktiver Prozesse) Zu ihrer Verwaltung unterhšlt das BS interne Datenstrukturen (Prozesskontrollblšcke) Prozesse sind nicht nur AktivitŠtstrŠger, sondern auch die Instanzen, die Betriebsmittel anfordern und belegen kšnnen 2-6

7 Prozesse und Programme Mehrere Prozesse kšnnen dasselbe Programm ausfÿhren. Beispiel: logischer Adressraum Prozess A privater Bereich physikalischer Speicher logischer Adressraum Prozess B privater Bereich 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 2-7

8 Prozeduren und Prozesse Im Gegensatz zu Prozeduren kšnnen Prozesse parallel zueinander ausgefÿhrt werden Prozeduren Prozesse Prozesse 1 Prozessor 3 Prozessoren 1 Prozessor 2-8

9 NebenlŠufigkeit und ParallelitŠt 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 2-9

10 Verzahnte AusfŸhrung von Prozessen Auf Einprozessormaschinen mÿssen die Prozesse verzahnt ausgefÿhrt werden: Der Prozessor bearbeitet die Prozesse 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 Prozesses bearbeitet werden. Nach au en den Eindruck der Gleichzeitigkeit erwecken: Alle Prozesse kommen gleichmš ig voran (Prozess als virtueller Prozessor) P1 P2 P3 2-10

11 Prozesse und AdressrŠume Ein (logischer) Adressraum eines Prozesses 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 Prozessen 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 Prozesse teilen sich einen Adressraum (Threads) Ein Prozess wechselt von einem Adressraum zum andern 2-11

12 Hinweis BezŸglich der Terminologie in der einschlšgigen Literatur ist Vorsicht geboten: Ein Prozess (process, task) wird hšufig im Sinne eines Unix-Prozesses verstanden als ein Prozess mit einem eigenen Adressraum. Die meisten neueren Betriebssysteme ( auch neuere UNIX-Varianten) bieten dagegen die Mšglichkeit an, mehrere Prozesse 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- Prozesse (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) 2-12

13 bersicht Ÿber die Bezeichnungen in verschiedenen BS 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 2-13

14 Prozessumschaltung (Prozesswechsel, process switching) Prozessumschaltung bedeutet, dass der Prozessor die Bearbeitung des aktuellen Prozesses unterbricht und stattdessen die Bearbeitung eines anderen Prozesses 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: Automatisch: 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 Die Prozessumschaltung wird durch ein Šu eres Ereignis (Interrupt) ausgelšst 2-14

15 Implementierung der Prozessumschaltung im Betriebssystem 2-15 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 Prozesses, repršsentieren. Inhalte von Adressregistern, Segmenttabellen, Unterbrechungsmasken, Zugriffskontrollinformation etc, die die Ablaufumgebung des Prozesses darstellen. Alles zusammen, also die gesamte im Prozessor abgelegte prozessspezifische Information wird als Kontext des Prozesses (process context) bezeichnet. Dieser Prozesskontext muss im Rahmen des Umschaltens gerettet werden und beim Fortsetzen des Prozesses 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)

16 Auswahl des nšchsten Prozesses 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 Prozesses (zyklisches Umschalten) Ankunftsreihenfolge Fairness PrioritŠt (Dringlichkeit) - konstant - veršnderlich Einhalten von Fertigstellungszeitpunkten Die Auswahl des nšchsten Prozesses beeinflusst die Verteilung der Prozessorleistung auf die Prozesse. Auf die verschiedenen Umschaltstrategien wird noch eingegangen (Scheduling) 2-16

17 ProzesszustŠnde Beim Umschalten muss in der Regel ein nšchster Prozess ausgewšhlt werden. Da jedoch einige Prozesse auf das Eintreten eines Ereignisses oder das ErfŸlltsein einer Bedingung warten, kommen diese nicht in Frage. Sie sind z. Zt. nicht fortsetzbar. Prozesse, 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 Prozesses bezeichnet. Nimmt man die gerade rechnenden Prozesse hinzu, so gelangt man zunšchst zu drei ZustŠnden Zustand ãrechnendò (running): Prozesse, die gerade auf einem Prozessor bearbeitet werden Zustand ãbereitò (ready) Prozesse, die zwar fortsetzbar sind, aber gerade nicht bearbeitet werden Zustand ãwartendò (waiting) Prozesse, die nicht fortsetzbar sind, weil sie auf das Eintreten einer Bedingung warten 2-17

18 ProzesszustŠnde (process states) und ihre bergšnge Wartend (waiting, blocked) DEBLOCKIEREN (deblock) BLOCKIEREN (block) AUFGEBEN (relinquish, yield) Bereit (ready) Rechnend (running) ZUORDNEN (assign) 2-18

19 2.3 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. 2-19

20 Prozesse 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 Prozesse an einer gemeinsamen Aufgabe arbeiten, mÿssen sie interagieren Nach der Art ihrer Interaktion unterscheiden wir Kooperation (Shared-Memory Programmiermodell, gemeinsamer Speicher) Die Prozesse lesen und schreiben gemeinsame Variable Beispiele: Concurrent Pascal, Ada, Java, Modula-2 Kommunikation (Message Passing Programmiermodell, getrennter Speicher) Die Prozesse senden sich gegenseitig Nachrichten) Beispiele: Occam, diverse C-Derivate Die Verwaltung dieser Prozesse wird vom Laufzeitsystem der Sprache vorgenommen. 2-20

21 BS-Prozesse und Programmiersprachliche Prozesse Klassischer Mehrprogrammbetrieb: UnabhŠngige Prozesse in eigenen AdressrŠumen Ein Programm ein Prozess Laufzeitsystem Ein Programm ein Prozess Laufzeitsystem Betriebssystemkern Thread-Konzept in einer Programmiersprache ohne BS-UnterstŸtzung: Ein Programm viele Prozesse Ein Programm viele Prozesse Umschaltung der Prozesse durch Laufzeitsystem. FŸr das Betriebssystem sind die Prozesse nicht sichtbar. Es behandelt das gesamte Programm als einen Prozess Laufzeitsystem Laufzeitsystem Betriebssystemkern 2-21

22 BS-Prozesse und Programmiersprachliche Prozesse Ein Programm viele Prozesse Ein Programm viele Prozesse Programmiersprachliche Prozesse werden 1:1 auf BS-Prozesse abgebildet Laufzeitsystem Laufzeitsystem Betriebssystemkern Die Programmiersprache unterstÿtzt keine Prozesse Das parallele Programm besteht aus BS-Prozessen, die sich einen Adressraum teilen (z.b. Pthreads) Ein Programm viele Prozesse Ein Programm viele Prozesse Betriebssystemkern 2-22

23 Paralleles Verzweigen 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 2-23

24 Parallele Anweisungen 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 C; parbegin B G D; D E E; parend; F F end; G; H parend; H; 2-24

25 Parallele Schleifen 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 A A; pardo i:=1 to n B(i); pardo j:=1 to i C(i,j); parend; D(i); parend; E; C(1,1) B(1) B(2) B(3) B(n) C(2,1) C(2,2) C(n,1) D(1) D(2) D(3) D(n) E C(n,n) 2-25

26 Impliziter Parallelismus ParallelitŠt kann auch implizit und stattfinden: Moderne Prozessoren besitzen die FŠhigkeit, mehrere Operationen Ÿberlappend und/oder simultan auszufÿhren. 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. 2-26

27 Parallelarbeit innerhalb des Prozessors Flie bandprinzip (Pipelining) aufeinanderfolgende Befehle IF DC EX WB Instruction fetch (Befehl holen) Decode (Befehl decodieren) Execute (Befehl ausführen) Write back (Ergebnis zurückschreiben) Prozessortakte 2-27

28 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 2-28

29 2.4Beziehungen zwischen Prozessen Verallgemeinerter Prozessbegriff Wir haben parallele oder nebenlšufige AktivitŠten auf verschiedenen Ebenen kennengelernt: - Komplette Anwendungen als Prozesse - Prozesse 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 Prozesse wšren dann ein Beispiel fÿr grobgranulare Prozesse, die parallele Auswertung eines arithmetischen Ausdrucks eine Beispiel fÿr feine GranularitŠt. 2-29

30 Beziehungen zwischen Prozessen Prozesse 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) Prozesse 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 2-30

31 Prozessgraphen Solche Beziehungen kann man formal als Relationen ausdrÿcken: Sei P die Menge der Prozesse, 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. 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!) Prozessgraphen kšnnen auch Ÿber Knoten- und Kantengewichte verfÿgen. Beispiele: AusfŸhrungszeit als Knotengewicht im VorgŠngergraph Versendete Datenmenge als Kantengewicht im Kommunikationsgraphen Wir werden in spšteren Kapiteln darauf zurÿckkommen. Graphen werden verwendet: Zur Analyse einer Situation (z.b. Verklemmungen) Zur Optimierung (z.b. Scheduling, Platzierung) 2-31

32 Beispiel VorgŠngergraph TPG: task precedence graph Kanten modellieren Reihenfolgebeziehung Kommunikationsgraph TIG: task interaction graph Kanten modellieren Interaktion T0 Raum T0 Raum T1 T2 T3 T4 T5 T1 T2 T3 T4 T5 Zeit Raum T6 T6 2-32

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

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

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

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

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

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

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

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

Kurz: Stimme meinen Vorrednern zu: Angenehme Atmosphäre. Eher ein Fachgespräch als eine Prüfung. Eindeutig zu empfehlen

Kurz: Stimme meinen Vorrednern zu: Angenehme Atmosphäre. Eher ein Fachgespräch als eine Prüfung. Eindeutig zu empfehlen Kursversion WS: 10/11 02.2012 Kurs 1727 Kurz: Stimme meinen Vorrednern zu: Angenehme Atmosphäre. Eher ein Fachgespräch als eine Prüfung. Eindeutig zu empfehlen Grundlagen Parallele Programmierung? Was

Mehr

Systemsoftware (SYS)

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

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

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

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

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

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

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

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

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012 Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 0 / 0 Montag, den. Februar 0, 09: Uhr 0: Uhr Prof. Dr. D. Zöbel, Dipl.

Mehr

Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015

Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015 1. Einführung Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015 1.1 Inhalt der Vorlesung Ziele und Funktionen von Betriebssystemen Unix und Linux: Benutzerschnittstelle, Skript-Programmierung

Mehr

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

Mehr

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.

Mehr

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b. Prof. Dr. Michael Jäger FB MNI Lösungsvorschlag zur Klausur Betriebssysteme vom 1.10.2014 Blau gekennzeichnete Textstellen sind beispielhafte Lösungen bzw. Antworten zu den Aufgaben. Rot gekennzeichnete

Mehr

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad

Mehr

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend U7 6. Übung U7 6. Übung U7-1 Motivation von Threads U7-1 Motivation von Threads Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte pthread-ai Koordinierung UNIX-rozesskonzept: eine Ausführungsumgebung

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

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

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

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

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

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

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

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

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

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

Hochschule Augsburg. Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1

Hochschule Augsburg. Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1 Hochschule Augsburg Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1 Zeitplan Zeit Aktion 14.00 Warm Up (R. H3.14) 14.15 Zielvorstellung / Projektaufgabe

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

2 Grundlagen der Programmierung

2 Grundlagen der Programmierung 2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

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

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2013 Kapitel 2: Betriebssysteme Vorlesung:

Mehr

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung copyright W. G. Spruth, 10-2005 Hardware Extern E/A Programm System- Fehler Aufruf

Mehr

Rechnerarchitekturen und Betriebssysteme (CS201): Intro Betriebssysteme, SW Interrupts, Supervisory Call

Rechnerarchitekturen und Betriebssysteme (CS201): Intro Betriebssysteme, SW Interrupts, Supervisory Call Rechnerarchitekturen und Betriebssysteme (CS201): Intro Betriebssysteme, SW Interrupts, Supervisory Call 4. November 2014 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität

Mehr

5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS:

5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS: 5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS: Zugriffssystem: < S,P,O > S Menge von Subjekten P Menge von Operatoren O Menge von Objekten

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

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

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität Parallelrechner (1) Motivation: Bedarf für immer leistungsfähigere Rechner Leistungssteigerung eines einzelnen Rechners hat physikalische Grenzen: Geschwindigkeit von Materie Wärmeableitung Transistorgröße

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

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

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2011 in Goslar Willi Stricker 1 STRIP Forth-System Praxisdemonstration Aufbau Hardware Aufbau Software 2 STRIP-Kernel Clocks So,S1 Clock

Mehr

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation 09.05.15 1 Literatur [6-1] http://php.net/manual/de/book.sockets.php [6-2] http://de.wikipedia.org/wiki/socket_(software) [6-3] http://php.net/manual/de/book.network.php

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

CONCURRENCY MODELS. Auf der Suche nach dem heiligen Gral der ManyCores Peter Sturm. (c) Peter Sturm, Universität Trier

CONCURRENCY MODELS. Auf der Suche nach dem heiligen Gral der ManyCores Peter Sturm. (c) Peter Sturm, Universität Trier CONCURRENCY MODELS Auf der Suche nach dem heiligen Gral der ManyCores Peter Sturm 1 AUTOVERKEHR 61.5 Millionen zugelassene Autos (Anfang 2014) Quelle: Statistisches Bundesamt 2 3 SPERRGRANULAT Die Zeit

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Parallelverarbeitung. Parallelverarbeitung. 2. Grundlagen. 2. Grundlagen. 2.1 Parallelität

Parallelverarbeitung. Parallelverarbeitung. 2. Grundlagen. 2. Grundlagen. 2.1 Parallelität 2. Grundlagen Parallelverarbeitung SS 2005 Inhalt Parallelität Ebenen der Parallelität Parallelrechnerarchitekturen Parallele Programmiermodelle 18.04.05 Roland Wismüller, Univ. Siegen roland.wismueller@uni-siegen.de

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Kapitel III. Prozessverwaltung. VO Betriebssysteme Kapitel III Prozessverwaltung V 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

SC18IM700-Tester v1.0. 1. Einleitung

SC18IM700-Tester v1.0. 1. Einleitung SC18IM700-Tester v1.0 1. Einleitung Der SC18IM700-Tester ist ein mittels Visual Studio.NET und in der Programmiersprache C# entwickeltes Programm. Es lehnt sich an der Funktion eines einfachen Terminal-

Mehr

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

Mehr

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0) Konzepte von Betriebssystem Komponenten Aufbau eines rnen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung

Mehr

Verbessertes Konzept: Monitore

Verbessertes Konzept: Monitore Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):

Mehr

Enterprise Computing

Enterprise Computing Enterprise Computing Prof. Dr.-Ing. Wilhelm G. Spruth WS 2011/12 Teil 2 Verarbeitungsablauf Systemarchitektur Multiprogrammierung Virtueller Speicher Überwacher (Supervisor) Cache CPU s Hauptspeicher I/O

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 3: Aspekte in Betriebssystemen und AspectC++-Tutorial Michael Engel und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund

Mehr

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2 Vorlesung: Betriebssysteme T. Fahringer Institut für Informatik Universität Innsbruck VO Betriebssysteme Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick VO Betriebssysteme

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr