1 Glossary for the new course System Architecture The following glossary documents the main notions (English, German) used within the lecture. There is also an alphabetically ordered glossary in Stallings’ textbook on page 743 ff. We will order these notions according to the related lectures: Overview: Application Scheduler File System Device Driver Dispatcher Kernel µ-Kernel Performance Scalability Versatility Security Homogeneity Mobility Correctness Virtual Machine Client/Server Model File Server Print Server Single/Multiprocessor System Single/Multiprocessing Single/Multi Address Spaces Single/Multiprogramming Single/Multi User System Anwendung Ablaufplaner Dateisystem Gerätetreiber Umschalter Betriebssystemkern Mikrokern Leistung Skalierbarkeit Spezialisierung Sicherheit Homogenität Mobilität Korrektheit Virtuelle Maschine Auftraggeber/Dienstgebermodell Dateidienst Druckdienst Ein-/Mehrprozessorsystem Ein-/Mehrprozeßbetrieb Ein/Mehradreßräume Ein/Mehrprogrammbetrieb Ein/Mehrbenutzersystem Hardware Overview Hardware Architecture Local System Cache Disk Controller Printer Main Memory System Bus Memory Hierarchy Locality Spatial Locality Locality in Time Instruction Set Registers User/Kernel Mode Instruction Pointer Hardwarearchitektur Lokales System Pufferspeicher Platte Steuereinheit Drucker Hauptspeicher Systembus Speicherhierarchie Lokalität Räumliche Lokalität Zeitliche Lokalität Befehlssatz Register Nutzer/Kernmodus Befehlszähler 2 Exception Interrupt Interrupt Handler Programmed I/O Interrupt Driven I/O DMA Memory Pinning Aussnahme Unterbrechung Unterbrechungsbehandlung Programmierte Ein-/Ausgabe Unterbrechungsgesteuerte E/A E/A via autonome Steuereinheiten Speicherfixierung Threads Thread Address Space Task Thread Control Deadlock Starvation Data Inconsistency Race Conditions Thread Switch Virtual Processor Multiplexing TCB (Thread control Block) TID (Thread Identity) Stack Pointer (SP) Status Flags Concurrency Parallelism Dispatcher Ablauffähige Aktivität Adreßraum Aufgabe (oft = Prozeß) Steuerung von Threads Verklemmung Verhungern Dateninkonsistenz Wettlaufbedingungen Threadwechsel Virtueller Prozessor Verzahnte Ausführung TLB (Threadleitblock) TID (Thread Identität) Stapelzeiger Zustandsbits Nebenläufigkeit Parallelität Umschalter Thread Switch Dispatching Reasons Cooperative Scheduling Yield User Level Threads User Stack Kernel Stack Thread Termination Thread Initialization Idle Problem Umschaltgründe Kooperatives Umschalten Freiwilliges Umschalten Threads auf Nutzerebene Nutzerstapl Kernstapel Threadbeendigung Threadinitialisierung Leerlaufproblem Thread States n-State Thread Model Running Runnable = Ready Blocked = Waiting New Exit Standby Swapped = Suspended Modell aus n Threadzuständen Rechnend Rechenbereit Blockiert, Wartend Neu Beendet Vorbereitet, assoziiert Ausgelagert 3 Assign Release Block Deblock Activate Suspend (Deactivate) Terminate Create Zuordnen Abgeben Blockieren Deblockieren Aktivieren Deaktivieren Beenden Erzeugen Concurrent Threads Interrelationship Patterns Concurrency Problems Synchronization Mutual Exclusion Critical Section Serialization Global (Common) Data Producer/Consumer Dining Philosophers Reader/Writer (Un)bounded Buffer Barber Shop Smoker Problem Monkey Rock problem Interaktionsmuster Nebenläufigkeitsprobleme Synchronisstion Wechselseitiger Ausschluß Kritischer Abschnitt Serialisierung Globale (Gemeinsame) Faten Erzeuger/Verbraucher Essende Philosophen Leser/Schreiber (Un)begrenzter Puffer Friseurladen Raucherproblem Affenfelsenproblem Synchronization Signals Flag Counter Precedence Relation Types of Solutions Software Solution Hardware Solution Operating System Solution Signaling Patterns Buffered Signals Semaphore Requirements for Mutual Exclusion Exclusive Access to Critical Section Progress Bounded Waiting Peterson’s Algorithm Bakery Algorithm Disabling/Enabling Interrupts TestAndSet Instruction CompareAndSwap Instruction Signale Signalbit Signalzähler Vorgängerrelation Lösungstypen Reine Softwarelösung auf Applikationsebene Lösung mit Unterstützung spezieller Befehle Betriebssystemunterstützte Lösung Signalisierungsmuster Gepufferte Signale Semaphor Anforderungen an wechelseitigen Auschluß Exclusivität im kritischen Abschnitt Fortschritt in endlicher Zeit Kein unbegrenztes Warten ~ Bäckereialgorithmus Sperren/Entsperren von Interrupts Teste und Setze Befehl Vergleich/Vertausche Befehl 4 Mutual Exclusion: Counting Semaphores Binary Semaphore Conceptual Independence Zählsemaphore Binärsemaphore Konzeptionelle Unabhängigkeit Communication: Shared Memory Gemeinsamer Speicher Message Transfer Botschaften(Nachrichten)transfer Synchronizing Partners Synchronisieren der Partner Trying Versuchsweises Asynchronous Asynchrones Synchronous Synchrones Rendezvous Beidseitig synchrones Protokoll Sender ~ Receiver Empfänger Communication with Timeouts Kommunikation mit Fristablauf Addressing the Communicating Partners Adressierung der Kommunikationspartner (In)direct Addressing (In)direkte Adressierung Channels Kanäle Ports Eingangskorb Anonymous Direct Addressing Anonyme direkte Addressierung Remote Procedure Call Entfernter Prozeduraufruf Mailbox Zentraler gemeinsamer Briefkasten Dangling Messages “Herumhängende” Nachrichten Message Transfer Variants Nachrichtentransportvarianten Register Per Register Value Per Wert Reference Per Reference Mapping Per Einblendung Message Format Nachrichtenformat Deadlocks: Deadlock Livelock Starvation Resource Management Allocate Release Deadlock Conditions Exclusiveness Hold and Wait No Preemption Circular Wait Object Allocation Graph Prevention Avoidance Detection Resolution Unsafe Verklemmung (mindestens 2 Beteiligte) Permanent blockierte Aktivität Verhungern (=Zustand im Livelock) Betriebsmittelverwaltung Belegen Freigeben Verklemmungsbedingungen Exklusivität Nachträgliches Belegen ohne vorige Freigabe Ohne Betriebsmittelverdrängung Zirkulares Warten Objektbelegungsgraph Verhinderung Vermeidung Entdeckung Auflösung Unsicher 5 Transactions: Data Inconsistency Lost Update Problem Commit Abort Transaction Properties Atomicity Consistency Isolation Durability Schedules Serial Schedule Serializability Communtative/Non Conflicting Locking Granularity Two Phase Locking Protocol Strict ~ Conservative ~ Recovery Logging Shadowing Dateninskonsistenz Problem einer verlorengegangenen Operation Bestätigen Abbrechen Transaktionseigenschaften Atomizität Konsistenz Isolierung Dauerhaftigkeit Ablaufpläne Serieller Ablaufplan Serialisierbarkeit Kommutative/Nicht im Konflikt stehend Sperrgranularität Zweiphasensperrprotokoll Striktes ~ Konservatives ~ Wiederaufsetzen Logverfahren Schattendaten mit Versionsnummern Memory management: Relocation Protection Sharing Logical Address Scope Logical Address Space Physical Address Space Contiguous Address Space Dispersed Address Space Segment (=cont. log. Address Range) Memory Partitions Mapping Variants Fixed Sized Variable Sized Placement Algorithm Fragmentation Allocating Policy Reunification Mechanism Garbage Collection Compaction Boundary Tag System Buddy System Paging (Page) Frame Page Address Translation Programmverschiebung Schutz Gemeinsame Benutzung Logischer Adreßrahmen Logischer Adreßraum (häufig = virt. AR) Physischer Adreßraum Zusammenhängender Adreßraum Gersteuter Adreßraum Segment (=zusammenhängender Adreßbereich) Speicherbereich Abbildungsvarianten Feste Bereichgröße Variable Bereichsgröße Plazierungsalgorithmus Zerstückelung Vergabestrategie Vereinigungsmechanismus Speicherbereinigung Zusammenschieben belegter Blöcke Randkennzeichnungsverfahren Halbierungsverfahren Seitentausch (Seiten) Kachel Seite Adreßumsetzung 6 Virtual Memory I: Page Stealing Advantages of VM Execution Model of VM Swap Device Thrashing Problem Limited VM Working Set Structure of a Page Table Translation Lookaside Buffer Multilevel Page Tables Inverted Page Table “Seitenklau” Vorteile vom Virtuellen Speicher(VS) Ausführugsmodell beim VS Ersatzspeicher “Seitenflattern” bei Überlast Begrenzter VS Arbeitsmenge Seitentabellenstruktur Adreßumsetzungspufferspeicher Mehrebenen Seitentabellen Invertierte Seitentabelle Virtual memory II: Page Size Issue Demand Paging Prepaging Replacement Policy FIFO Least Recently Used(LRU) Second Chance LFU Cleaning Policy Local/Global Replacement Policy Working Set Policy Page Fault Frequency Model Load Control Page Fault Exception Swap In/Out Zuletzt nicht gebraucht Zweitchancenverfahren Am wenisgten gebraucht Ausräumstrategie Lokale/Globale Ersetzungsstrategie Arbeitsmengenverfahren Seitenfehlerfrequenzmodell Lastkontrolle Seitenfehlerausnahmebehandlung Ein-/Ausräumen Scheduling I: Online Scheduling Offline Scheduling Deadlines Turnaround Time Response Time Throughput CPU Utilization Short-Term Scheduling Priorities Preemption FCFS (FirstComeFirtsServed) Round Robin Time Slice Priority Inversion SJN (Shortest job Next) Multilevel Feedback Fair Share Scheduling Ablaufplanung zur Laufzeit Abgesetzte Ablaufplanung Fristen Aufenthaltsdauer Antwortzeit Durchsatz Prozessorauslastung Umschaltstrategie Prioritäten Verdrängung Reihenfolgetreue Umschaltstrategie Zyklische Umschaltstrategie Zeitscheibe Prioritätsumkehr Kürzester Thread Zuerst Mehrebenenumschaltstrategie mit Rückführung Faire Umschaltstrategie mit gleichen Anteilen Seitengrößenbestimmung Seitentausch auf Anforderung Seitentausch im voraus Ersetzungsstrategie 7 Scheduling II: Symmetric Multiprocessing Asymmetric Multiprocessing Interrupt Scheduling Independent Parallelism Dedicated Scheduling Dynamic Scheduling Gang Scheduling Realtime Scheduling MPS ohne ausgezeichnete Prozessoren MPS master/slave Prozessoren Einplanung von Interrupts Unabhängige parallele Aktivitäten Festgelegtes Scheduling Wahlfreies Scheduling Taskspezifisches Scheduling Echzeitablaufplanung I/O Management and Disk Scheduling: Cycle Stealing Of DMAs DMAs stehlen dem Prozessor Bus-Zyklen I/O Buffering E/A Pufferkonzept Single/multiple Buffer Einfach/Mehrfach Puffer Access time Zugriffszeit Seek Time Suchzeit (des Kopfes über der Platteoberfläche) Rotational Time Rotationsverzögerungszeit Transfer Time Transferzeit (zwischen Platte und DMA-Puffer) Disk Scheduling Zugriffsplanung auf die Platte RAID Redundanted Feld von mehreren Platten Disk Cache Pufferspeicher für Plattenblöcke Files and Overview on File System: File System Architecture Device Driver Access Methodes File Types Plain Files Strutured Files File Operations (e.g. create, read) File Attributes Record File Organization Method Sequential Direct or Hashed Extensible Hashing Index Sequential Dateisystemarchitektur Gerätetreiber Zugriffsmethoden Dateitypen Unstrukturierte Bytefolgen Strukturierte Dateien (u.a. aus Sätzen) Dateioperationen Dateiattribute Satz (Einheit einer srtrukt. Datei) Dateiorganistaionsmethode Sequentiell Direkt Erweiterbares “Hashen” Indexsequentiell File System and Disk Management: Directory Directory Operations Flat Directory Hierarchical Directory Path Names Access Control Preallocation Buffer Management Inodes Hard/Symbolic Links FAT Verzeichnis Verzeichnisoperationen Flaches Verzeichnis Hierarchisches Verzeichnis Pfadnamen Zugriffkontrolle Vorausreservierung Pufferverwaltung (Unix) Dateiköpfe Harte/Symbolische Verweise Dateiverzeichnistabelle 8 Protection and Security I: Integrity Confidentiality/Secrecy Availability Threat Risk Analysis Identification Authentication Types of Threats Interruption Interception Modification Fabrication Logon Procedures Masquerader Misfeasor Clandestine User Auditing Intergität Vertraulichkeit Verfügbarkeit Bedrohung Risikoanalyse Identifizierung Authentikation Bedrohungarten Unterbrechung Einbruch/Abhören Veränderung/Zerstörung Unerlaubtes Datenerzeugen Anmeldeprozeduren Maskierter Eindringling Mißbrauch übender Insider Schleichhandel treibender Insider Zugriffsprotokollierung Protection: Isolation Access Control Matrix Principle of Least Privilege Capabilities Access Control Lists Isolation Zugriffskontrollmatrix Prinzip der geringsten Erlaubnis Zugriffsberechtigungstickets Zugriffskontrollisten Security: Intrusion Detection Malicious Programs Trapdoor Logic Bomb Trojan Horse Bacteria Viruses Worms Trusted System Bell la Padula-Model Security Label Encryption Einbruchsentdeckung Bösartige programme Falltür Logische Bombe trojanischs Pferd Bakterien Viren Würmer Sichere Systeme ~ Sicherheitsetikkete Verschlüsselung Distributed Systems I: Objectives Economics Performance Scalability Reliability Interaction Transparency LAN Networks Static Interconnections Dynamic ~ Zielsetzungen Witschaftlichkeit Leistung Skalierbarkeit Zuverlässigkeit Interaktivität Transparenz Netzwerke von LANs Statische Verbindungsnetzzwerke Dynamische ~ 9 ISO/OSI Model TCP/IP TCP/IP Applications SMTP/FTP/TELNET ~ ~ ~ ~ Distributed Systems II: Client/Server ~ Applications Fat/Thin Clients Distributed File System Caches in a DFS Write-Through Delayed-Write Write-on-Close Stateless/Stateful Server NFS AFS Middleware RPC Cluster Migration Load balance Distributed Global States Clocks in DS Physical Time Logical Ttime Distributed Algorithm Multicast Paradigm ~ ~ ~ Verteiltes Dateisystem Dateisystempuffer in einem VDS Durchschreiben Verzögertes Schreiben Schreiben beim Schließend er Datei Zustandslose/~behaftete Dateidienstgeber ~ ~ ~ ~ ~ ~ Lastausgleich Verteilter Globaler Zustand Uhren in Verteilten Systemen Reale Zeit Logische Zeit Verteilte Algorithmen Mehrfachbotschaft Distributed Systems III: Group Communication Replication Replication and Update Protocols Primary/Backup Quorum Consensus Alsberg and Day Protocol Tnadem NonStop Model Anti Entropy Method Network Partioning Gruppenkommunikation Replikation ~ Primär und Backup-Kopien Qurorenübereinkunft ~ ~ ~ Netzwerkpationierung