Operating System Kernels



Ähnliche Dokumente
OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

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

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Tutorials für ACDSee 12: Hochladen von Fotos auf Ihren Account bei ACDSeeOnline.com

1 Was ist das Mediencenter?

Dämon-Prozesse ( deamon )

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Installationsanleitung. ipoint - Server

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Die Invaliden-Versicherung ändert sich

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Internet Explorer Version 6

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können.

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Rillsoft Project - Installation der Software

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

Adressen der BA Leipzig

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

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

So nutzen Sie VOICEMEETING. Vereinbaren Sie mit allen Konferenzteilnehmern den genauen Zeitpunkt, zu dem die Konferenz stattfinden soll.

Lizenzierung von System Center 2012

Avira Support Collector. Kurzanleitung

Windows 8 Lizenzierung in Szenarien

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

Windows Server 2008 (R2): Anwendungsplattform

Monitore. Klicken bearbeiten

:: Anleitung Hosting Server 1cloud.ch ::

Anleitung zur Nutzung des SharePort Utility

SECURE DOWNLOAD MANAGER

Tipps und Tricks zu Netop Vision und Vision Pro

Verwendung des Terminalservers der MUG

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Im Netzwerkeinsatz MUSS unbedingt bei jenen Arbeitsplätzen, die mit SC-Line arbeiten, das Arbeitsplatzsetup ausgeführt werden!

Secure Download Manager Übersichtsleitfaden Vertraulich Version 2.2

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Swisscom TV Medien Assistent

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Formular»Fragenkatalog BIM-Server«

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Windows 10 > Fragen über Fragen

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

Keine Disketteneinreichung ab 1. Februar 2014

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

IntelliRestore Seedload und Notfallwiederherstellung

ACDSee Pro 3-Tutorials: Hochladen von Bildern auf Ihren ACDSee Online-Account

Round-Robin Scheduling (RR)

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

4D Server v12 64-bit Version BETA VERSION

EMU Bill & Report 1/33

Reborn Card Ultimate 8 Kurzanleitung Installation

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Schulpaket 2015 / 2016 Installation

Grundlagen verteilter Systeme

Internet online Update (Internet Explorer)

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

KURZANLEITUNG CLOUD OBJECT STORAGE

Anleitung über den Umgang mit Schildern

Apple Mail: SSL - Einstellung überprüfen

Neue Steuererklärung 2013 erstellen

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

TeamSpeak3 Einrichten

Einspielanleitung für das Update DdD Cowis backoffice DdD Cowis pos

Anleitung Air Berlin Web-Ceck-in - Seite 1 von 9

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

E-Cinema Central. VPN-Client Installation

Leitfaden Meine Daten ändern

Installation von Office 365 auf einem privaten PC

Oracle APEX Installer

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Einrichtung eines -Kontos bei Mac OS X Mail Stand: 03/2011

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Benutzerverwaltung Business- & Company-Paket

Hinweise zum Ausfüllen der Zeiterfassung

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

End User Manual für SPAM Firewall

Installationsvoraussetzungen

Microkernel-Betriebssysteme Mach, L4, Hurd

Leichte-Sprache-Bilder

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Datensicherung EBV für Mehrplatz Installationen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Hinweis, sofern Sie Probleme beim Download der Excel-Dateien für das LIOS-Makro haben:

Transkript:

Operating System Kernels von Patrick Bitterling 1

Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking Stack -Alternativen zum Kernel -Das kernellose Betriebssystem KLOS 2

Begriffserklärung Kernel -Kernel auch Betriebssystemkern - Kern der meisten Betriebssystem -Regelt wichtige Bereiche wie z.b. Speicher- und Prozessverwaltung, Gerätetreiber, System- Aufrufe, Dateisystem -Dient als Schnittstelle zwischen Hard- und Software 3

Mikrokernel -Erste Kernel-Architektur -Kernel mit wenigen Funktionen -Erstellt Server um Software mehr Privilegien zu gewähren -Bei Serverabsturz bleibt das System stabil -Häufigere Kontextwechsel -Negativ für Geschwindigkeit 4

Monolithischer Kernel -Beinhaltet mehr Funktionen -Ist größer und liegt komplett im Speicher -Reduziert Kontextwechsel -Gut für Geschwindigkeit -Fehler haben größere Auswirkung (bis Systemabsturz) 5

Hybridkernel -Einiges im Kernelmodus, einiges im Benutzermodus -Kompromiss zwischen Mikrokernel und monolithischen Kernel -Möglichst wenige Kontextwechsel -Bei Serverabsturz kein Systemabsturz 6

Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking Stack -Alternativen zum Kernel -Das kernellose Betriebssystem KLOS 7

Übersicht Kernel Subsysteme -Prozessmanagement/-scheduling -System Aufrufe -Interrupts -Kernelsynchronisation -Speichermanagement 8

Multitasking -Ein Prozess pro Prozessor(-kern) -Simulation von vielen parallel laufenden Prozessen -Heutzutage über preemptives Multitasking -Prozess kann jederzeit unterbrochen werden -Status des Prozesses wird gespeichert -Kann später an dieser Stelle fortgesetzt werden 9

Prozessmanagement / -scheduling Prozess-Nomenklatur Task Task Prozess beinhaltet Informationen Adressräume, PID,... Scheduling Linux FreeBSD W indows Vista Container (hat mind. 1 Thread) Ja Ja Ja CFS 4BSD (neu ULE) W TS Benutzt Timeslices Nein Ja Ja Eltern-Kind Beziehung Ja Ja Nein 10

Schedule mit Timeslice -Jeder Prozess bekommt eine Priorität - Höhere Priorität - Größeres Timeslice = mehr verfügbare Prozessorzeit - Darf Timeslice früher verbrauchen -Unterbrochener Prozess darf später Timeslice verbrauchen -Bei gleicher Priorität => Round Robin Verfahren -Neue Prioritätsberechnung 11

Completely Fair Scheduler (CFS) -Alle Prozesse gleich behandelt -Wartende Prozesse bekommen Gutschrift (wait_runtime) -Laufende Prozesse reduzieren ihr Gutschrift -Sind in einem Rot-Schwarz-Baum sortiert -Prozess mit höchster Gutschrift wird ausgeführt (ist ganz links im Baum) 12

Übersicht Kernel Subsysteme -Prozessmanagement/-scheduling -System Aufrufe -Interrupts -Kernelsynchronisation -Speichermanagement 13

Systemaufrufe -Ring-Schutzmechanismus -Ermöglichung von Sicherheitsstufen -Anwendungen sollen nicht direkt auf Hardware zugreifen können -Prozesse abschotten -Kommunikation zwischen den Ringen über Tore -Privilegierter Modus (Kernel-Modus) -Unprivilegierte Modi (Benutzer-Modi) 14

Systemaufrufe (2) -Anwendung braucht Privilegien aus Kernelmodus -Programmierschnittstelle (API) stellt Funktionen zur Verfügung -API schreibt Nummer ins EAX-Register -API sperrt EAX-Register und löst Software- Interrupt aus (Sprung in Kernelmodus) -EAX-Register wird ausgelesen -Entsprechende Aktion ausgeführt -Springe wieder zurück 15

Übersicht Kernel Subsysteme -Prozessmanagement/-scheduling -System Aufrufe -Interrupts -Kernelsynchronisation -Speichermanagement 16

Interrupts -Kurzfristige Unterbrechung eines Programms -Zeitkritische Arbeit ausführen -Hardwareinterrupt asynchron -Softwareinterrupt (Exception) synchron -Wiederaufnahme vom vorherigen Programm 17

Interrupts (2) ISR (Linux und Vista) - Interrupt in 2 Teile (Hälften) aufgeteilt - Die obere Hälfte nimmt Interrupt entgegen - Leitet Informationen zur unteren Hälfte - Obere Hälfte beendet Hardware Interrupt - Untere Hälfte führt die restliche Abarbeitung des Interrupt aus. 18

Interrupts (2) ISR (Linux und Vista) - Interrupt in 2 Teile (Hälften) aufgeteilt - Die obere Hälfte nimmt Interrupt entgegen - Leitet Informationen zur unteren Hälfte - Obere Hälfte beendet Hardware Interrupt - Untere Hälfte führt die restliche Abarbeitung des Interrupt aus. Interrupt Threads (FreeBSD) - Sind Threads mit hoher Priorität - Können von wichtigeren Threads unterbrochen (preemptiv) werden - Sperren von Ressourcen im Kernel einfacher als bei ISR 19

Übersicht Kernel Subsysteme -Prozessmanagement/-scheduling -System Aufrufe -Interrupts -Kernelsynchronisation -Speichermanagement 20

Kernelsynchronisation -Prozesse wollen dieselben Ressourcen beanspruchen -Kann zu schweren Fehlern führen (Race Condition) Zeitpunkt Transaktion 1 Gespeicherter W ert Transaktion 2 1 Lese Wert W W=1 ------- 2 Vermindere Wert W=1 Lese Wert W 3 Speichere W ert W =0 Erhöhe W ert 4 -------- W=2 Speichere Wert 21

Kernelsynchronisation (2) -Ressource muss geschützt werden -Erster Prozess sperrt Ressource (Spinlock oder Semaphor) Zeitpunkt Transaktion 1 Gespeicherter W ert Transaktion 2 1 Erlange Lock W=1 ------- 2 Lese Wert W W=1 Versuch Lock 3 Vermindere W ert W =1 Versuch Lock 4 Speichere W ert W =0 Versuch Lock 5 Gib Lock frei W =0 Erlange Lock 6 -------- W=0 Lese Wert W 7 -------- W=0 Erhöhe Wert 8 -------- W=1 Speichere Wert 22

Kernelsynchronisation (3) -Spinlocks lässt andere Prozesse aktiv Warten -Semaphor schickt andere Prozesse schlafen -Problem bei preemptiven Kernels -Lösung: atomare Operationen oder atomare Transaktionen -Vista: Synchronisationsobjekt anstatt Spinlocks -Objekte sagt wenn Ressource wieder verfügbar ist 23

Übersicht Kernel Subsysteme -Prozessmanagement/-scheduling -System Aufrufe -Interrupts -Kernelsynchronisation -Speichermanagement 24

Speichermanagement -Speichereinteilung in kleine Stückchen (Pages) -Können verschoben (swap) werden zwischen RAM und virtuellen Speicher (Festplatte) -Pages können von Prozessen geteilt werden -Speichereinteilung zwischen Benutzer- und Kernelmodus -Statisch (FreeBSD,Linux) oder dynamisch (Vista) -Speicher voll -> swap lange nicht benutzte Pages 25

Themenübersicht -Eine Einleitung über Kernel - Begriffserklärung, Architekturen -Kernel Subsysteme - Prozess-Scheduling, Speichermanagement,... -Der Networking Stack -Alternativen zum Kernel - Das kernellose Betriebssystem KLOS 26

Networking Stack -Softwareimplementierung einer Sammlung von Protokollen -Protokolle kommunizieren mit anderen Protokollen -> Schichtanordnung -Modell für diese Schichten (TCP/IP und OSI) -Unterste Ebene physikalische Übertragung -Höhere Ebene fügt neue Funktionen hinzu -Oberste Ebene bestimmt wie Programme diese Protokolle verwenden sollen 27

Themenübersicht -Eine Einleitung über Kernel - Begriffserklärung, Architekturen -Kernel Subsysteme - Prozess-Scheduling, Speichermanagement,... -Der Networking Stack -Alternativen zum Kernel <= - Das kernellose Betriebssystem KLOS 28

Alternative zu einen kernelbasierenden OS -Programmiere OS direkt für eine Hardwarekonfiguration -Früher auf einen Computer angepasst -Heute noch bei einigen Spielkonsolen und technischen Geräten wie z.b. Routern -Entwurf eines OS mit wenigen Kontextwechsel (verbrauchen Rechenzeit) -KLOS statt Kontextwechsel Segmentierung für ähnliche Sicherheit 29

Danke fürs Zuhören 30