Grundlagen Rechnerarchitektur und Betriebssysteme

Ähnliche Dokumente
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Tutorium Rechnerorganisation

RO-Tutorien 15 und 16

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Hardware und Gerätetreiber

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

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

Echtzeitbetriebssysteme

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Verteilte Echtzeit-Systeme

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Datenübertragung per Direct Memory Access (DMA)

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

RTOS Einführung. Version: Datum: Autor: Werner Dichler

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Rechnernutzung in der Physik. Betriebssysteme

Symbian OS. OS für kleine Endgeräte: Sven Walter

(Cache-Schreibstrategien)

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

E Mikrocontroller-Programmierung

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

Fakultät für Informatik der Technischen Universität München. Kapitel 3. Nebenläufigkeit

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

D Einführung Betriebssysteme

D Einführung Betriebssysteme

Betriebssysteme 1. Thomas Kolarz. Folie 1

Technische Voraussetzungen

RO-Tutorien 17 und 18

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

Ein- und Ausgabegeräte

Konzepte von Betriebssystemkomponenten

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

Lösung von Übungsblatt 2

5 Speicherverwaltung. bs-5.1 1

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 8 Betriebssystem-Grundlagen

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Betriebssysteme Vorstellung

Was machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a

Echtzeit-Multitasking

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Echtzeit-Multitasking

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

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

Single- und Multitasking

Lösung von Übungsblatt 2

Inhaltsverzeichnis. Bibliografische Informationen digitalisiert durch

Technische Informatik 1

Virtueller Speicher und Memory Management

Betriebssysteme und Microkern

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Einführung und Bausteine

So funktionieren Computer

Just-In-Time-Compiler (2)

Teil 3: Konzepte von Betriebssystemen

Betriebssysteme VO Betriebssysteme KU

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

Just-In-Time-Compiler (2)

Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK)

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Operating System Kernels

Was ist ein Profiler?

Speicherverwaltung und Cache Erläuterungen

1 Windows 2000/XP (3.1, NT, 95, 98)

Wie groß ist die Page Table?

Betriebssysteme KU - Einführungstutorium

Hardware-Komponenten. DI (FH) Levent Öztürk

Klausur Betriebsysteme, Windows NT. Wintersemester 00/01. Dipl.-Ing. Jürgen Halkenhäuser Dipl.-Ing. T. Kloepfer

Überlegungen beim Entwurf eines Betriebssystems

Konzepte von Betriebssystem- Komponenten:

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen

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

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Computer-Architektur Ein Überblick

Architektur und Organisation von Rechnersystemen

Lösung von Übungsblatt 11. (Virtualisierung und Emulation)

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

IT-Systeme. Ein nach Aufgabe oder Wirkung abgrenzbares

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Kap A: Grundlagen

Technische Informatik II

Vorlesung Rechnerarchitektur. Einführung

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05

Prozesszustände (1a)

5 Kernaufgaben eines Betriebssystems (BS)

Lösung von Übungsblatt 5

Transkript:

Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann

Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender, übertragender oder speichernder Operationen definiert ist. DIN 44.300

Aufbau Computer Dr. Heidrun Kolinsky - Programmieren in Fortran 90/95

Rechnerstruktur / gemeinsamer Adressraum W. Nowicki, CC BY-SA 3.0

Aufbau PC Industrial Computers, Inc.

Zyklus einer CPU Holger Kreissl

Interrupt Unterbricht den aktuellen Programmablauf Wird von externer Peripherie ausgelöst Uhren Netzwerkkarte Ermöglicht das Abarbeiten von zeitkritischen, außerplanmäßigen oder seltene Aktionen

Grundlegender Aufbau CPU Prof. Jürgen Plate

Programmieren direkt auf der Hardware Vorteile Volle Kontrolle Determinismus Hohe Effizienz Nachteile Hoher Aufwand Alle Funktionen müssen selbst implementiert werden Hardware muss initialisiert werden Programm abhängig von der HW

Hardware-Abstraktion Hardwareinitialisierung vom Betriebssystem übernommen Häufig genutzte Funktionen können bereitgestellt werden Programm übernimmt zur Laufzeit (fast) vollständige Kontrolle Beispiele: DOS Kernal (C64) AUTOSAR DOS Anwendung BIOS Hardware

Programmieren mit Hardwareabstraktion Vorteile Viel Kontrolle Hohe Effizienz Nachteile Nur ein Programm zur selben Zeit aktiv

Mehrere Anwendungen Anwendung Anwendung Anwendung Betriebssystem? Hardware

Kernfunktionen eines Multitasking-Betriebssystem Hardwareabstrahierungsschicht Verwaltung von geteilten Ressourcen Anwendung Anwendung Arbeitsspeicher Standard-Bibliotheken CPU Kernel-API Festplatte Netzwerk Speicherverwaltung Scheduler Treiber Bereitstellung von definierten APIs Hardware-Abstrahierung Typischerweise auch Standard-Bibliotheken Hardware

Speicherverwaltung / Virtueller Speicher Jedes Programm verwendet logisch gesehen den gleichen Speicher wie bei der HW- Abstraktion: Beginnt bei Adresse 0 Benutzter Speicher muss vom Betriebssystem angefordert werden Enthält Programm, Bibliotheken, Daten Schnittstellen zum Kernel über definierte Speicherbereiche Betriebssystem bildet mit Hardware Memory Management Unit (MMU) im Betrieb die logisches Adressen auf die echten ab Betriebssystem kann auch teile auf Festplatte auslagern

Beispiel Speicherverwaltung Programm A Bibl. B Bibl. A Arbeitsspeicher Betriebssystem Programm B Bibl. A Festplatte BS-API BS-API

Beispiel Speicherverwaltung / Auslagerung Programm A Arbeitsspeicher Betriebssystem Programm B Festplatte BS-API BS-API

CPU-Ringe Anwendung darf (u. A.) Speicherverwaltung nicht stören => Anwendung darf z.b. MMU Konfiguration nicht ändern oder an der vorbei auf Speicher zugreifen Prozessoren unterscheiden verschieden Privilegien bei bestimmten Operationen Nur Betriebssystem darf beliebig auf Speicher zugreifen Nur Betriebssystem kann MMU umkonfigurieren

Multitasking Periodischer Wechsel zwischen den Anwendungen => für Benutzer gleichzeitige Ausführung mehrerer Programme auf einen CPU-Kern Wechsel: Sichern der Werte der Register des laufenden Programms Wiederherstellen der Register des wieder zu startenden Programms Sprung an die richtige Speicheradresse Varianten: Kooperativ Zeitscheiben-Verfahren

Kooperativen Multitasking Jede Anwendung unterbricht sich selbst: Falls auf externe Ereignisse gewartet wird Nach einiger Berechnungszeit Anwendung ruft dazu eine Betriebssystemroutine auf, die eine Liste der aktiven Anwendungen führt und die nächste aufruft.

Zeitscheiben-Multitasking Jede Anwendung unterbricht sich selbst, falls auf externe Ereignisse gewartet wird Das Betriebssystem unterbricht jede Anwendung mit einem Interrupt, falls eine definierte Zeitdauer abgelaufen ist Betriebssystemroutine wählt in beiden Fällen nächste Anwendung aus: Round-Robin Priority Weighted-Round-Robin Deadline

Virtualisierung In der Theorie unnötig: Betriebssystem isoliert Anwendungen Betriebssystem erlaubt gleichzeitigen Betrieb von mehreren Anwendungen Betriebssystem koordiniert geteilte Ressourcen In der Praxis: Anwendungen benötigen unterschiedliche Betriebssysteme Anwendungen benötigen zueinander inkompatible Konfigurationen Einzelne Ressourcen werden vom Betriebssystem nicht so gut verwaltet z. B. Grafikkarten Netzwerk-Ports

Umsetzung Virtualisierung Meta-Betriebssystem Verwaltet statt Anwendungen Betriebssysteme Emuliert Peripherie für die Gäste um Ressourcen wie Netzwerk und Festplatte zu teilen Läuft in Ring -1 bei moderner Hardware oder verschiebt das Gast-Betriebssystem in Ring 1 (Anpassungen notwendig)