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

Ähnliche Dokumente
Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Filesystem in Userspace. Jens Spiekermann

Lizenzierung von System Center 2012

Systeme 1. Kapitel 10. Virtualisierung

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

4D Server v12 64-bit Version BETA VERSION

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

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

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

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

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

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

LPT1 Anschluss mit PCMCIA Karte

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Verwendung des Terminalservers der MUG

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

CADEMIA: Einrichtung Ihres Computers unter Windows

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Fragen zur GridVis MSSQL-Server

Internet Explorer Version 6

TeamSpeak3 Einrichten

Computeria Solothurn

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Operating System Kernels

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Formular»Fragenkatalog BIM-Server«

FastViewer v3 bei der TechniData IT-Service GmbH

Codesigned Virtual Machines

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Leitfaden für die Installation der Videoüberwachung C-MOR

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Internet online Update (Internet Explorer)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Grundlagen verteilter Systeme

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

> Soft.ZIV. Maple Mathematisches Software System

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Anleitung zur Nutzung des SharePort Utility

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

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

Das tgm stellt virtuelle Desktops zur Verfügung. Um diese nutzen zu können, gehen Sie bitte wie folgt vor:

Installation der SAS Foundation Software auf Windows

Lizenzierung von Windows Server 2012

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Rillsoft Project - Installation der Software

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

PHPNuke Quick & Dirty

Dokumentenverwaltung im Internet

Praktikum IT-Sicherheit

Installation OMNIKEY 3121 USB

Mein eigener Homeserver mit Ubuntu LTS

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Windows 8 Lizenzierung in Szenarien

Installationsvoraussetzungen

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

Drägerware.ZMS/FLORIX Hessen

Installationshandbuch (deutsch)

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Primzahlen und RSA-Verschlüsselung

HTBVIEWER INBETRIEBNAHME

VDI - Die Revolution der Arbeitsplatzbereitstellung. Nicholas Dille,

MetaQuotes Empfehlungen zum Gebrauch von

Benutzerhandbuch für Debian Server mit SAMBA. Rolf Stettler Daniel Tejido Manuel Lässer

Updatehinweise für die Version forma 5.5.5

Nutzung von GiS BasePac 8 im Netzwerk

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

Adminer: Installationsanleitung

5 Speicherverwaltung. bs-5.1 1

Besitzübernahme von Ordnern und Dateien unter Win7 Ultimate

Swisscom TV Medien Assistent

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

ICS-Addin. Benutzerhandbuch. Version: 1.0

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Installationsanleitung

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Virtuelle Maschinen. von Markus Köbele

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Daten Monitoring und VPN Fernwartung

Installationsleitfaden zum Fakturierungsprogramm

WinVetpro im Betriebsmodus Laptop

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

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

SJ OFFICE - Update 3.0

PROBLEME BEIM INSTALLIEREN REALTEK HD AUDIO TREIBER

etax.schwyz: Suche nach Steuerfalldateien

Excel Auswertungen in XAuftrag / XFibu

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

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Windows Server 2008 (R2): Anwendungsplattform

Transkript:

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 Organisatorisches 2 Tutorien Übungsblatt OS Terms System Structures System Call Basics 4. November 2009 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 1 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 2 / 26 Organisatorisches Theorieblätter Abgabe 1. Theorieblatt Heute um 12 Uhr 2. Theorieblatt Montag, 16. November, 18 Uhr Probleme mit OS/161? Im Forum auf der Vorlesungsseite stehen diverse Patches zur Verfügung. Tutorien Übungsblatt - OS Terms Frage 2.1.a Erkläre die Begriffe Thread, Adressraum und Prozess. In welchem Zusammenhang stehen diese? Thread (Faden, Ausführungsstrang) Ein Thread ist die sequentielle Abarbeitung eines Programmflusses. Adressraum Ein Adressraum ist eine Menge von Adressen, die eindeutig angesprochen werden können. Alle Threads eines Prozesses liegen in einem Adressraum. Ein Thread kann im Regelfall nicht auf Daten in einem anderen Adressraum zugreifen. Prozess Ein Thread und der zugehörige Adressraum ergeben einen (single-threaded) Prozess. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 3 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 4 / 26

Tutorien Übungsblatt - OS Terms Tutorien Übungsblatt - OS Terms Frage 2.1.b Erkläre die Unterschiede zwischen Batchverarbeitung (single-programming) und Multiprogrammierung (multi-programming). Welche Vorteile bietet Multiprogrammierung? Bei Systemen mit Batchverarbeitung wird immer nur ein Programm ausgeführt. Erst nach Ende des Programms kann ein weiteres Programm gestartet werden. Beispiel: Batchverarbeitung Beispiel: Multiprogrammierung Mit Hilfe von Multiprogrammierung können mehrere Anwendungen gleichzeitig ausführbar sein. Bei Anwendungen mit hohen E/A Latenzen können sich die Programme gegenseitig abwechseln, damit kann ein Leerlauf des Prozessors vermieden werden. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 5 / 26 Tutorien Übungsblatt - OS Terms Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 6 / 26 Frage 2.1.c Was ist eine Virtuelle Maschine? Eine virtuelle Maschine ist ein virtueller Computer. Eine solche Maschine besteht nicht aus Hardware, sondern aus Software. Auf einem physischen Computer können gleichzeitig mehrere virtuelle Maschinen betrieben werden. Beispiele für VMs Java Virtual Machine (JVM) Transmeta Crusoe / Efficeon VMware / VirtualBox Transmeta Architektur Anwendungsprogramme Betriebssystem Gast ISA VMM Übersetzer Cache Host ISA Frage 2.2.a Wir nehmen ein typisches PC Betriebssystem (z.b. Windows XP oder Linux) an. Weshalb sollte ein schlauer Systementwickler manche Betriebssystemfunktionen außerhalb des Kernels implementieren? Welche Funktionen kommen dafür überhaupt in Frage? Aufgrund der Auslagerung von Funktionen kann der Betriebssystemkern schlank gehalten werden. Funktionen außerhalb des Kerns laufen im Benutzer- des Prozessors. Dadurch sind sowohl der Kern als auch andere im Benutzer- laufende Funktionen gegen unzulässige Zugriffe geschützt. Alle Funktionen, deren Implementierung außerhalb des Kernels nicht die Systemsicherheit (Schutz, Stabilität) beeinträchtigt Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 7 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 8 / 26

Frage 2.2.a Welche Funktionen eignen sich besonders gut für die Auslagerung? Für die Auslagerung eignen sich besonders Treiber, die langsame Geräte ansprechen. Bei Funktionen, die viel Daten austauschen, eignet sich die Auslagerung nicht, da ein Overhead durch den nötigen Wechsel zwischen Benutzer- und Kern- entsteht. Beispiel: Linux FUSE (Filesystem in Userspace) FUSE erlaubt es Dateisysteme als normale Anwendungen zu entwickeln. Generischer Teil im Kern (VFS Anbindung) Dateisystemspezifischer Bereich in Anwendungsprogramm Beispiele: NTFS GmailFS SSHFS Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 9 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 10 / 26 Monolithischer Kernel auf monolithischem Kernel basierte Betriebssysteme Frage 2.2.b Vergleiche monolithische Kernel mit Mikrokernel-basierten Multi-Server Betriebssystemen. Was sind die jeweiligen Vor- und Nachteile? Anwender Betriebsystem Anwendungen VFS, System-Aufrufe Kernel- IPC, Dateisystem Scheduler, Virtual Memory Geräte-Treiber, Dispatcher,... Hardware Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 11 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 12 / 26

Mikro-Kernel Mikrokernel-basierte Betriebssysteme Vor- und Nachteile: Monolithischer Kernel + Schnelle und einfache Dienst-Aufrufe im Kern Anwendungen - Großer Kern mit komplexen Abhängigkeiten - Schlechte Erweiterbarkeit - Keine Isolation zwischen Kern-Komponenten Benutzer- Dateisystem Anwendungs- IPC UNIX- Server Geräte- Treiber Kernel- Basic IPC, Virtual Memory, Scheduling Hardware Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 13 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 14 / 26 Hybrid-Kernel Hybridkernel-basierte Betriebssysteme Vor- und Nachteile: Mikro-Kernel Strikte Isolierung von Kern-Komponenten + Schlanker Mikro-Kern Anwendungen + Sehr gute Isolation zwischen Kern-Komponenten + Klar definierte Server-Schnittstellen erleichtern Abhängigkeitsverwaltung - Kommunikationsoverhead Benutzer- Dateisystem UNIX- Server Kernel- Anwendungs- IPC Geräte- Treiber Basic IPC, Virtual Memory, Scheduling Hardware Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 15 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 16 / 26

Vor- und Nachteile: Hybrid-Kernel Kombination aus den Vor- und Nachteilen von monolithischen und Mikro-Kernel Systemen Frage 2.2.c Eine Anwendung möchte eine Datei schreiben. Sie führt dazu einen write Systemaufruf (Syscall) durch. Vergleiche den durch Kernel Ein- und Austritte sowie Adressraumwechsel verursachten Overhead dieses Systemaufrufs bei einem monolithischen und einem Mikro-Kernel basierten Betriebssystem. Bei einem Mikro-Kern basierten Betriebssystem ist im Vergleich zu einem monolithischen System eine höhere Anzahl an Kernel Ein- und Austritten sowie Adressraumwechseln zu beobachten. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 17 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 18 / 26 Systemaufruf Monolithischer Kernel Kernel-Benutzer-Wechsel Prozessormodus umschalten Stack auf Kernel-Stack umschalten Adressraumwechsel Wechsel der Tabellen für Verwaltung des virtuellen Speichers TLB Cache leeren TLB beschleunigt Zuordnung von logischen (virtuellen) zu physikalischen Speicheradressen. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 19 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 20 / 26

Tutorien Übungsblatt - System Call Basics Systemaufruf Mikro-Kernel Frage 2.3.a Welche Ereignissen können zu einem Kern Aufruf führen? Ausnahmen (Exceptions) Division durch Null Zugriff auf ungültigen Speicher Unterbrechungen (Interrupts) Gerät ist fertig mit Arbeiten Interner Zeitgeber (Timer Interrupt) System Aufrufe (Syscalls) Prozess starten Datei schreiben, lesen Um in den Kern zu wechseln verwenden Syscalls meistens spezielle Ausnahmen. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 21 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 22 / 26 Tutorien Übungsblatt - System Call Basics Frage 2.3.b Wie hängt eine trap Instruktion mit Systemaufrufen zusammen? Die trap Instruktion schaltet den Prozessor in den privilegierten (Kernel-) und springt zu einer vorher vom Betriebssystem-Kern vorgegebenen Adresse im Speicher. Die trap Instruktion erlaubt es also einen Mechanismus auf höherer Ebene (Systemaufrufe) umzusetzen. Andere Methoden zur synchronen Ausführung des Kerns sind auch denkbar, so könnte z.b. eine bestimmte ungültige Instruktion einen Wechsel zum Kern auslösen und dort besonders interpretiert werden. Tutorien Übungsblatt - System Call Basics Frage 2.3.c Ein Systemaufruf soll auf einen Speicherbereich in einem Anwendungsprogramm schreiben. Welche Probleme können dabei auftreten? Der Kern muss sicherstellen, dass der Speicherbereich in einem Anwendungsprogramm liegt. Ansonsten könnte ein bösartiges Programm Daten im Kern überschreiben. Frage 2.3.c Kann es auch zu Problemen kommen wenn der Kern nur lesend auf den Speicherbereich zugreift? Bei einem Lesezugriff können keine Kern-Daten verändert werden, allerdings können geheime Informationen wie z.b. Passwörter ausgelesen werden. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 23 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 24 / 26

Fragen & Kommentare Ende Fragen & Kommentare? xkcd: Compiling Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 25 / 26 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 4. November 2009 26 / 26