Betriebssysteme. Betriebssysteme: Architektur. Einführung: Inhalt. Architektur: UNIX. Einführung: Inhalt. Allgemeine Aufgaben von BS

Ähnliche Dokumente
Rechnernutzung in der Physik. Betriebssysteme

Überlegungen beim Entwurf eines Betriebssystems

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Betriebssysteme Kap A: Grundlagen

Operating System Kernels

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

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

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Übung 1 - Betriebssysteme I

Technische Informatik 1

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

Echtzeit-Multitasking

Vorlesung Betriebssysteme I

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert 20. Juni 2007

Betriebssysteme Kap B: Hardwaremechanismen

Projekt für Systemprogrammierung WS 06/07

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation

Betriebssysteme Vorstellung

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

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

Smartphone Entwicklung mit Android und Java

Das Arbeitsbuch. ÜK Modul 305. Aufgaben des Betriebssystems

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

White Paper. Embedded Treiberframework. Einführung

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

G Einführung in Betriebssysteme

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

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

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

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

Bibliotheks-basierte Virtualisierung

Embedded-Linux-Seminare. Linux als Betriebssystem

Wie groß ist die Page Table?

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

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

1 Windows 2000/XP (3.1, NT, 95, 98)

K. Felten Windows NT Fachhochschule Kiel Historie. Fachbereich Informatik und Elektrotechnik

Speicherverwaltung (Swapping und Paging)

Betriebssystemschichten ( )

DBUS Interprozess-Kommunikation für Embedded-Plattformen

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

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

Geräte Treiber unter Unix/Linux

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester

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

Aufgabe 2 - Erweiterung um PIC und Interrupts

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

XIII. Inhaltsverzeichnis

RTEMS- Echtzeitbetriebssystem

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

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

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

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

Assembler - Einleitung

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS Teil 4/ProtectionI

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Betriebssysteme BS-V SS Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem


HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

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

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Basisinformationstechnologie I

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

VORSTELLUNG DER DIPLOMARBEIT

3. Betriebssystemorganisation

Der Scheduler von Windows Konzepte und Strategien

Linux booten. Jörg Ahrens

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

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Microkernel-Betriebssysteme Mach, L4, Hurd

Tutorium Rechnerorganisation

4D Server v12 64-bit Version BETA VERSION

Installation & Usage. Version 1.0. estickflashtool

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces

3 Schnittstelle zum Betriebssystem 3.5 Multitasking. Schichten und Sichten eines Rechnersystems

Übungen zur Vorlesung. Betriebssysteme

Embedded Linux. Arthur Baran

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Prozesse und Threads. Peter Puschner Institut für Technische Informatik

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Windows CE. Process Control and Robotics. Fabian Garagnon

Kapitel 2: Betriebssysteme

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Bootvorgang des DSM-Systems Systems Plurix

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Einführung in Betriebssysteme

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

Hardware-basierte Virtualisierung

Abstrakte Schnittstelle

Transkript:

Betriebssysteme Prozess Verwaltung: Prozesse Prozess Verwaltung: Threads Prozess Verwaltung: Synchronisation Prozess Verwaltung: Verklemmungen Verwaltung Ein Ausgabe Verwaltung Verwaltung Einführung: Inhalt Betriebssysteme: Architektur unverzichtbar: "" beim Booten in Arbeitsspeicher geladen verbleibt dort während der Nutzung des BS andere Teilprogramme: bei Bedarf in Arbeitsspeicher geladen Unix Kommandos (cp, grep...) (grundlegende Funktionen) Unix Shells (interaktive Steuerung BS, Abarb. von Programmen) Bibliotheken: hochsprachlicher Zugriff auf BS Funktionen "API": application program interface (höhere Fkt.: grafische Oberflächen etc.) Architektur: UNIX Definition und Aufgaben von Betriebssystemen Definition Allgemeine Aufgaben Prozess Modell Multi Process / Multi User BS ressourcen orientierte Aufgaben Unterstützung für BS Aufgaben Betriebssystem Architekturen Monolithische Mikro Modulare monolithische Schichten Modell weitere Merkmale: Multithreading & SMP Nutzer Shell Skripte cp grep sh gcc API (libc.a) C Applikation Einführung: Inhalt Definition und Aufgaben von Betriebssystemen Definition Allgemeine Aufgaben Prozess Modell Multi Process / Multi User BS ressourcen orientierte Aufgaben Unterstützung für BS Aufgaben Betriebssystem Architekturen Monolithische Mikro Modulare monolithische Schichten Modell weitere Merkmale: Multithreading & SMP Allgemeine Aufgaben von BS Abstraktion und Transparenz Schutz abstrakte Sicht auf n, Entlastung von Details Festplatten Zugriff transparente Sicht auf n: konkrete Zuordnung verborgen Änderung der Prozessor Anzahl n Zugriff nur über BS Unabhängigkeit gleicher Prozessor: Maschinencode kompatibel anderer Prozessor: Quellcode kompatibel Betriebssysteme: Definition Definition BS: Menge von Programmen und Bibliotheken (Programm: Befehlssequenz, allein ausführbar) (Bibliothek: Befehlssequenz, in Programmen nutzbar) steuern & überwachen Abarbeitung von Programmen verwalten n: Prozessoren, Speicher, E/A Einheiten Definition Programm: Prozess Modell Sequenz von Prozessor Anweisungen Definition Prozess: Instanz eines Programms, welches von einem BS ausgeführt wird Sequenz befindet sich in Adress Raum Teil des Arbeitsspeichers, von min. bis max. Adresse darf von Programm gelesen / beschrieben werden enthält: Programm, Daten, Stapel (Stack) Zustand des Prozesses: CPU Register Prozess = Menge von Daten; beschreiben, wie weit Abarbeitung des Programms fortgeschritten 1

Prozess Modell Prozess aus Sicht des s: Prozess fungiert als Einheit, zu welcher n zugewiesen werden "Wesen" eines Prozesses: n Besitz: Adress Raum für Aufnahme des Prozess Abbilds zeitweise: Kontrolle über n (Speicher, E/A) BS sorgt für Prozess Isolierung Ablaufplanung ( CPUs): Trace (Ausführungsweg) durch Programm Trace mit anderen Prozessen "verschachtelt" Prozess = Einheit, die vom BS berücksichtigt wird Prozess Zustände: laufend, lauffähig, blockiert Prozess Priorität Multi Process BS n orientierte Aufgaben von BS Prozess Verwaltung CPU Prozesse erzeugen/beenden, Scheduling n in Konkurrenz und zur Kommunikation Verwaltung Hauptspeicher Zuweisung und Freigabe von Hauptspeicher Abarbeitung v. Prozessen in deren Adress Raum; Schutz Swapping, virtueller Speicher Verwaltung Massenspeicher: HD, CD... strukturiertes Dateisystem über unstrukturierter HW Zugriffsrechte (Multi User BS) Ein Ausgabe Steuerung Terminals,Massensp., Ports Verwaltung konkurrierender Zugriffe zeitkritische Vorgänge: Nutzung von Interrupts Netzwerk Verwaltung Empfang und Zustellung von Paketen, Versenden von Paketen Architektur: LINUX simultane Abarbeitung mehrerer Prozesse (auch: dasselbe Programm in mehreren Prozessen) zu gewährleisten: Ausführg. nebeneinander & unabhängig voneinander nebeneinander: nutzen selbe n unabhängig: keine wechselseitige Beeinflussung zusätzliche Anforderungen an Multi Process BS: Scheduling (Ablaufplanung, "nebeneinander") Zuordnung der n im Wechsel / Teilung Prozess Isolierung ("unabhängig") ungewollte Beeinflussung verhindern (Schutz) Zugriff auf Adress Raum anderer Prozesse Prozess Nebenläufigkeit Multitasking Architektur abhängiger Code CPU Anwenderprogramme & Applikationen Virtueller Speicher manager RAM Systemrufe systeme Dateien & Verzeichnisse Dateisystem typen Block Geräte Festplatten, Disketten & CDs steuerung Terminals & Gerätezugriff Konsole, serielle Ports, spez. Erwei terungskarten Netzwerke Connectivity Netzwerk Subsystem Schnittstellen treiber Netzwerk schnittstellen Anwendungs ebene Ebene Teile Implemen tierte Features Software Unter stützung Ansteue rung Ebene Module Multi Process BS Unterstützung für BS Aufgaben Unterstützung durch spezielle Prozessor Funktionen: Prozess 1 Prozess 2 Prozess 3... Prozess n Interrupts und Exceptions (Ausnahmen) Prozess, Scheduler CPU E/A Speicher unteilbare Befehle Schutz Mechanismen privilegierte Befehle Mechanismen zur Speicheraufteilung Multi User BS Prozesse und Dateien verschiedenen Nutzern zugeordnet zusätzliche Anforderungen: Authentifizierung Authentifizierung des Nutzers bei Zugang Einführung von Restriktionen beim Zugriff Abrechnung Abrechnung der genutzten n (Rechenzeit, Prozessor Anzahl...) Interrupts (1) von allen Prozessoren unterstützt erforderlich für Unterstützung zeitkritischer Vorgänge sofortiges Einlesen bei Anliegen neuer E/A Daten 1. laufender Prozess unterbrochen 2. Befehlszähler auf Stack gespeichert (EIP) 3. Interrupt Service Routine ( Handler) aufgerufen 4. ISR (kurz!) bedient Peripherie Einheit 5. unterbrochener Prozess fortgesetzt (EIP vom Stack) 2

Interrupts (2) Exceptions EIP 100 101 102 103 104 105... ähneln Interrupts, auch: Aufruf von Handler Routinen ausgelöst beim Auftreten bestimmter Fehler Zustände unzulässiger Zugriff auf geschützte Speicherber. Handler: Programmabbruch "Speicherverletzung" ISR 300 301 302 iret iret iret iret Zugriff auf ausgelagerte Speicherseite (virt. mem.) Handler: Nachladen vom Massenspeicher Stack 103 103 privilegierter Befehl auf zu niedriger Priv. Stufe Handler: Programmabbruch Interrupts (3) Unterstützung für BS Aufgaben Anforderungen an Interrupts: Interrupts abschaltbar Verhindern von Unterbrechungen in kritischen Programm Abschnitten Interrupts hierarchisch organisiert Int. höherer Priorität können ISR von Int. niederer Priorität unterbrechen (umgekehrt nicht) Unterstützung durch spezielle Prozessor Funktionen: Interrupts und Exceptions (Ausnahmen) unteilbare Befehle Schutz Mechanismen Proz. ISR1 ISR2 ISR1 Proz. ISR2 privilegierte Befehle Mechanismen zur Speicheraufteilung Terminal Clock Terminal Clock Interrupts (4) Unteilbare Befehle (1) sinnvolle Zuordnung von Interrupt Prioritäten: Unterbrechungen durch Interrupts: an beliebiger Stelle Maschinenfehler Echtzeit Uhr Festplatten Netzwerk Geräte Terminals höhere Priorität kleinere Priorität Operation, die mehrere Maschinen Instruktionen benötigt, in der Mitte unterbrechbar evtl.: Umschalten auf anderen Prozess anderer Prozess von Interrupt Handler geweckt, erhält CPU Operation ist noch nicht abgeschlossen kann zu Konflikten führen Interrupts (5) "präemptives Scheduling": Prozesse von CPU "verdrängbar" jeder Prozess: bestimmte Zeit auf der CPU nach Ablauf der Zeit: nächster Prozess Interrupts von Zeitgeber Baustein hohe Frequenz Grundtakt "Tick" nach einer Anzahl von Ticks: Prozess Wechsel frei? belege benutze freigeben Unteilbare Befehle (2) Prozess 1 Prozess 2 ja frei sollten unteilbar (atomar) sein frei? ja belege benutze freigeben 3

erste Möglichkeit: Unteilbare Befehle (3) Abfrage und Belegen in einem Datenbus lesen CPU1 Datenbus lesen CPU2 Datenbus schreiben CPU1 Datenbus schreiben CPU2 Maschinenbefehl int test_and_set_bit(int nr, void *addr) lock bts dword [addr], nr sbb eax, eax lock Präfix verhindert Bus Zugriff anderer CPUs Unterstützung: bts, lock } Inline Assembler bts testet (ins Carry) und setzt in einem Schritt sbb transferiert Carry Flag in Return Wert (SMP!) Schutz Mechanismen (2) mindestens 2 Betriebsmodi (Privilegstufen): User Mode nicht privilegiert unberechtigte Zugriffe / Befehle: Exception Mode privilegiert: Zugriff auf alle Einheiten / alle Befehle Mechanismen: Speicher unterteilt in Bereiche, zugänglich nur in einem der Modi (oder in beiden) (IA 32: CPL in CS Register, DPL in Segment Deskriptor) bestimmte Instruktionen nur im Mode zulässig Unteilbare Befehle (4) zweite Möglichkeit: Eintritt in kritische Region: Interrupts abschalten Verlassen der kritischen Region: Interrupts einschalten Prozess kann nicht unterbrochen und verdrängt werden Schutz Mechanismen (3) privilegierte Befehle (nur mit CPL = 0) LGTR lade globales Deskriptor Tabellen Register HLT Stillstand der Abarbeitung lange kritische Region: "Einfrieren" von Zugriffen möglich spezielle Schutzmechanismen bei Ein Ausgabe: IOPL Feld in EFLAGS + I/O Bitmap keine Lösung für SMP: andere CPU von Abschaltung nicht betroffen; Prozess auf dieser CPU kann auf zugreifen IN, OUT CLI, STI Ein und Ausgabe von / auf Ports Interrupt sperren / freigeben Unterstützung für BS Aufgaben Schutz Mechanismen (4) Unterstützung durch spezielle Prozessor Funktionen: Interrupts und Exceptions (Ausnahmen) unteilbare Befehle Schutz Mechanismen privilegierte Befehle Mechanismen zur Speicheraufteilung Wechsel des Modes: Nutzerprogramm überträgt eine Aufgabe ("Systemruf") Auslösen Software Interrupt (Trap) (int 0x80) dabei: Umschalten in Mode Routine läuft im Mode Rückkehr: Rückschalten in User Mode (iret) ebenso bei Interrupts / Exceptions Schutz Mechanismen (1) Schutz Mechanismen (5) Kontrolle des Zugriffs auf Speicher, Peripherie, kritische CPU Register (z.b. Prozessor Status) User Mode Prozesse A B C D U U Mechanismen: Mode K K Speicheraufteilung (Segmentierung, Seitenverw.) Privilegstufen und privilegierte Befehle Mechanismen für virtuellen Speicher (Nachladen) Prozessor unterscheidet zwischen User / Mode, nicht zwischen Prozessen unterscheidet zwischen Prozessen 4

Einführung: Inhalt Definition und Aufgaben von Betriebssystemen Definition Allgemeine Aufgaben Prozess Modell Multi Process / Multi User BS ressourcen orientierte Aufgaben Unterstützung für BS Aufgaben Betriebssystem Architekturen Monolithische Mikro Modulare monolithische Schichten Modell weitere Merkmale: Multithreading & SMP Monolithische : Vor /Nachteile schnelle Interaktion im (Calls) enge Verflechtung der Teile: unübersichtlicher Entwurf hardware abhängiger Code evtl. verteilt über verschiedene Objektdateien: Problem bei Portierung gesamter mit Code und Daten ständig im Speicher Änderungen erfordern Compilieren (1 Objektdatei), Verlinken mit allen anderen Objektdateien; Neustart verteilte BS nicht ohne weiteres realisierbar Unix, Linux; aber: Linux mit Modul Konzept BS Architekturen vom Einsatz Gebiet abhängig: Großrechner (Mainframes): (viele Prozesse, Nutzer, n) spezielle BS Server, Parallelrechner, PC: selbe BS: Unix, Linux, W2K, NT Mikro Prozess: wenige, grundlegende Funktionen (Synchronisation zwischen Prozessen, Scheduling, Interprozess Kommunikation) andere BS Dienste: in getrennten System Prozessen (Verwaltung, Gerätetreiber, API) im User Mode Austausch von Nachrichten zwischen Prozessen (via Mikro ) Echtzeit BS, BS für embedded systems: spezielle BS (VxWorks, Palm OS) User Mode Mode Nutzer Progr. Nachricht Speich. verwalt. treiber Mikro Server BS Architekturen: Klassifikation Mikro : Nachteile monolithischer (geschichteter ) Benutzer Dateisystem Interprozesskommunikation E/A und Geräte Virtueller Speicher Einfache Prozess prozess... Mikrokernel Gerätetreiber Dateiserver Prozess Server Mikrokernel Virtueller Speicher mehrere Prozesse an Lösung von Aufgaben beteiligt: Austausch von Nachrichten erforderlich, aufwendig oft Prozesswechsel bei Nachrichtenaustausch: Systemprozess geweckt, erhält CPU evtl. bei Prozesswechsel sogar Auslagerung / Einlagerung von Prozessen (Massenspeicher; Swapping) ("monolithisch": aus einem großen Steinblock bestehend) Benutzermodus modus Größe, Prozesse, Modus Monolithische Entstehung des s: alle Teilprogramme übersetzt Objekt Codes zu einem großen Programm gelinkt wechelseitiger Aufruf der Funktionen: über Unterprogramm Aufrufe Aufruf von Funktionen aus Nutzer Programmen: über definierte Schnittstellen (Traps, in API) Trap Fkt. Fkt. Fkt. Call Nutzer Programm Mikro : Vorteile Zwang zur Modularisierung übersichtlichere und besser erweiterbare BS hardware abhäng. Code im Mikro konzentriert leichter portierbar nur benötigte Systemprozesse belegen Speicher (andere Prozesse evtl. ausgelagert) Änderungen: kein Linken notwendig evtl. sogar Austausch zur Laufzeit möglich (User Mode) Erweiterung auf verteilte Systeme einfach W2K: modifizierte Mikro Architektur (aber: System Prozesse im Mode!) 5

Mikro und verteilte BS Modulare : einheitliche Schnittstellen Server Modell: Anfrage vom wird vom Server bearbeitet lokal: Anfrage server Druck Server Schnittstelle zu Geräten verteilt: Rechner 1 Rechner 2 server Druck Server gerät 1 gerät 2 Anfrage Netzwerk read(), write(), open(), close() (via "Objekt" = Struktur mit Funktionszeigern) Modulare monolithische beheben einige Nachteile streng monolithischer Modul = Objekt Datei kann zur Laufzeit der s hinzugefügt werden "dynamisches Linken" Modul kann Funktionen des s und Funktionen bereits eingefügter Module nutzen bestimmte Klassen von Modulen mit einheitlicher Schnittstelle (z.b.: Zeichengeräte) Module: "mittlere" BS Funktionen: Organisation von Dateisystemen, Gerätetreiber (setzen niedere Fkt. voraus: /Prozessverwalt.) Linux Architektur: LINUX Modulare : Vorteile Erzwingen einheitlicher Schnittstellen Senken des Entwicklungsaufwands effiziente Hauptspeicher Nutzung: nur benötigte Module (automatisches Nachladen und Entfernen möglich) Kommunikation weiterhin über schnelle Unterprogrammrufe statt Nachrichten Schichten Modell Prozess Anwenderprogramme & Applikationen Systemrufe systeme steuerung Netzwerke Anwendungs ebene Ebene Teile Benutzer Dateisystem Interprozesskommunikation E/A und Geräte Nebenläufigkeit Multitasking Architektur abhängiger Code CPU Virtueller Speicher manager RAM Dateien & Verzeichnisse Dateisystem typen Block Geräte Festplatten, Disketten & CDs Terminals & Gerätezugriff Konsole, serielle Ports, spez. Erwei terungskarten Connectivity Netzwerk Subsystem Schnittstellen treiber Netzwerk schnittstellen Implemen tierte Features Software Unter stützung Ansteue rung Ebene Module Virtueller Speicher Einfache Prozess monolithische häufig in Schichten organisiert hierarchische Organisation der BS Funktionen streng: Schicht n bietet Dienst, Schicht n+1 nutzt Dienst (umgekehrt nicht) nicht streng: Schichten "übersprungen" Benutzermodus modus Modulare : Modul Hierarchie Weitere Architektur Merkmale fct. fct. fct. Module C fct. fct. fct. fct. fct. fct. Module A Module B fct. fct. fct. fct. fct. fct. fct. Basis Multi Threading mehrere Befehlssequenzen (Threads) innerhalb eines Prozesses nutzen gemeinsamen Datenspeicher (einfach) Thread Umschaltung ist schneller Symmetrischer Multiprozessor Betrieb (SMP) mehrere gleichartige Prozessoren teilen sich Hauptspeicher und Peripherie Zuweisung ist für Nutzerprogramm "transparent" komplexere Architektur (Schutz von n schwieriger) 6