TECHNISCHE INFORMATIK II

Größe: px
Ab Seite anzeigen:

Download "TECHNISCHE INFORMATIK II"

Transkript

1 TECHNISCHE INFORMATIK II PROZESSE & THREADS Zusammenfassung zur Vorlesung von Prof. Dr. B. Plattner Lukas Cavigelli, Juli 2011, v1.0 Enthält Bilder aus Wikipedia und Textabschnitte von N. Perrenoud EINFÜHRUNG Achtung: Der Mikrokern selbst läuft allesamt im kernel-mode! Windows-Kernel Möglichkeiten der Parallelisierung: Zeitliche Überlappung von Berechnung und I/O mit Interrupt Überlappung einezlner Schritte beim Pipelining Verwendung mehrerer Prozessoren/Cores Mehrere Programme gleichzeitig ausführen Ziele: Leistung, Preis-Leistungs-verhältnis, Komfort, verfügbarkeit, Reaktionszeit, Wartbarkeit Lösungsansatz: Mehrere Prozesse, durch FIFO-Buffer gekoppelt Weg Quellcode Prozess: Aufgaben eines Betriebssystems: Mittler zwischen User (Mensch, Applikation) und Hardware Steuerung der Ausführung von Anwedungen Abstraktion der Hardware Verwaltung der Betriebsmittel Sicherheit Arten von Betriebssystemen: monoprozess -OS: Laufzeit-Bibliothek für einf. Anwedungen Batch-OS: maximaler Durchsatz bei Datenverarbeitung Multiprogramming: viele Prog. im Speicher, max. CPU-Last Timesharing: mehrere User, Sys. simuliert 1 Computer/User single user / multi-tasking (Windows, Linux, ) Bertriebssysteme für eingebettete und mobile Systeme Soft oder Hard Real-Time Betriebssysteme Cloud-Betriebssysteme Betriebsmittel: Neuerungen: Integration des Speichercontrollers auf der CPU Integration der ganzen Northbridge & GPU auf der CPU Cloud Computing: Software as a service (Verarbeitung, Speicherung, ) Pool von Ressourcen (CPUs, RAM, Disks, Kommunikation) Virtualisierung, Skalierbarkeit, Verfügbarkeit Probleme: Sicherheit, Privacy, Recht, Kühlung,... Green Computing: Leistungs-Ansprüche steigen, Energie bisher irrelevant Ziel: linearer Zusammenhang: Energiebedarf Leistung Virtualisierung, CPU-Core-Abschaltung,... DOS und Embedded Systems: Alles im Kernel-Mode VMWare-Architektur: Programm : Menge von Instuktionen Prozess ( ): Programm in Ausführung, Zeit, Daten PROZESS-VERWALTUNG Bestandteile eines Prozesses: Stack: Aktivierungsrahmen (Stack-Frames) von Unterprogrammen (z.b. Funktionen) Heap: Dynamischer Speicher Data: Bekannter Speicher (z.b. globale Variablen) Text: Programmcode Prozess im Speicher: AUSFÜHRUNGS-MODI Architektur eines Computersystems: Hardware (CPU, Speicher, I/O,...) OS (hardware-management) User- & System-Applications (Editor, Compiler, Browser,...) Aufbau eines Mainboards: Aufbau einer CPU: Einschränkung des Befehlssatzes und Speicherbereich je nach Modus. Modi-Wechsel aufwändig (Kontext-Wechsel). Kernel-Mode: privilegiert, Funktionen für User-Programme nur via Syscalls verfügbar. Kernel-Mode ist ein Mode-Bit (Hardware-Flag), das vom OS gesetzt wird. z.b. erforderlich für das Ein- & Ausschalten von Interrupts,... User-Mode: eingeschränkt, kein direkter HW-Zugriff möglich Hypervisor-Mode: Nur bei neuen CPUs. Gast-OS einer Virtual-Machine kann im Kernel-Mode laufen ohne zu stören. BETRIEBSSYSTEM-ARCHITEKTUREN Monolithischer Kern (Unix, Linux): POSIX-Schnittstelle: Portable OS Interface based on UniX Microkernel (MACH), z.b. MacOS X hat Hybrid-Kern: Vorteile: minimaler Kern, Funktionen modular austauschbar Nachteile: Latenz bei Kommuniktion zwischen Managern Übergang User- Kernel-Mode: - periodisch erzwingbar mit Timer-Interrupt - andere Interrupts, Syscalls Aufstarten eines Computers: Bootstrap-Programm wird beim Einschalten gestartet: Firmware im ROM/EEPROM, initialisiert gesamte Hardware, lädt OS-Kern und führt ihn aus Bootstrap-Prozess hat meist mehrere Stufen: BIOS Boot liest Master Boot Record (MBR) und führt Code aus MBR liest Bootstrap-Kern und führt in aus Bootstrap-Kern lädt konfigurierten Kern und führt ihn aus Konfig. Kern startet Systemprozesse und Benutzerschnittst. EINHEITEN & GRÖSSEN 1 Byte = 8 Bits kilobyte (kb), mega (MB), giga, tera, peta, exa, zetta ( ) kibibyte (KiB), mebi (MiB), gibi, tebi, pebi, exbi, zebi ( ) Prozesstabelle: enthält pro laufendem Prozess einen Eintrag als Linked-List. Diesen Eintrag nennt man Prozesskontrollblock. Prozesskontrollblock (PCB): Weiterer Inhalt: Scheduling-Params, erwartetes Ereignis, Timerzustand, PID & Parent PID, User/Group-IDs Prozessumschaltung: Speichern des Prozesszustandes in den entsprechenden PCB und laden des neuen Prozesses aus dem dazugehörigen PCB. Prozess-Erstellung: fork() Prozess gabelt sich auf in zwei Kontrollflüsse mit gleichem Code. bei Unix ist der init-prozess der erste Prozess (PID 1). Waise (orphan): Kindprozess ohne Elternprozess, ParentPID 1 Zombie: terminierter Kindprozess, der vorerst weiterexistiert

2 PROZESS-SCHEDULING Langzeit-Scheduling (Job-Scheduling): Verwaltet welche Prozesse im Speicher und welche ausgelagert sind. Nur aktiv, wenn Prozess terminiert oder zuwenig Speicher. Kurzzeit-Scheduling (CPU-Scheduling): Wird aufgerufen, wenn nächster Prozess an der Reihe ist (wählt aus der Ready-Queue). Ziel: max. Durchsatz, CPU-Auslastung, Fairness. Lebenszyklus/Prozesszustände: KURZZEIT-SCHEDULING Zeitbegriffe: Ausführungszeit (Turnaround-Time TT): Mittlere Zeit, zwischen Erstellen und Abschluss eines Prozesses. Enthält alle Zeiten in Warteschlangen, Bedienzeit, I/O-Zeit. Bedienzeit: Zeit, welche der Prozess effektiv benötigt Mittlere Antwortzeit (Response Time RT): Mittlere Zeit bis neuer Prozess erstes Mal CPU erhält. I/O-bound v. CPU-bound: Ein Scheduler sollte Prozesse in I/Obound und CPU-bound klassifizieren. I/O-Prozesse belasten CPU kaum, CPU-bound Prozesse benötigen jedoch meistens den ganzen time-slice. Aktivierungsgründe: 1. Prozess wird blockiert durch I/O-Operation, Syscall, Laufender Prozess wird bereit (Interrupt, z.b. Timer) 3. Blockierter Prozess wird bereit (I/O fertig Interrupt) 4. Prozess terminiert (Syscall) 5. Laufender Prozess wird freiwillig bereit (Syscall) Scheduling-Arten: Non-preemptive: Prozess läuft bis er freiwillig CPU abgibt Nur Gründe 1, 4 & 5 können auftreten. Preemptive: Prozess läuft nur solange er darf. Keine Blockierung durch einzelnen Prozess möglich. Priorisierung möglich. Aufwändiger. Alle Gründe können auftreten. Scheduling-Algorithmen: FCFS: first come, first served. non-preemptive. SJF: shortest job first. Prozess mit kürzester CPU-Belegung zuerst. preemptive oder non-peremptive möglich. PS: priority scheduling. Prozesse mit höherer Priorität vor anderen. Wenn mehrere dieselbe Priorität haben: roundrobin. Problem: Starvation von Prozessen niedriger Priorität. Lösung: Aging Priorität steigt mit Zeit in Warteschlange RR: round robin. FCFS mit time-slicing im Intervall. Regelmässige Neuzuteilung der CPU und Prozessen in der Warteschlange. Nach Ausführung hinten wieder anfügen. preemptive oder non-preemptive möglich. MLS: multi-level-scheduling. Prozesse werden statisch in Klassen eingeteilt, die separat behandelt werden. premptive oder non-preemptive MLFQ: multi-level-feedback-queue. Wie MLS, aber dynamisch RTS: real-time-scheduling. Ereignisse müssen innerhalb einer First behandelt werden. preemptive oder non-preemptive. LRU: least-recently-used. CFS: completely fair scheduler, ab Linux Kernel SYNCHRONISATION Kritischer Bereich: Abschnitt eines Prozesses oder Threads, in welchem auf eine gemeinsame Ressource zugegriffen wird. Race Condition: Wenn Resultat eines Abschnitts vom zeitlichen Verhalten bestimmter Einzeloperationen abhängt. Anforderung an Behandlung kritischer Bereiche: mutual exclusion: zwei Prozesse dürfen nie gleichzeit in kritischem Bereich für dieselbe Resource sein. Jeder Prozess muss irgendwann den krit. Bereich betreten dürfen. Ewiges Warten darf nicht möglich sein (fairness). Prozesse ausserhalb eines krit. Bereiches dürfen einander nicht blockieren. Es dürfen keine Annahmen über Abarbeitungsgeschw. oder Anzahl Prozesse getroffen werden. Synchronisationsmethoden: Semaphoren (siehe unten) Locks & Conditions: Wie Semaphoren, haben aber einen Besitzer. Nur dieser kann die Sperre freigeben. Latch: Gemeinsamer Synchronisationspunkt Barrier: Mehrfach verwendbares Latch Rendez-vous: Latch mit Interaktion, z.b. Datenaustausch Probleme bei der Synchronisation: Verklemmung (Deadlock): Mehrere Prozesse schliessen sich gegenseitig aus und warten für immer. Tritt auf, wenn alle: o Mutual Exclusion: Jede Resource nur einfach belegbar o Hold and Wait: Prozesse, die die Ressource belegt haben, warten auf weitere Resource. o No preemption: OS kann Resource nicht wegnehmen o Zyklische Wartebedingung: zykl. Kette von Prozessen, die alle auf dieselbe Resource warten. Diese ist aber bereits durch Nachfolger in der Kette belegt. Bsp.: Dining Philosophers. Lösung: Ein Prozess nutzt andere Richtung Verhungern (Starvation): Ein Prozess kommt durch ungünstiges Scheduling nie an die Reihe. SEMAPHOREN Typen von Semaphoren: Binary Semaphore (mutex): oder. Gegenseit. Ausschluss Counting Semaphore: bis. Zum Zählen einer Anzahl Elem. Funktionen von Semahoren: Dekrementieren: dec, down, acquire, wait, lock, P Inkrementieren: inc, up, release, signal, unlock, V, post Beispiel: Barriere s = new semaphore(1); function thread1() { s.wait(); /*critical section */ s.signal(); } Beispiel: Rendez-vous s1 = new semaphore(0);s2 = new semaphore(0); function thread1() { //before rendez-vous s2. signal(); s1.wait(); } function thread2() { s1.signal(); s2.wait(); } Beispiel: Resource mit 3 freien Einheiten s = new semaphore(3); function thread1() { s.wait(); /* do something with resource */ s.signal(); } INTERPROZESS-KOMMUNIKATION (IPC) Charakteristiken: Direkte oder indirekte Kommunikation, Speicherfähigkeit des Kanals, bekannte Anz. Endpunkte. Nichrichtenstruktur nicht vorgegeben. Konzepte: Shared Memory: (indirekt): Alle dürfen gleichzeitig zugreifen Message Queue/Passing (indirekt): Reihenfolge der Nachrichten gegeben. Jeder, der Ablage kennt, kann etw. abl. Pipes (direkt): Direkte Verbindung Sender-Empfänger. Reihenfolge gegeben. OS-Signale (direkt): Mehrere Signale gleichzeitig möglich. Reihenfolge daher nicht gegeben. THREADS Verschiedene Threads: User Space Thread: Jeder Prozess hat eigene Threadtable und Scheduler für Threadverwalt. Kernel wählt nur Prozess aus. Kernel Space Thread: Kernel hat & verwaltet auch Threadtbl. Unterschied Prozess Thread: Prozess: Instanz eines Programms Thread: Sequentieller Abarbeitungslauf eines Programms Threads teilen sich die Betriebsmittel (Speicher, Dateien,...) des Prozesses. Jeder Thread hat eigenen PC, Stack, Register und Zustandsinfo. nur Prozess: Adressraum, globale Variablen, File-Handles, Kindprozesse, Signale & -handler, Accounting Information wird Prozess durch I/O geblockt, werden auch alle Threads geblockt! SPEICHERVERWALTUNG Voraussetzungen für Speichermanagement: HW: Speicherschutz, OS: muss entsprechenden Code enthalten Merkmale von Speichersystemen: Geschwindigkeit, Grösse, Kosten, Flühtigkeit Begriffe: MMU (Memory Management Unit): Ermöglich Zugriff auf gesamten virtuellen Adressraum, kapselt Prozesse voneinander ab. Verhindert Speicher-Fehlzugriffe. TLB (Translation Lookaside Buffer): Einheit der MMU. Rechnet virtuelle in physische Adressen um. Kann begrenzte Menge an Übersetzungen cachen ( Einträge). Beschleunigt dadurch den Speicherzugriff. Demand-Paging: Teilbereiche des durch einen aktiven Prozess genutzten Speichers werden wiederverwertet. Monoprogrammierung: 1 Prozess im Speicher Statische Speicherverwaltung: Prozesse werden nur einmal in den Speicher geladen (vs. dyn. Speicherverwaltung) Monolithisch: Prozess als Einheit verwalten (vs. Segmentation, Paging) Mechanismen zur Speicherverwaltung: linear: statisches Speicherbild (alles bleibt immer gleich) swapping: Ein- und Auslagern ganzer Prozesse in/aus dem Hauptspeicher zur Laufzeit (bei dyn. Speicherverwaltung). Benötigt viel Zeit, weil Prozesse als Einheit behandelt werden relocation: Dynamisches Binden von Adressen mittels Offset. Bei Multiprogramming (mehrere Prozesse im Speicher) erforderlich zur Anpassung des Speicherbildes an aktuelle Situation. Benötigt MMU (memory management unit). paging (seitenverwaltung): Dynamisches Ein- und Auslagern von Speicherblöcken konstanter Grösse (Seiten, pages). Nicht jede logische Adresse hat jederzeit auch eine physische. dann entsteht eine page-fault/page-miss und das OS lödt die Daten in den Speicher. Unterkapitel Paging virtual memory: dynamisches Binden von Speicheradressen zur Laufzeit segmentation: dynamisches Ein- und Auslagern von logisch zusammengehörigen Bereich (z.b. Array) Unterkap. segm. Verhalten bei vollem Swap-Speicher: Prozess beenden Andere Prozesse aus Swap wiedereinlagern Schlafenlegen anderer Prozesse ohne Auslagerung Virtueller Adressraum: Stellt für jeden Prozes den gesamten Adressraum bereit. Physisch wird der Speicher eines Prozesses dadurch verschiebbar. CPU generiert virtuelle/logische Adressen, MMU übersetzt diese zu physischen. Adressarten: todo Aufteilung des virtuellen Speichers: Kernel-Space: Reserviert für Kernel, -erweiterungen & Treiber. Wird meist nie ausgelagert. Threads im Kernel-Space werden vom CPU-Scheduler verwaltet. User-Space: Hier laufen alle User-Mode Programme. Kann ausgelagert werden. Threads werden durch App. verwaltet. ADRESS-BINDUNG Bindung zur Compile-Zeit: Adoslute Adressierung, keine Relokation Bindung zur Load-Zeit: Relokation nur bei Neuladen möglich Bindung zur Laufzeit: Relokation während Ausführung möglich. Physikalischer und logischer Adressraum. SPEICHERZUTEILUNG Buchführung: Zuordnung durch feste Tabelle (Tabelleneinheit gibt Zustand an; belegt oder unbelegt) Zuordnung durch linked-list: start, länge speicherber., next Algorithmen für Speicherzuteilung: First-Fit: erster passender Bereich wird verwendet Next-Fit: First-Fit, aber Allokationspointer wird mitgeführt Best-Fit: Der best-passende wird verwendet Worst-Fit: Grösster verfügbarer Bereich wird verwendet Quick-Fit: Eine Liste pro gebräuchlicher Anforderungsgrösse, z.b. pro Datentyp, wird geführt. Buddy: Speicherbereiche ausschliesslich mit Längen. Bewertung: Belegungsgrad,Zeitaufwand Allokation,Komplexität Vergleich: First-Fit oft besser als Next-Fit, Best-Fit und Worst-Fit

3 Quick-Fit gut, wenn entspr. Kenntnisse vorhanden. Buddy-Systeme: ca. 75% des Speichers kann genutzt werden. Speicherfragmentierung: Externe Fragmentierung: Nicht zugeteilte Speicherbereiche können nicht genutzt werden, da nicht genügend zusammenhängender Speicher verfügbar. Interne Fragmentierung: Nicht genutzter Speicherplatz innerhalb von zugeteilten Bereichen. Garbage Collection: Periodisches Verdichten des Speichers bei Bedarf. Teuer oder unmögl. bei statischer Adressierung Defragmentierung: Verschieben von Prozessen im Speicher. Vermindert externe Fragmentierung. Führt zu geänderter Speicherzuteil. Stack-Pointer,... müssen angepasst werden PAGING Page Frames: Physischer Speicher wird in Seitenrahmen (page frames) fester Länge aufgeteilt (2er-Potenz zw KiB) Pages: Virtueller Speicher wird in Pages gleicher Länge geteilt Übersetzung: Erfolgt mittels Seitentabelle. Jeder Prozess hat davon seine eigene. Das PTBR (page table base register) enthält die Adresses der Seitentabelle des aktiven Prozesses. Die page table selbst ist meist im Speicher oder gar der Harddisk abgelegt. Seitentabelle werden durch das OS geladen. Paging löst das Problem der externen Fragmentierung, jedoch nicht dass der internen. Wird schneller durch TLB. Relokation: Nur page table des Prozesses nachzuführen. Speicherschutz: Jeder TLB-Eintrag enthält ein Validity-Bit. Dadurch können Fehlzugriffe abgefangen werden. Logische Seitenadresse: Besteht aus zwei Teilen: Adresse des Seitenframes (IA32: 20 Bit pages) Offset: Position innerhalb des Frames (12 Bit 4096) Struktur eines Seiteneintrages (page frame): Seitenfehler: Bei jedem Verfahren kann eine virtuelle Adresse auf eine nicht im Speicher befindliche Seite zeigen. Diese Muss dann erst durch Paging in den Speicher geladen werden (demand paging). Wenn die MMU im Statusbit der entsprechenden page einen nicht geladen Eintrag vorfindet, meldet sie dies ans OS durch einen Seitenfehler. Demand Paging: Ein Seitenfehler führt zu einer Exception (Trap), wodurch die Seite geladen und die page table aktualisiert wird. Diese Technik bezeichnet man als Demand Paging (Seite wird erst geladen, wenn sie gebraucht wird). Effective Access Time (EAT): EAT = (1 page fault rate ) memory access time page fault rate average page fault service time Copy-on-Write: Prozesse verwenden nach fork() dieselben Seiten. Erst wenn ein Prozess eine Seite modifiziert, wird diese dupliziert. Trashing: Ab einem gewissen Parallelitätsgrad kommt es zum Trashing. Das bedeutet eine hohe CPU-Last wegen vielen Seitenfehlern tiefe Nutzleistung Kriterien zur Seitenersetzung: Zugehörigkeit der Speicherseite zum aktiven Prozess Es hat sich gezeigt, dass Prozess-Scheduling-Algorithmen, welche die Speicherseiten nicht nach Prozess aufteilen, effizienter sind. Insbesondere wenn bei laufendem Betrieb die Grösse des Hauptspeichers geändert wird. Letzter Zugriff auf die Speicherseite R-Bit (Reference-Bit) zeigt, ob auf die Speicherseite zugegriffen worden ist. Je nach Implementierung Zeitstempel oder periodischer Reset aller R-Bits auf 0. Unversehrtheit der Speicherseite M-Bit (Modification-Bit) zeigt an, ob sich der Speicherinhalt gegenüber dem auf der Festplatte geändert hat. Wird die Seite ausgelagert, muss man sie nur mit M-Bit 1 zurückschr. AUFBAU VON PAGE TABLES Einstufige Seitentabelle: Adressumsetzung: höherwertige Bits eine virtuelle Adresse = Seitennummer niederwertige Bits = Offset Seitennummer bestimmt ausgehend von der Basisadresse der Seitentabelle (im PTBR) den Eintrag in der page table, aus dem die Basisadresse der realen Speicheradresse gelesen wird. Weiters beinhaltet die page table Statusinformationen über die page, die z.b. Auskunft geben, ob die Seite im RAM ist, oder ob sie seit dem letzten Zugriff verändert wurde. reale Adresse = (Basisadresse der page << ) (offset) Hashtabelle: Verzeichnet nur tatsächlich verwendete Seiten. Seitennummer der virt. Adressraums wird als Key verwendet Invertierte Seitentabelle: Pro Page-Frame ein Eintrag mit der Information über die zugehörigen Seiten. Eintrag enthält Seitennummer und ID des Prozesses, dem die Seite gehört. Benötigt Zeit für Suche, vermindert Speicherplatz. Probleme bei gemeinsamer Nutzung von Frames durch mehrere Prozesse. Hierarchische Seitentabelle (2-, 3-, 4-Level): Tabelle wird in Teile mit der Länge einer Seite aufgeteilt. Die äussere Tabelle hat einen Eintrag für jede Seite der inneren Tabelle. Jede Seite der inneren Tabelle hat einen Eintrag pro Seite. Adressumsetzung ( -stufige page table): Bits der virt. Adresse = Seitentabellenverweise niederwertige Bits = Offset blaabla blaabla blaabla blaabla blaabla blaabla blaabla Adresse in der page table 1ter Stufe ist gleich lang wie reale Adr Beispiel: 3-stufige page table Gegeben: 2-stufie page table, Verhältnis 1:2:4, d.h. zweite doppelt so gross wie die erste, dritte wiederum doppelt. 32bit System, Wortadressier. (4 Byte kl. Einheit), Offset 14 bit page size: mögl. pages, Grösse: KiB Bits für Index in der page table:. Also:. Also hat Tabelle 1 Einträge, Tabelle 2 hat Einträge, Tabelle 3 deren Speicherverbrauch der dritten page table: Byte, da jeder Eintrag 4 Byte benötigt gesamter Speicherverbrauch der page tables summieren Beispiel: Offset-Berechnung Gegeben: 32bit-System, page size 4 KiB, Wortadressierung 4096 Byte / 4 Byte = 1024 Wörter = Einträge. Der Offset ist also 10 Bits. Es bleiben 22 bit für die page table SEITENERSETZUNGSSTRA TEGIEN Für jede Seite wird ermittelt, vieviele Instruktionen ausgeführt werden, bis auf die Seite zugegriffen wird. Es wird die Seite mit der grössten Anzahl gewählt. FIFO: first in, first out. Älteste Seite wird ersetzt. Es wird der Zeitpunkt des letzten Eintritts in den Hauptspeicher betrachtet. Wird selten verwendet wegen Belady-Anomalie. SC: second chance. Weiterentwicklung von FIFO. Zusätzl. wird geprüft, ob Seite referenziert wurde (R-Bit). Falls ja: R-Bit löschen und an Anfang der Schlange setzen. Clock Replacement: Schnellere Implementierung von SC. Kein Vertauschen, sondern Zeiger auf älteste Seite. LRU: least recently used. LFU: least frequently used. Zugriffszähler pro Seite. Seite mit wenigsten Zugriffen wird entfernt. MFU: most frequently used. Wie LFU, aber umgekehrt. NRU: not recently used. Seiten, die innerhalb eines Zeitintervalls nicht benutzt und nicht modifiziert wurden, werden bevorzugt ausgelagert. Danach werden Seiten, die nicht benutzt oder nicht modifiziert wurden und zuletzt erst Seiten, die benutzt und modifiziert wurden. NFU: not frequently used. Seitenzugriffe werden mit zeitlichem Abstand zur aktuellen Anfrage korreliert und so ein Wert ermittelt. NFU ist Variante von LRU in Software. CLIMB: Wird eine Seite, die sich im Speicher befindet referenziert, steigt diese auf. Ersetzt wird immer tiefste Seite. SEGMENTATION Adressbindung: Abbildung von virtuellen auf physische Adressen bei segmentiertem Speicher: 1. Ein Anteil der virtuellen Adresse wird als Segment Pointer in die Segmenttabelle verwendet. 2. Der Eintrag, auf den der Segment Pointer zeigt enthält die physische Basisadresse und Grösse des Segments. 3. Summe der Basisadresse und des Offsets bilden echte Adr. weitere Beispiele aus MC-Aufgabem!!

4 INPUT & OUTPUT Zugriffsmechanismen: Interrupts: Unterbrechung der CPU, ausgelöst durch Gerät Polling: Ermitteln des Zustandes eines Geräts durch periodische Abfragen. Aktives Warten (busy waiting). Programmed I/O: Kopieren von Daten durch CPU. Grosse CPU-Belastung. DMA (Direct Memory Access): Kopieren von Daten urch spezielle Hardware (DMA-Controller). Kopieren von Daten zwischen I/O-Geräten und Speicher keine CPU-Belastung I/O-Art: blockierend: blockiert bis ein Ergebnis vorliegt. nicht blockierend: blockt nicht, liefert sofort Statusmeldung Sender/Empfänger: Synchron: Sender muss warten bis er eine Bestätigung des Datenempfangs erhalten kann. Asynchron: Benötigt Puffer. Senden und Empfangen unabh. IRQ-Tabelle: IRQ Verwendung IRQ Verwendung 0 System-Taktgeber 8 Echtzeituhr (RTC) 1 Tastatur 9 Zu IRQ 2 umgeleitet* 2 Kaskadiert ZU IRQ 9 10 frei, ggf. PCI-Bus 3 COM 2, 4, 6, 8 11 frei, ggf. SCSI 4 COM 1, 3, 5,,7 12 PS/2 5 frei, ggf. LPT 2 13 Mathm. Coproz. FPU 6 Floppy Disk 14 Primary IDE 7 LPT 1 15 Secondary IDE *) aber auch VGA und NIC, IRQ Performance-Konzepte: Caching: Schneller Speicher hält Kopie von Daten Spooling: Zwischenspeichern von Ausgabedaten für externe Geräte (wenn diese Aufträge sequentiell abarbeiten) Reservation: Syscall zur de-/allokation des Gerätes GERÄTEMODELLE & SCHNITTSTELLEN Zugriffsarten: Wahlfreier Zugriff (random access): RAM, HDD, DVD, CD Sequentieller Zugriff (sequential access): Terminals, Bandlaufwerke, A/D-Wandler Orientierung: Blockorientierte Geräte (block devices): HDD, CD, DVD. Befehle: read, write, seek. Zugriff via Dateisystem. Memory mapped I/O möglich. Zeichenorientierte Geräte (char devices): Tastatur, Maus, USB, Sound, Drucker. Befehle: get, put Spezielle, weitere Geräte: Netzwerke-Geräte: Befehle: select, poll. Arbeit mit Sockets. Virtuelle Geräte: /dev/null und /dev/urandom FESTPLATTEN Geometrie: Probleme der Magnetisierung: Konstante Magnetisierungsdichte, unterschiedl. Spurlängen konstante Sektorenzahl durch gesteuert abnehmende Schreibdichte Ineffektives Ausnutzen der Speicherdichte Einteilung der Platte in Zonen Moderne Massenspeicherarten: Network Attached Storage (NAS): Zugriff via Netzwerk (NFS, SMB, CIFS, AFS,...). Storage Area Network (SAN): Viele Rechner verbunden, liefern riesen Speicher (GoogleFS, CosmosFS). Redundant Array of Inexpensive Disks (RAID): Mehrere Platten liefern im RAID grösseren oder redundanten Speicher. Scheduling: Ziel: Optimierung der Suchzeit und der Durchsatzes Zugriffszeit besteht aus Seek-Time (Suchzeit, Lesekopf über Spur positionieren) und Rotational Delay (bis Platte zu entsprechendem Sektor gedreht hat) Zugriffszeiten: Mittlere Suchzeit pro Spur: Mittlere Rotationsverzögerung, : Umdrehungszeit Mittlere Zugriffszeit: Transferzeit für Bytes bei einer Spurgrösse (nicht Sektorgrösse) von Bytes:. Relativer Spuranteil:, Datentransferrate: Gesamtzeit: Zugriffsarten: FCFS: first come, first served. Sucht Blöcke nach zeitlicher Reihenfolge der Anfragen. SSTF: shortest seek time first. Wählt Block mit kürzester Suchzeit. Starvation möglich! SCAN: Elevator Algorithm. Lesekopf bewegt sich vom einen zum anderen Ende der Platte und zurück. C-SCAN: Wie SCAN, aber statt Umkehren zurückspringen gleichmässigere Wartezeit. C-LOOK: Wie C-SCAN. Lesekopf geht aber nur soweit raus, wie Anfragen vorhanden sind, springt dass zu innerster Anfrage. SSTF und C-LOOK oft verwendet. SCAN und C-SCAN für Systeme mit grossen Lasten Beispiel: Berechnung der Zugriffszeiten 500 GB HDD, 7200 RPM. Mittlere Zeit um Lesekopf über beliebiger Spur zu platzieren: 9.2 ms. Sektorgrösse 512 Bytes und eine Spur besteht aus 1024 Sektoren. Durchschnittliche Zeit um Sektor zu lesen: Wie lange dauert es mindestens um Sektorzu lesen? RAID: Level Erklärung Bild RAID 0 Fehler-Toleranz: Platz-Effizienz: Block-level striping without parity or mirroring RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID 6 DATEISYSTEME s Mirroring without parity or striping Platz-Effizienz: ( ) Lese- Geschw.: variabel Schreib-Geschw.: variabel Bit-level striping with dedicated Hamming-code parity. Byte-level striping with dedicated parity. Lese-Geschw.: -fach Block-level striping with dedicated parity. Block-level striping with distributed parity. s Block-level striping with double distributed parity. Namensraumtypen: Hierarchische Namensraum: Verzeichnisbaum mit Ordner als Knoten, gleiche Dateinamen möglich (untersch. Verzeichnis) Flacher Namensraum: Alle Dateien auf einer Ebene LINKS Hardlinks: können über mehrere Hierarchien verlinken Original nicht von Link unterscheidbar nicht über Partitionsgrenzen möglich Hardlink-Counter im Inode wird für das Löschen einer Datei benötigt (löschen erst löschen wenn alle hardlink gelöscht) Softlinks ( = symbolic link): Selbst ein File. Verweis auf Pfad der Datei/des Verzeichnis (bei neueren Implementierungen nur eine Inode ohne Block) relative Pfadangaben möglich Links bleiben nach Löschen der Originaldatei vorhanden Pfad wird direkt im Directory gespeichert über Partitionsgrenzen hinweg möglich Ziel muss nicht existieren Link nicht im Inode des Ziels vermerkt DATEIEIGENSCHAFTEN Dateiattribute: Name, Typ, Dateilänge, timestamp (erzeugung, änderung,...), Addtribute (hidden, system, archive), Ort, Inode Nummer Sicherheitsattribute: Erzeuger, Besitzer, Benutzer, entsprechende Rechte 1 Entry-Type: first letter of first column d: directory, b: block special file, c: character special file, l: symbolic link, p: FIFO, s: socket, -: regular file 2,3,4 Permssions: three triplets (rwx) for each permission grp Permission groups: 2: u: owner, 3: g: group, 4: o: other (alle) Access rights: (file / directory) r ( 4): read file / view directory contents (read file list) w (2): write file / create and delete files in directory x (1): execute file / search files in directory o the x will be an s, if setuid and setgid is also set setgid/setuid: set user id, set group id upon execution.das Programm wird mit den Rechten der Gruppe / des owners ausgeführt sticky-bit bei files: Programm nach Beenden im RAM belassen. sticky-bit bei directories: Files in diesem directory (das z.b. rwx für alle hat) können nur vom owner gelöscht/renamed werden. 5 Number of Links: 2te Spalte zeigt die Anzahl Links auf das file. 6,7 Owner/Group: 3te & 4te Spalte zeigen user bzw. group 8 Filesize: 6te Spalte, Dateigrösse in Bytes 9 Timestamp: 5te Spalte atime (ls u) access time: updated on read access file close mtime (ls) modify time: updated on write access file close ctime (ls c) creation/change time: updated on inode modification (change of ownership, size, permission, ) 10 File name: 7te Spalte, Dateiname

5 INODE / FILE C ONTROL BLOCK File Descriptors: Nummer der offenen Datei, FDs sind pro Programm fd = 0: stdin, fd = 1: stdout, fd = 2: stderr Zugriff auf offene Dokumente: zentraler Index: zentrale indexbezogene Speicherzuweisung, zentraler Block von Zeigern in einer Liste: Eine Datei kann mehrfach geöffnet werden. Mehrere File Descriptoren Systemweite open-file table enthält pro Eintrag einen FCB Inode EXT2: Zentrale Tabelle pro Datei: Inode (Index-Knoten) Verwaltungsdaten (Referenzen, mount()-tabelle, Zeiger für free-list), Adressen von Datenblöcken, Zeiger auf weitere Verzeichnis = File = Tabelle mit Einträgen (Namen + Inode-Nr) mit Annahme Blockgrösse 1 KiB, 32-bit Adressen: sssssssssssss VERZEICHNISSE & PART ITIONEN Bootsektor einer FAT-formatierten Diskette: Sektorgrösse, Clustergrösse, Anz. FAT Kopien, Anz. Sektoren, Anz. Sektoren/Spur, max. Anz. Verz. pro Wurzelverzeichnis,... FATx: balbla [durch bild aus vorbesprechung serie 5 ersetzen] Max. Anz.Einträge in block table wird beim erstellen des FS def. Genau 1 file pro Block u.u. grosse Verluste bei kl. Dateien. [Bild Partitionsstruktur ext2 (vorbespr.)] IMPLEMENTIERUNG DES DATEISYSTEMS DATEIEN Grundprinzipien: Speicherplatzaufteilung in Blöcke Verwaltung frei/belegt Struktur von Files Zusammengehörigkeit von Blöcken Struktur von Directories: Zentrale Speicherung der Dirs, Verzeichnisse als spezielle Files Format der Einträge Struktur von Disks & Paritionen Dateiimplementierung: zusammenhängend: schnell, schwer modifizierbar linked-list von Blöcken: - random access ineffizienz, nur sequentiell möglich + Rekonstruktion möglich bei Anker-Löschung double-linked-list: auch zurückspulen möglich Dateityp-Erkennung: Dateinamenendung (.docx,...) (windows) Es gibt noch eine Möglichkeit magic number : erkennen an ersten paar Bytes der Daten FAT-DATEISYSTEM balbla VIRTUAL FILE SYSTEM (VFS) Ermöglicht gleichzeitige Verwendung mehrerer verschiedener Dateisysteme. Prinzip: Einhängen eines anderen dateisystems durch mounten auf einen mount-point (= Verzeichnis), überdeckt ursprünglichen Verzeichnisinhalt. Problem: Inode-Nummern, welche jeweils für ein einzelnes Dateisystem eindeutig sind, verlieren ihre Eindeutigkeit. Hardlinks in ein anderes Dateisys. funktionieren nicht richtig Lösung: Das VFS definiert eine neue ID. Deshalb werden die Hardlinks auf Dateien im eigenen Dateisystem eingeschränkt (da diese auf Inode-Nummern zeigen). JOURNALING Jeder Schreibvorgang wird VOR dem eigentlichen Schreibvorgang in einem Journal dokumentiert, um nach einem Absturz die Dateisystemkonsistenz schnell überprüfen zu können. Es könnte z.b. zu einem Absturz während eines Löschvorgangs kommen, die wie folgt abläuft: Directory-Eintrag löschen, Datenblöcke in die Liste der freien Blöcke aufnehmen, Inode löschen. (Absturz nach erstem Schritt: Datenblöcke und Inode werden zu Leichen ).

6 COMPUTERNETZWERKE Begriffe: Server: Anbieter von Dienstleistungen, Besitzer der gesamten Intelligenz und deshalb einfache zentrale Verwaltung Client: Benutzer der Deinste eines Servers DNS (Domain Name System): Übersetzt Namen in Adressen mit Hilfe eines hierarchischen Namensschemas (.ch ethz ee people IP) Peer-to-Peer: Jeder Computer ist mit jedem anderen verbunden und alle sind gleichberechtigt, können Dienste anbieten oder in Anspruch nehmen. Ausfallsicher. Netzwerkarten: o Punkt-zu-Punkt: Ein Link verbindet zwei aktive Komponenten o Mehrfachzugriff: Ein Link verbindet mehrere aktive Komponenten untereinander Verbindungsloser Dienst: z.b. IP, keine DIREKTE Verbindung nötig Verbindungsorientierter Dienst: z.b. Telefonie, über direkte Verbindung Multiplexingverfahren: Ziel: Gemeinsame Verbindungen auf einem Link: Frequenzmultiplexing: Unterteilung in kleine Frequenzräume Zeitmultiplexing: Mehrere Zeitscheiben (Handy) Raummultiplex: Verbindungen in unterschiedlichen Regionen Codemultiplex: Codes zur Unterscheidung der versch. Verb. Vermittlungstechniken: Leitungsvermittlung: Die Daten werden von zwei Endknoten über eine direkte Verbindung ausgetauscht Paketvermittlung: Die Daten werden von allen Endknoten gemeinsam übermittelt und bei jedem Zwischenknoten wird eine Entscheidung über die Weiterleitung getroffen. LEITUNGSCODIERUNG Binäre Leitungscodes: Im einfachsten Fall wird den logischen Zuständen 0 und 1 ein Pegel auf der physikalischen Leitung zugeordnet. Beim seriellen RS-232-Protokoll entspricht z.b. eine neg. Spannung einer logischen 1, eine pos. Spannung einer logischen 0. Werden jetzt lauter 1 übertragen, tut sich auf der Leitung nicht. Dadurch können bei asynchronem Takt nur wenige (5 bis 8) Bits in einem Block übertragen werden, die mit einer Startsequenz gekennzeichnet werden, oder es ist eine zusätzliche Taktleitung zur Synchronisation nötig. Serielle Übertragung (RS-232): Manchesterkodierung: Dies wird durch die Manchesterkodierung geändert: Hie entspricht eine 0-1-Folge einer logischen 0 (steigende Flanke), eine 1-0-Folge (fallende Flanke) einer logischen 1. Manchestercode: Hierdurch wird erreicht, dass: 1. stets Pegelwechsel zur Taktrückgewinnung vorhanden 2. Gleichspannungsanteil im Mittel gleich null Es verdoppelt sich allerdings die erforderliche Datenrate (die Schrittgeschwindigkeit wird halbiert). Die Leitungscodes sollten bei elektrischer Übertragung im Mittel gleichspannungsfrei sein, weil eine Übertragung von Gleichspannung über lange Leitungen nicht möglich ist. Ausserdem sind im Übertragungspfad häufig Transformatoren als Potentialtrenner eingefügt. Bei längeren Übertragungsstrecken werden zudem Regenerationsverstärker bzw. Repeater eingefügt. Ist das Nachrichtensignal gleichspannungsfrei, so können über dasselbe Koaxkabel diese Verstärker mit Gleichstrom ferngespeist werden. Der Manchestercodeleistet die Gleichspannungsbeseitigung automatisch, da sowohl 01 als auch 10 gleichspannungsfrei sind Differentieller Manchestercode: Beim differentiellen Manchestercode steht ein Polaritätswechsel am Taktanfang für eine logische 0 (zwei Flankenwechsel pro Bit), bei einer logischen 1 erfolgt kein Polaritätswechsel am Taktanfang (1 Flankenwechsel/Bit). HDLC (HIGH LEVEL DAT A LINK CONTROL) Zeichenorientiertere Rahmenbildung für Bitfolgen. DLE: Data Link Escape. Nach diesem Zeichen folgt ein Steuerzeichen. Falls in normalem Text ein DLE-STX o.ä. vorkommt, wird ein zweites DLE vornedran gestellt, um die Sequenz zu escapen (character stuffing) STX: Start of Text ETX: End of Text Bei HDLC bestehen die Rahmen z.b. aus Beispiel: Ein Sniffer hat den folgenden HDLC encodierten Bitstrom aufgefangen Rekonstruieren Sie die übertragenen Daten Mit welchem Verfahren werden in HDLC Datengrenzen übermittelt. Framing (Rahmenbildung) Mittels welchem Verfahren kann eine Verwechslung von Datengrenzen und Daten ausgeschlossen werden. Bit Stuffing (zb. eine 0 einfügen, wenn eine 1 den rahmen vervollständigen würde) BILD OSI-LAYER MODELL NETZWERKPROTOKOLLE Sicherungsprotokoll-Übersicht: Sende- Empfangspuffer puffer IRQ mit NAK Selective CRQ Go-Back CRQ Folgenummer Timer Ja Ja Ja Netzzugangsschicht 1 & 2: Ethernet CSMA/CD: Netzwerkstandard IEEE WLAN: Netzwerkstandard IEEE PPP: Point-to-Point Protokoll RFC 1661 PPPoE: Point-to-Point over Ethernet Token Bus: Netzwerkstandard IEEE Token Ring: Netzwerkstandard IEEE FDDI: Fiber Distributed Data Interface Vermittlungsschicht (Internetschicht) 3: IP: Internet Protokoll. Datenpaket-Übertragung (verbindungslos) ICMP: Internet Control Message Protokoll. Kontrollnachrichten (z.b. fehlermeldungen), Teil jeder IP- Implementierung IGMP: Internet Group Management Protocol. Dient zur Organisation von Multicast-Gruppen. Integraler Bestandteil von IP auf allen Hosts, die den Empfang von IP-Multicast unterstützen. OSPF: Open Shortest Path First. Informationsaustausch zwischen Routern (Linkzustand) via IP. BGP: Border Gateway Protocol. Informationsaustausch zwischen autonomen Systemen im Internet (Pfadvektor) via TCP ARP: Address Resolution Protocol. Adressumsetzung zwischen IP- und Geräte-Adressen. RARP: Reverse Address Resolution Protocol. Dient der Zuordnung IP-Adressen zu MAC-Adressen (veraltet ersetzt durch BOOTP) RIP: Routing Information Protocol. Informationsaustausch zwischen Routern (Distanzvektor) via UDP Transportschicht 4: TCP: Transmission Control Protocol. Übertragung von Datenströmen (verbindungsorientiert, zuverlässig). UDP: User Datagram Protocol. Übertragung von Datenpaketen (verbindungslos, unzuverlässig, geringer Overhead) SCTP: Stream Control Transmission Protocol. Transportprotokoll Anwendungsschicht 5 7: HTTP: Hypertext Transfer Protocol (www). HTTPS: Hypertext Transfer Protocol Secure. FTP: File Transfer Protocol SMTP: Simple Mail Transfer Protocol. Mailversand POP3: Post Office Protocol v.3. Mailabruf Telnet: unverschlüsseltes Login auf entfernten Rechnern (remote terminal) DNS: Domain Name Service. Umsetzung von Domainnamen zu IP-Adressen. SNMP: Simple Network Management Protocol. Verwaltung von Geräten im Netzwerk. SSH: Secure Shell. Verschlüsseltes remote terminal. ANDERES File Access mit Linux: #include <stdio.h>, #include <fcntl.h> /* */ char buffer[1024]; fd = open( file.txt,o_rdonly); //-1 on failure numbytes_read = read(fd, &buffer, buffer_length); //-1 on fail Speicher-Kenndaten: TODO Todo: Stack frame Aufbau (2.1 S. 25) graphik network layers VFS Bild aus Besprechung Prüfung: - open book - nichts elektronisches (ausser TR Batterien!) - 3 Stunden, schriftl., 3 Aufg. TIK I und 3 Aufg. TIK II = 6 Aufg. Typische Aufgaben: - Grösse von file systemen berechnen - Hard disk zeiten berechnen ist Standardaufgabe o versch. Scheduling algos kennen!

Internet - Grundzüge der Funktionsweise. Kira Duwe

Internet - Grundzüge der Funktionsweise. Kira Duwe Internet - Grundzüge der Funktionsweise Kira Duwe Gliederung Historische Entwicklung Funktionsweise: -Anwendungen -Rechnernetze -Netzwerkschichten -Datenkapselung -RFC -Verschiedene Protokolle (Ethernet,

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

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

Technische Informa/k II

Technische Informa/k II Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

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

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

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

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

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1 Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1 E 3 EXT2 Dateisystem Lernziele Aufbau des ext2-dateisystems kennenlernen Verwaltungsstrukturen auf dem Datenträger analysieren Hard- und Softlinks Übungsumgebung

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

6.2 FAT32 Dateisystem

6.2 FAT32 Dateisystem 6.2 FAT32 Dateisystem Dateisystem für Windows 98 einige Unterschiede zum Linux-Dateisystem EXT2: keine Benutzeridentifikation für Dateien und Verzeichnisse! Partitionen werden durch Laufwerke repräsentiert,

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

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks

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

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11 Vorwort.................................................... 5 Vorwort zur deutschen Übersetzung........................... 11 1 Einführung................................................ 23 1.1 Einführung................................................

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 3: Input / Output Hinweis: Weitere Aufgaben zu diesem Thema finden sie in den Begleitbüchern zur Vorlesung. Aufgabe

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht TCP/IP Datenübertragungsschicht Netzwerkschicht Anwendungsschicht 1 Schichtenmodell Schichtenmodell der Internet- Protokollsuite Ziel: Kommunikation unterschiedlicher Rechner mit verschiedenen Betriebssystemen

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Halt! Wo bin ich überhaupt?... C:\

Halt! Wo bin ich überhaupt?... C:\ Halt! Wo bin ich überhaupt?... C:\ FAT32 und Co Dateisysteme Datenträger FAT Forensik Bootreihenfolge Einschalten BIOS -> Power-On Self Test (POST) BIOS -> Master Boot Record (MBR) Bootsektor Betriebssystem

Mehr

8. Swapping und Virtueller Speicher

8. Swapping und Virtueller Speicher 8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)

Mehr

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1 Telekommunikationsnetze 2 Breitband ISDN Lokale Netze Internet Martin Werner WS 2009/10 Martin Werner, November 09 1 Breitband-ISDN Ziele Flexibler Netzzugang Dynamische Bitratenzuteilung Effiziente Vermittlung

Mehr

KN 20.04.2015. Das Internet

KN 20.04.2015. Das Internet Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste

Mehr

Linux-Kernel- Programmierung

Linux-Kernel- Programmierung Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 1.0 ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Ein-/Ausgabe und Disk Scheduling. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Ein-/Ausgabe und Disk Scheduling. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Ein-/Ausgabe und Disk Scheduling Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Was interessiert uns? Charakteristika von I/O-Geräten Anforderungen an das I/O-System Realisierung

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

AFS / OpenAFS. Bastian Steinert. Robert Schuppenies. Präsentiert von. Und

AFS / OpenAFS. Bastian Steinert. Robert Schuppenies. Präsentiert von. Und AFS / OpenAFS Präsentiert von Bastian Steinert Und obert Schuppenies Agenda AFS Verteilte Dateisysteme, allg. Aufbau Sicherheit und Zugriffsrechte Installation Demo Vergleich zu anderen DFs Diskussion

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.

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

Internet Routing am 14. 11. 2006 mit Lösungen

Internet Routing am 14. 11. 2006 mit Lösungen Wissenstandsprüfung zur Vorlesung Internet Routing am 14. 11. 2006 mit Lösungen Beachten Sie bitte folgende Hinweise! Dieser Test ist freiwillig und geht in keiner Weise in die Prüfungsnote ein!!! Dieser

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

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 2 Virtual Storage el0100 copyright

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

IO Performance in virtualisierten Umgebungen

IO Performance in virtualisierten Umgebungen IO Performance in virtualisierten Umgebungen Bruno Harsch El. Ing. HTL/FH Managing Partner Tel +41 52 366 39 01 bruno.harsch@idh.ch www.idh.ch IDH GmbH Lauchefeld 31 CH-9548 Matzingen 2 Die Firma IDH wurde

Mehr

IP Adressen & Subnetzmasken

IP Adressen & Subnetzmasken IP Adressen & Subnetzmasken Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

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

2. Prozesse und Threads. Techn.Inf. II Zusammenfassung. 1. Betriebssysteme. 2.3 Prozess-Scheduling. 2.2 Prozesse und deren Verwaltung

2. Prozesse und Threads. Techn.Inf. II Zusammenfassung. 1. Betriebssysteme. 2.3 Prozess-Scheduling. 2.2 Prozesse und deren Verwaltung Techn.Inf. II Zusammenfassung Andreas Biri, D-ITET 30.07.14 1. Betriebssysteme OS: Mittler zw. User & Hardware, verwaltet Ressourcen, abstrahiert Hardware & bietet Umgebung für Programme Dateisystem -

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag.

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag. Einführung in die Betriebssysteme Fallstudien zu Dateisystemen Seite 1 Unix-Dateisystem Der Adreßraum einer Datei wird in gleichlange Blöcke aufgeteilt. Ein Block hat die Länge von 1 oder mehreren Sektoren

Mehr

Neues in Hyper-V Version 2

Neues in Hyper-V Version 2 Michael Korp Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/mkorp Neues in Hyper-V Version 2 - Virtualisieren auf die moderne Art - Windows Server 2008 R2 Hyper-V Robust Basis:

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

1. Prozesse & Threads (10 Punkte)

1. Prozesse & Threads (10 Punkte) Fachbereich Informatik/Mathematik Seite 1/9 1. Prozesse & Threads (10 Punkte) a) Erklären Sie den Unterschied zwischen Prozessen und Threads. [4 P.] Der wesentliche Unterschied ist, dass Prozesse über

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Virtualisierung mit iscsi und NFS

Virtualisierung mit iscsi und NFS Virtualisierung mit iscsi und NFS Systems 2008 Dennis Zimmer, CTO icomasoft ag dzimmer@icomasoft.com 1 2 3 Technikgrundlagen Netzwerkaufbau Virtualisierung mit IP basiertem Storage iscsi Kommunikation

Mehr

Dokumentation für den IPCop-VPN Zugang mit Mac OS X

Dokumentation für den IPCop-VPN Zugang mit Mac OS X Dokumentation für den IPCop-VPN Zugang mit Mac OS X Mirco Schmidt 7. Januar 2006 Inhaltsverzeichnis 1. Mac OS X als Roadwarrior 5 1.1. Vorraussetzungen................................ 5 1.2. Konfiguration

Mehr

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Betriebssystem-basierte Virtualisierung

Betriebssystem-basierte Virtualisierung Betriebssystem-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Betriebssystem-basierte Virtualisierung

Mehr

Einleitung. Storage-Monitoring mit Nagios

Einleitung. Storage-Monitoring mit Nagios Einleitung Storage-Monitoring mit Nagios Kapitel 01: Einleitung Überblick... 01.01 NetApp - Network Appliance... 01.03 Data ONTAP & WAFL... 01.04 Interner Aufbau... 01.05 Überblick Storage-Monitoring mit

Mehr

Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten

Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhaltsüberblick der Vorlesung

Mehr

Isilon Solutions + OneFS

Isilon Solutions + OneFS Isilon Solutions + OneFS Anne-Victoria Meyer Universität Hamburg Proseminar»Ein-/Ausgabe Stand der Wissenschaft«, 2013 Anne-Victoria Meyer Isilon Solutions + OneFS 1 / 25 Inhalt 1. Einleitung 2. Hardware

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

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

Mehr

BACKUP Datensicherung unter Linux

BACKUP Datensicherung unter Linux BACKUP Datensicherung unter Linux Von Anwendern Für Anwender: Datensicherung in Theorie und Praxis! Teil 4: Datenrettung Eine Vortragsreihe der Linux User Group Ingolstadt e.v. (LUG IN) in 4 Teilen Die

Mehr

Red Hat Cluster Suite

Red Hat Cluster Suite Red Hat Cluster Suite Building high-available Applications Thomas Grazer Linuxtage 2008 Outline 1 Clusterarten 2 3 Architektur Konfiguration 4 Clusterarten Was ist eigentlich ein Cluster? Wozu braucht

Mehr

2. Darstellung von Information im Computer

2. Darstellung von Information im Computer Informationsbestände analysieren Darstellung von Information im Computer 2. Darstellung von Information im Computer Übung 2.1. Formatierung eines Datenträgers Ziel Sie haben ein Idee, wie in einem Computersystem

Mehr

BINÄRES ZAHLENSYSTEM. Bits. Bytes. Dezimalsystem. Positions oder Stellenwertsysteme

BINÄRES ZAHLENSYSTEM. Bits. Bytes. Dezimalsystem. Positions oder Stellenwertsysteme 26 27 Bits Einschub BINÄRES ZAHLENSYSTEM kleinste mögliche Informationseinheit Wortschöpfung aus binary und digit zwei Zustände ja / nein wahr / falsch hell / dunkel Männlein / Weiblein links / rechts

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 6 Rechnernetze und Datenübertragung [WEB6] Rolf Dornberger 1 06-11-07 6 Rechnernetze und Datenübertragung Aufgaben: 1. Begriffe 2. IP-Adressen 3. Rechnernetze und Datenübertragung

Mehr

UNIX-Rechnernetze in Theorie und Praxis

UNIX-Rechnernetze in Theorie und Praxis Mathias Hein, Thomas Weihrich UNIX-Rechnernetze in Theorie und Praxis An International Thomson Publishing Company Bonn Albany Belmont Boston Cincinnati Detroit Johannesburg London Madrid Melbourne Mexico

Mehr

7 TCP/IP-Dienste konfigurieren

7 TCP/IP-Dienste konfigurieren 7 TCP/IP-Dienste konfigurieren In diesem Kapitel lernen Sie die Begriffe Ports,Sockets und Connections kennen (LPI 1: 109.1). den Zusammenhang der Ports von TCP/IP-Diensten mit der Datei /etc/services

Mehr

Wie organisiert ihr Euer menschliches «Netzwerk» für folgende Aufgaben? an alle an ein bestimmtes an ein bestimmtes an alle an ein bestimmtes

Wie organisiert ihr Euer menschliches «Netzwerk» für folgende Aufgaben? an alle an ein bestimmtes an ein bestimmtes an alle an ein bestimmtes Computernetzwerke Praxis - Welche Geräte braucht man für ein Computernetzwerk und wie funktionieren sie? - Protokolle? - Wie baue/organisiere ich ein eigenes Netzwerk? - Hacking und rechtliche Aspekte.

Mehr

IO Performance - Planung Messung, Optimierung. Ulrich Gräf Principal Sales Consultant Oracle Deutschland B.V. und Co. KG

IO Performance - Planung Messung, Optimierung. Ulrich Gräf Principal Sales Consultant Oracle Deutschland B.V. und Co. KG IO Performance - Planung Messung, Optimierung Ulrich Gräf Principal Sales Consultant Oracle Deutschland B.V. und Co. KG The following is intended to outline our general product direction. It is intended

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Andrea Held. Virtualisierung im Oracle-Umfeld Virtualisierungslayer Voraussetzungen Schnittstellen Workload Management Grid Control

Andrea Held. Virtualisierung im Oracle-Umfeld Virtualisierungslayer Voraussetzungen Schnittstellen Workload Management Grid Control Andrea Held Virtualisierung im Oracle-Umfeld Virtualisierungslayer Voraussetzungen Schnittstellen Workload Management Grid Control 1 Einzelne Server ausgelegt auf Lastspitzen Niedrige durchschnittliche

Mehr

Telekommunikationsnetze 2

Telekommunikationsnetze 2 Telekommunikationsnetze 2 Breitband-ISDN Lokale Netze Internet WS 2008/09 Martin Werner martin werner, January 09 1 Breitband-ISDN Ziele Flexibler Netzzugang Dynamische Bitratenzuteilung Effiziente Vermittlung

Mehr

Fallbeispiel: UNIX/Linux

Fallbeispiel: UNIX/Linux Fallbeispiel: UNIX/Linux Referat PS Moderne Betriebssysteme Christian Bayer, 84543 Gliederung 1. Geschichte 2. Designkonzepte/Überblick 3. Prozesse in UNIX 4. Speicherverwaltung 5. Ein-/Ausgabe 6. Dateisystem(e)

Mehr

Clustering und Failover mit Linux

Clustering und Failover mit Linux Grazer Linux-Tage 2003 25. April Markus Oswald Worum geht es? Load-Balanced Cluster Failover Cluster Shared Storage Computational Cluster Beowulf Distributed Computing Worum es nicht

Mehr

Speichermanagement auf Basis von Festplatten und optischer Jukebox

Speichermanagement auf Basis von Festplatten und optischer Jukebox Speichermanagement auf Basis von Festplatten und optischer Jukebox Horst Schellong DISC GmbH hschellong@disc-gmbh.com Company Profile Hersteller von optischen Libraries und Speichersystemen Gegründet 1994

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 6: 14.11.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-, Unterstützungs-,

Mehr

Router 1 Router 2 Router 3

Router 1 Router 2 Router 3 Network Layer Netz 1 Netz 2 Netz 3 Router 1 Router 2 Router 3 Router 1 Router 2 Router 3 Netz 1, Router 1, 1 Netz 1, Router 1, 2 Netz 1, Router 2, 3 Netz 2, Router 2, 2 Netz 2, Router 2, 1 Netz 2, Router

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B. Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,

Mehr

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1 Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. a) sort < MeineDatei.txt > MeineDateiSort.txt b) find / -type d \( -name man

Mehr

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Betriebssysteme eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Betriebssystem Was ist das? Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS

Mehr

Network Address Translation (NAT) Prof. B. Plattner

Network Address Translation (NAT) Prof. B. Plattner Network Address Translation (NAT) Prof. B. Plattner Warum eine Übersetzung von Adressen? Adressknappheit im Internet Lösungen langfristig: IPv6 mit 128-bit Adressen einsetzen kurzfristig (und implementiert):

Mehr