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

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

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

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

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

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

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

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

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

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

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

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

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

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

Wiederholung: Realisierung von Dateien

Wiederholung: Realisierung von Dateien Wiederholung: Realisierung von Dateien Zusammenhängende Belegung Datei A Datei C Datei E Datei G Datei B Datei D Datei F Belegung durch verkettete Listen (z.b. FAT) Dateiblock 0 Dateiblock 1 Dateiblock

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 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

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

STORAGE. Martin Schmidt Berufsschule Obernburg

STORAGE. Martin Schmidt Berufsschule Obernburg STORAGE Martin Schmidt Berufsschule Obernburg Storage Begriffserklärung Storage ist die Bezeichnung für eine große Menge zusammenhängenden Speicherplatz in einem Netzwerk. Storage heißen auch die große

Mehr

Internetprotokoll TCP / IP

Internetprotokoll TCP / IP Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

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

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

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

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

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

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

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1 MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in

Mehr

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei Dateiverwaltung Dateiverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Dateien weitere zentrale Aufgabe des Betriebssystems: "Verbergen" der Details der Struktur von und der Zugriffe auf Sekundärspeicher-Medien

Mehr

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

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

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

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

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

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

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

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

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

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

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

4.3 Hintergrundspeicher

4.3 Hintergrundspeicher 4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower

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

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

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Jörg R. Mühlbacher. Betriebssysteme. Grundlagen. Universitätsverlag Rudolf Trauner

Jörg R. Mühlbacher. Betriebssysteme. Grundlagen. Universitätsverlag Rudolf Trauner Jörg R. Mühlbacher Betriebssysteme Grundlagen Universitätsverlag Rudolf Trauner INHALTSVERZEICHNIS Vorwort. 3 Inhaltsverzeichnis 4 A Betriebssysteme erste Grundlagen 9 A.l Was ist ein Betriebssystem? 9

Mehr

Betriebssystemschichten (11.03.2011)

Betriebssystemschichten (11.03.2011) Proseminar Speicher- und Dateisysteme (11.03.2011) Bernd Ihnen Übersicht 2/20 Einleitung Betriebssysteme/ Übersicht Mikrokernel Monolithischer Kernel Vergleich der Kernel Fallbeispiel Linux Kernelaufbau

Mehr

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

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

Mehr

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

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

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

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

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

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

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

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

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Network Address Translation (NAT) Warum eine Übersetzung von Adressen?

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

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

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

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

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL5 Folie 1 Dr. Jens Döbler Internet Grundlagen Zusammenschluß

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

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

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

Mehr

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

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

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

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

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

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

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

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

Ü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

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

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

Betriebssysteme KU - Bewertung A2 - WS 15/16

Betriebssysteme KU - Bewertung A2 - WS 15/16 Betriebssysteme KU - Bewertung A2 - WS 15/16 TEAM:... Mögliche Punkte: 50 + Bonus Allgemein Design Design / PoC Implementation... Sonstiges/Abzüge +X Sonstiges / : Bewertung der einzelnen Gruppenmitglieder

Mehr