Grundlagen der Informatik III

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik III"

Transkript

1 Grundlagen der Informatik III WS 2009 / 2010 [Folien basierend auf VL von Prof. Eckert, WS 07/08, und von Prof. Fellner WS 08/09] Prof. Dr. rer. nat. Frederik Armknecht Sascha Müller Daniel Mäurer Fachbereich Informatik / CASED Mornewegstraße Darmstadt

2 Gliederung der Vorlesung GdI 3 1. Einführung 2. Assemblerprogrammierung 3. Leistungsbewertung 4. Speicherhierarchie 5. Assembler, Binder, Lader 6. Betriebssysteme und Ein-/Ausgabe (Grundlagen) 7. Rechnernetze (Grundlagen) 8. Compiler (Grundlagen) Fachbereich Informatik Prof. Dr. Frederik Armknecht 2

3 Gliederung dieses Kapitels 6.1 Einführung 6.2 Betriebssystemstruktur 6.3 Varianten von Betriebssystemen 6.4 Interrupt und Systemaufruf 6.5 Prozess- und Prozessorverwaltung 6.6 Scheduling 6.7 Strategien zur virtuellen Speicherverwaltung 6.8 Dateien und Dateisystem 6.9 Ein-Ausgabe (I/O-Subsystem) 6.10 Busse (spezielle E/A-Geräte) 6.11 Synchronisation Fachbereich Informatik Prof. Dr. Frederik Armknecht 3

4 6.1 Einführung (Tanenbaum, Modern Operating Systems, 3e, Pearson) Fachbereich Informatik Prof. Dr. Frederik Armknecht 4

5 6.1 Einführung Einordnung eines Betriebssystems in ein Rechensystem Ein Rechnersystem besteht aus Hardware, System- und Anwendungsprogrammen Fachbereich Informatik Prof. Dr. Frederik Armknecht 5 anwendungsunabhängige Systemprogramme (z.b. Kommando- Interpreter (Shell), Compiler, Editoren, Windows) im user mode Betriebssystem (kernel/supervisor mode) Befehlssatz-Architektur (ca. 50 bis 300 Instruktionen) Zu Funktionseinheiten zusammengefasste, physikalische Bauteile (z.b. CPU-Register, ALU) Integrierte Schaltungen etc.

6 6.1 Einführung Definition Betriebssystem (operating system) (nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden, und die insbesondere die Abwicklung von Programmen steuern und überwachen. Aufgaben eines Betriebssystems Abstraktion, bieten einer einfach zu nutzende Schnittstellen Strategien zur Verwaltung gemeinsamer Ressourcen nach festen Qualitätskriterien, Beispiele? Dienste für Anwender und Anwendungsprogramme, Beispiele? Fachbereich Informatik Prof. Dr. Frederik Armknecht 6

7 6.1 Einführung BS-Aufgaben am Beispiel Windows 2000 Fachbereich Informatik Prof. Dr. Frederik Armknecht 7

8 6.1 Einführung BS-Aufgaben am Beispiel Unix/Linux Betriebssystemkern Fachbereich Informatik Prof. Dr. Frederik Armknecht 8

9 6.1 Einführung Bem.: Heutige Betriebssysteme sind historisch gewachsen Evolutionäre Weiterentwicklung, sehr komplexe Softwaresysteme Komplexität von BS gemessen in Source Lines of Code (SLOC) Werte unterschiedlicher Microsoft Windows Betriebssysteme: Year Operating System SLOC (Million) 1995 Windows NT Windows Windows NT Windows Windows Windows XP Windows Vista 50 Richtwert (Erfahrung): 5-50 Bugs pro 1000 Lines of Code! Strukturiertes Design ist unabdingbar, sonst a big mess (Tanenbaum) Fachbereich Informatik Prof. Dr. Frederik Armknecht 9

10 6.2 Betriebssystemstruktur Betriebssystem ist ein großes und komplexes System modularisiert in Komponenten und Subsysteme meist in C, C++ geschrieben (früher komplett in Assembler, heute nur noch einige Gerätetreiber und Teile des BS-Kerns) Kern ( kernel ) umfasst die kritischen Funktionen des BS Systemprogramme werden nach Bedarf geladen: z.b. Linker, Debugger, Kommandointerpreter (Shell),... Daemons: Hilfsprozesse erfüllen eine Service-Funktion, durch Ereignisse aufgeweckt ( Datei zum Drucken eingetroffen ) Beispiele aus Unix: Fachbereich Informatik Prof. Dr. Frederik Armknecht 10

11 6.2.1 Monolithische Systeme Kapselung aller Betriebssystemdienste in einem große Kern idr Prozedur-orientiert, d.h. Systemdienste sind Prozeduren, Aufruf des Dienstes (Systemcall) entspricht Prozeduraufruf z.b. UNIX/Linux: Module als Strukturierungshilfsmittel Anwendung Anwendung BS-Kern System-Schnittstelle Hardware Legende Prozess im Benutzermodus Systemprozedur Systemaufruf Nutzungsabhängigkeit Fachbereich Informatik Prof. Dr. Frederik Armknecht 11

12 6.2.1 Monolithische Systeme Trennung zwischen Benutzerprogrammen und BS: Verschiedene Betriebsmodi: Benutzer- und Systemodus, dual-mode operation Schutz des BS vor fehlerhaften User-level Zugriffen! Modus wird in der Hardware durch 1 Bit festgehalten (1) System-Modus (engl. kernel mode, supervisor mode): Privilegierte Befehle sind verfügbar, u.a. Zugriff auf Hardware nur mit privilegierten Befehlen möglich Dienste des Betriebssystemkerns werden im Systemmodus ausgeführt, beim Aufruf (system call): Moduswechsel Fachbereich Informatik Prof. Dr. Frederik Armknecht 12

13 6.2.1 Monolithische Systeme Benutzer-Modus (engl. user mode): Benutzerprozesse In diesem Modus sind nur nicht privilegierte Befehle verfügbar, z.b. Zugriff auf Prozessadressraum und unkritische Register Ausführung eines privilegierten Befehls führt zu einer Unterbrechung (Interrupt) Aufruf eines Systemdienstes erfolgt über Systemcalls und führt zu einer Unterbrechung mit kontrolliertem Einsprung in das BS Fachbereich Informatik Prof. Dr. Frederik Armknecht 13

14 6.2.2 Virtuelle Maschine Unabhängigkeit und Isolation von Prozessen konsequent fortgeführt: Illusion: jedem Prozess steht der gesamte Rechner allein zur Verfügung unterschiedliche Betriebssysteme gleichzeitig auf einer vorhandenen Hardware-Konfiguration z.b. VMware: Linux neben Windows Bem. Java Virtual Machine Konzept (JVM) rührt auch hier her Vorteil: vollständige Isolation der Benutzerprozesse (Schutz) Nachteil: schwierige gemeinsame Nutzung von Ressourcen, evtl. Geschwindigkeit Fachbereich Informatik Prof. Dr. Frederik Armknecht 14

15 6.2.2 Virtuelle Maschine Fachbereich Informatik Prof. Dr. Frederik Armknecht 15

16 6.2.3 Client-Server Architektur mit Mikrokern Zusammenfassung verwandter Systemdienste zu Diensteklassen Diensteklassen werden mit Servern (Serverprozessen) realisiert Clients (Clientprozesse) nutzen Dienste Kommunikation zwischen Client und Server ist notwendig: klassisches Konzept hierfür: Nachrichtenaustausch Mikrokern: Prinzip: Trennung von Strategie und Mechanismus Vorteil? Fachbereich Informatik Prof. Dr. Frederik Armknecht 16

17 6.3 Varianten von Betriebssystemen Mainframe-Betriebssysteme: Großrechner E/A-Kapazität ein wesentlicher Unterschied zum PC (z.b. tausende von Festplatten und tausende von GB Daten-Kapazität) viele nebenläufige Prozesse mit viel Ein-/Ausgabe Server-Betriebssysteme: Server-Rechner sind große PCs, Workstations oder Mainframes gleichzeitige Bedienung mehrerer Nutzer über ein Netzwerk zur gemeinsamen Nutzung von Hard- und Software-Ressourcen, Server- Farmen sind heute Usus z.b. Datenbankserver, Web-Server Fachbereich Informatik Prof. Dr. Frederik Armknecht 17

18 6.3 Varianten von Betriebssystemen Mehrprozessor-Betriebssysteme: Hochleistungsrechenkapazität durch Verbindung mehrerer CPUs zu einem einzigen Rechnersystem, je nach Architektur: Parallelrechner, Multiprozessoren,... Aktuell: Entwicklung von Computer-GRIDs PC-Betriebssysteme: idr Ein-Benutzer-Systeme z.b. zu Textverarbeitung, Tabellenkalkulation, Internet-Zugriff Echtzeit-Betriebssysteme: Einhaltung von Deadlines etc. z.b. zur industriellen Prozess-Steuerung Eingebettete (embedded) Betriebssysteme: realisieren spezielle und keine allgemeinen Funktionen, müssen spezielle Größen-, Speicher- und Energie-Beschränkungen erfüllen z.b. Mobiltelefone, Smartcards Fachbereich Informatik Prof. Dr. Frederik Armknecht 18

19 6.4 Interrupt und Systemaufruf Interrupts (Unterbrechungen) Heutige BS arbeiten idr Ereignis (event) getrieben Auftreten eines Ereignisses wird durch Interrupt angezeigt: bei Hardware über Leitungen/Busse, bei Software: Systemaufruf Effekt: das laufende Programm wird unterbrochen und i.a. später wieder fortgesetzt Klassifikation der Unterbrechungsereignisse Interne Unterbrechung ( trap oder exception ): synchron wird innerhalb der CPU selbst ausgelöst, z.b. Division durch 0 Externe Unterbrechung: asynchron wird ausgelöst durch Signal an Interrupt-Eingang der CPU, z.b. E/A Fachbereich Informatik Prof. Dr. Frederik Armknecht 19

20 6.4 Interrupt und Systemaufruf Synchrone Interrupts sind reproduzierbar, asynchrone Interrupts i.allg. nicht, Konsequenz: CPU muss stets auf Auftreten einer asynchronen Unterbrechung gefasst sein, aber: eine Unterbrechung eines Programms ist nicht immer gewünscht CPU kennt die Programmsemantik (z.b. Unterbrechung ok) nicht: deshalb: CPU bietet Konzept, um Unterbrechungen zu sperren (disable), z.b. für kritische BS-Dienste nützlich Maskierbare Unterbrechung: Interrupt vorübergehend außer Kraft setzbar, z.b. E/A-Interrupt Das kann für gewisse zeitkritische Routinen z. B. in Gerätetreibern notwendig sein Reaktion der CPU auf Unterbrechung: Start eines speziellen, unterbrechungsabhängigen Programms ( Interrupt Handler ) Fachbereich Informatik Prof. Dr. Frederik Armknecht 20

21 6.4 Interrupt und Systemaufruf Allgemeine Vorgehensweise zur Unterbrechungsbehandlung Interrupt normale Programmausführung Fortsetzung der normalen Programmausführung Behandlung der Unterbrechung Rückkehr vom Interrupt Handler Verzahnte Ausführung von normalen Programmen und Unterbrechungsbehandlung: quasi-parallelen Ablauf: Synchronisation erf. Transparenzforderung: Unterbrechungsbehandlung hinterlässt bzgl. des unterbrochenen Programms keine Spuren Fachbereich Informatik Prof. Dr. Frederik Armknecht 21

22 6.4 Interrupt und Systemaufruf Interrupt-Handling am Beispiel Tastatur 1. Bei Tastendruck wird ein entsprechender Interrupt ausgelöst. 2. Taste wird vom BIOS ausgelesen. 3. Entsprechender ASCII-Wert und Tastencode werden in einen Puffer geschrieben. 4. Ein weiterer Interrupt wird ausgelöst, wenn die Taste losgelassen wurde. Fachbereich Informatik Prof. Dr. Frederik Armknecht 22

23 6.4 Interrupt und Systemaufruf Aktionen des BS beim Auftreten eines Interrupts: CPU wechselt in Kernel-Modus BS-Kern sucht nach der Routine zur Behandlung des Interrupts: Suche im Interrupt-Vektor, der im BS-Kern verwaltet wird Interrupt-Handler von Geräten: Bestandteile der Treibersoftware Geräte-Nummer dient als Index in den Interrupt-Vektor der Interrupt-Vektor: enthält Anfangsadressen der Handlerroutinen, Tabelle ist idr resident in Bereich niedriger Adressen abgelegt, Tabelle: beim Booten mit den Routinen initialisiert Ausführung der Handler-Routine: Unterbrechungsgrund ermitteln, Behandlung durchführen Nach Beendigung: Return-from-Interrupt Befehl Fachbereich Informatik Prof. Dr. Frederik Armknecht 23

24 6.4 Interrupt und Systemaufruf Beispiel: Interrupt-Vektor Tabelle des Intel-Pentiums Fachbereich Informatik Prof. Dr. Frederik Armknecht 24

25 6.4 Interrupt und Systemaufruf Systemaufruf (engl. system call) Konzeptuell analog zu Interrupt, aber: Software-Unterbrechung System call: Schnittstelle zwischen Prozessen und BS meist als Assembler-Anweisung verfügbar bzw. nutzbar In der Regel aber nicht direkt, sondern über Routinen des Laufzeitsystems der Programmiersprache nutzbar gemacht Laufzeitsystem (runtime system): Menge von Bibliotheksfunktionen, vom Compiler automatisch zum Programm hinzu gebunden z.b. Unix: Systemaufrufe direkt aus C, C++ Programmen, Windows: Aufruf über Win32 API (Application Programmer Interface) Fachbereich Informatik Prof. Dr. Frederik Armknecht 25

26 6.4 Interrupt und Systemaufruf Aufgabe: Transfer der Kontrolle an BS und Datentransfer, z.b. read-operation auf Dateien, Parameter: Datei, Zeiger auf Buffer, Byteanzahl Ablauf eines Syscalls: Analogie zum klassischen Prozeduraufruf, Zu übergebene Parameter: über Stack, Register, Pointer Nummer des Systemaufrufs (Dienstnummer): idr in ein Register geschrieben Kontrolltransfer an den BS-Kern über eine Trap-Instruktion Dienstnummer: Index in Dispatch-Tabelle (vgl. Interrupt-Vektor) Nach Beendigung des Dienstes: Kontroll- und Modus-Wechsel zurück zum Aufrufer des Syscalls, ggf. Blockieren des aufrufenden Prozesses, z.b. Prozess wartet auf Eingabe Fachbereich Informatik Prof. Dr. Frederik Armknecht 26

27 Beispiel: SysCall read (fd, buffer, nbytes) (Unix/Linux) (5-6) Sys call read durch Bibliotheksfunktion, Trap-Befehl (6) Kern-Einsprung mit Modus- Wechsel (1-4) Benutzer- Programm: Aufruf der Bibliotheksfunktion read mit Parameterübergabe auf Stack etc. (7) Auswahl des Systemdienstes anhand der Dienstnummer im Register Fachbereich Informatik Prof. Fachgebiet Dr. Frederik Graphisch-Interaktive Armknecht 27Systeme (GRIS) Prof. Dr. D. Fellner 27 (8-9) Ausführung des read-systemdienstes, Return mit Modus-Wechsel

28 Beispiel: Unix-Syscalls für Prozessmanagement s ist Fehlercode, pid ist Prozess ID Fachbereich Informatik Prof. Dr. Frederik Armknecht 28

29 6.5 Prozess- und Prozessorverwaltung Ziel: Konzepte, Datenstrukturen, Strategien zur Verwaltung nebenläufiger Aktivitäten Benötigt werden: Konzepte zur Virtualisierung der CPU Lösung: Thread-, Prozess-Konzept Konzepte, um Informationen zu speichern Lösung: Prozess-individueller Adressraum Datenstrukturen zur Verwaltung von Prozessen/Threads: Lösung: Deskriptoren, Tabellen, Warteschlangen, etc. Operationen zur Verwaltung von Prozessen/Threads Lösung: Scheduling, Prozess-Erzeugung etc. Fachbereich Informatik Prof. Dr. Frederik Armknecht 29

30 6.5.1 Prozesskonzept Ein Prozess ist eindeutig identifizierbarer Ablauf eines Programms, d.h. ein Prozess ist ein Programm in Ausführung: jeder Prozess besitzt einen eigenen Adressraum, ein Prozess durchläuft unterschiedliche Zustände, z.b. rechnend, wartend auf E/A, wartend auf CPU Pseudoparallele Prozessausführung (Multiprogramming, multitasking): CPU wechselt zwischen der Ausführung verschiedener Programme Scheduling-Strategien erforderlich (a) Multiprogrammierung von 4 Programmen (b) Konzeptmodell von 4 unabhängigen, sequentiellen Prozessen Fachbereich Informatik Prof. Fachgebiet Dr. Frederik Graphisch-Interaktive Armknecht 30Systeme (GRIS) Prof. Dr. D. Fellner 30 (c) zu jedem Zeitpunkt nur ein Programm aktiv

31 6.5.1 Prozesskonzept Dienste des Betriebssystems zur Prozessverwaltung: Prozess-Erzeugung und Starten (z.b. fork) Prozess-Terminierung, Auflösung (z.b. kill, exit) Strategien zur CPU-Zuteilung (scheduling) Prozessor-Anbindung (dispatching) (z.b. resume, sleep, wakeup) Erzeugung von Prozessen: u.a. bei Systeminitialisierung, durch Benutzeranfrage Terminierung von Prozessen: u.a. normaler Ausgang oder Fehlerausgang (freiwillig) Fataler Fehlerausgang (unfreiwillig) Abschuss durch einen anderen Prozess (unfreiwillig) Fachbereich Informatik Prof. Dr. Frederik Armknecht 31

32 Beispiel: Zustandsübergangsdiagramm für Prozesse Legende Blau: Zustand Schwarz: Übergang 9 Zombie exit wartend im Speicher 3 5 Prozess im Benutzermodus Systemaufruf sleep swap out wartend, geswappt Fachbereich Informatik Prof. Fachgebiet Dr. Frederik Graphisch-Interaktive Armknecht 32Systeme (GRIS) Prof. Dr. D. Fellner 32 1 wake up 2 wake up return return im Kernelmodus unterbrochen rechenbereit im Speicher 4 genug Speicher swap in fork 8 swap out erzeugt 6 zu wenig Speicher rechenbereit, geswappt 7

33 6.5.1 Prozesskonzept Prozesserzeugung Alle Prozesse, die nicht zur Boot-Zeit erzeugt werden, entstehen, indem ein laufender Prozess, z.b. laufender Benutzerprozess, von Tastatur oder Maus aufgerufener Systemprozess oder Batch-Manager-Prozess, einen Prozesserzeugungsdienst aufruft. Dieser teilt dem Betriebssystem direkt oder indirekt mit, welches Programm im neuen Prozess auszuführen ist. Erzeugung neuer Prozesse in Unix mit fork in Windows mit CreateProcess Fachbereich Informatik Prof. Dr. Frederik Armknecht 33

34 6.5.1 Prozesskonzept Beispiel: Prozesserzeugung unter Unix: fork erzeugt exakten Klon des aufrufenden Prozesses. Kindprozess erbt vom Vater-/Mutterprozess das Speicherabbild (memory image copy on write), die offenen Dateien,. idr führt Kindprozess dann z.b. execve, um Speicherabbild zu ändern und neues Programm auszuführen. Beispiel: Benutzer tippt Kommando in Shell ein, z.b. sort, Shell erzeugt Kindprozess ( forks off child process ), Kindprozess führt sort aus. Dieser zweistufige Vorgang ermöglicht dem Kindprozess nach fork aber vor execve die Manipulation seiner Datei-Deskriptoren, um Standard-Input (stdin), Standard-Output (stdout) und Standard-Error (stderr) umzulenken. Fachbereich Informatik Prof. Dr. Frederik Armknecht 34

35 6.5.1 Prozesskonzept Beispiel: Prozesserzeugung unter Windows Ein Win32 Funktionsaufruf, CreateProcess, behandelt beides: Prozesserzeugung und Laden des korrekten Programms Aufruf hat 10 Parameter, u.a. das auszuführende Programm, die Kommandozeilenparameter zur Versorgung des Programms, verschiedene Sicherheitsattribute, Win32 hat zusätzlich etwa 100 weitere Funktionen zur Verwaltung und Synchronisation von Prozessen und verwandten Aufgaben. Nach der Prozesserzeugung haben in Unix und Windows Vater-/Mutter- und Kindprozess jeweils eigene Adressräume. Änderungen im eigenen Adressraum sind nicht sichtbar für den jeweils anderen. Fachbereich Informatik Prof. Dr. Frederik Armknecht 35

36 6.5.1 Prozesskonzept Prozesshierarchien: Entstehen durch Prozesserzeugung In Unix bilden Prozess mit allen Kind- und Kindeskindprozessen eine Prozessgruppe (process group). Z.B. wenn Benutzer Signal von Tastatur sendet, wird das zu allen Mitgliedern der mit der Tastatur assoziierten Prozessgruppe übermittelt. Jeder Prozess kann Signal aufnehmen oder ignorieren. Initialisierung von Unix durch Starten des Prozesses init: Init liest beim Start eine Datei mit der Anzahl der Terminals und erzeugt (forks off) einen neuen Kindprozess pro Terminal. Diese warten auf einen Login-Vorgang. Bei erfolgreichem Login: Starten von Shells, GUI-Prozess, Shells bearbeiten Kommandos, z.b. zur Prozesserzeugung Alle Prozesse zu einem einzigen Baum mit init als Wurzel. Fachbereich Informatik Prof. Dr. Frederik Armknecht 36

37 6.5.1 Einfaches Multiprogramming Modell Oft wichtiges Ziel von Multiprogramming: Maximierung der CPU Auslastung Beobachtung: Prozesse blockieren oft aufgrund von I/O Operationen Frage: Welches Multiprogramming Level (=Anzahl an parallelen Prozessen) wird benötigt, um bei gegebener Blockierungswahrscheinlichkeit der Prozesse eine bestimmte CPU Auslastung zu erzielen? Einfaches Modell: p: Wahrscheinlichkeit, dass ein gegebener Prozess blockiert n: Anzahl Prozesse p n : Wahrscheinlichkeit, dass alle Prozesse gleichzeitig blockieren (1 - p n ): durchschnittliche CPU Auslastung Fachbereich Informatik Prof. Dr. Frederik Armknecht 37

38 6.5.1 Einfaches Multiprogramming Modell Aussage des Modells? Beschränkungen? Degree of multiprogramming (Tanenbaum, Modern Operating Systems, 3e, Pearson) Fachbereich Informatik Prof. Dr. Frederik Armknecht 38

39 6.5.2 Datenstrukturen zur Prozessverwaltung Prozesskontrollblock (Prozessdeskriptor): PCB Beschreibt den Kontext eines Prozesses; enthält i.d.r. folgende Informationen: eindeutiger Name, z.b. fortlaufende Nummerierung des Prozesses (z.b. pid in UNIX) Name des Benutzers, dem der Prozess zugeordnet ist, Namen der zugeordneten Gruppen Prozesszustand (wartend, rechnend, rechenwillig,...) Spezifikation des Ereignisses, auf das der Prozess wartet (z.b. warten auf Eingabe von Tastatur (E/A-Auftrag)) Scheduling Informationen: z.b. Ablaufpriorität, bereits verbrauchte CPU-Zeit Fachbereich Informatik Prof. Dr. Frederik Armknecht 39

40 6.5.2 Datenstrukturen zur Prozessverwaltung PCB-Bestandteile: Forts. Registerinhalte, wie Programm-Zähler (PC), Stackpointer, etc. Accounting-Information: verbrauchte Ressourcen etc. Prozesshierarchie: Vaterprozess, Kind-Prozesse Informationen für das Speichermanagement Informationen für die Dateiverwaltung: u. a. Home-Verzeichnis Liste der zugeordneten E/A-Geräte PCB-Information Fachbereich Informatik Prof. Dr. Frederik Armknecht 40

41 6.5.2 Datenstrukturen zur Prozessverwaltung Prozess-Image im Speicher der PCB eines Prozesses gehört zum Prozessadressraum zur Prozessverwaltung müssen Teile des PCB in dem Hauptspeicher eingelagert sein ein Verweis auf den PCB eines Prozesses wird in der systemglobalen Prozesstabelle des BS verwaltet PCB i Stack-Bereich i Privater Prozess- Bereich: Code, Daten Shared Bereich Prozess i PCB j Stack-Bereich j Privater Prozess- Bereich: Code, Daten Shared Bereich Prozess j Fachbereich Informatik Prof. Dr. Frederik Armknecht 41

42 6.5.2 Datenstrukturen zur Prozessverwaltung Prozesstabelle: enthält Verweise auf die PCBs existierender Prozesse idr als Tabelle fester Länge organisiert, d.h. die maximale Prozessanzahl ist durch Systemparameter festgelegt Suchen nach PCB-Verweisen: anhand der Prozess-ID (pid) Suchalgorithmen: Hashing, Suchbäume etc. pid=2 PCB2 PCB0 PCB1 PID Zustand Registerinhalte Schedulinginfo... Prozess-Tabelle Fachbereich Informatik Prof. Dr. Frederik Armknecht 42

43 6.5.2 Datenstrukturen zur Prozessverwaltung Prozess-Warteschlangen: Zur Prozess-Verwaltung führt das BS unterschiedliche Warteschlangen. Die wichtigsten sind: Ready-Queue(s) für rechenbereite Prozesse Warteschlangen für verschiedene Ereignisse blockierte Prozesse i.d.r. jeweils eine eigene Warteschlange für E/A-Geräte (z.b. Platte, Terminal) Verwaltung der Prozesse z.b. durch verkettete Listen der PCBs oder wie beispielsweise in Linux (ab 2.6): Rot-Schwarz-Bäume, die nach Zeit geordnet sind Fachbereich Informatik Prof. Dr. Frederik Armknecht 43

44 6.5.3 Thread-Konzept (lightweight Process) Bislang betrachtet: Sequentieller Prozess mit virtuellem Adressraum und einem Kontrollfluss (Thread of control) Multi-threaded Prozess: Prozess mit mehreren, parallelen Kontrollflüssen, d.h. multi-threaded Prozess kann parallele Aktivitäten ausführen Charakteristika: ein Thread besitzt: eine eigene Identität: Thread-ID, einen eigenen Programmzähler, einen eigenen Stack, eigenes Registerset und einen eigenen Zustand (blockiert, rechenbereit, rechnend etc.) Fachbereich Informatik Prof. Dr. Frederik Armknecht 44

45 6.5.3 Thread-Konzept Threads des gleichen Prozesses: teilen sich den gemeinsamen Prozessadressraum, nutzen gemeinsame Ressourcen Konsequenz: jeder Thread kann auf jede Speicheradresse zugreifen, z.b. auch auf den Stack anderer Threads des Prozesses Adressraum Adressraum Thread... Thread... Thread... Thread... Single-threaded Prozess Multi-threaded Prozess Fachbereich Informatik Prof. Dr. Frederik Armknecht 45

46 6.5.3 Thread-Konzept Multi-threading: effiziente Kooperation zwischen Threads möglich Threads greifen auf globale Variablen des Prozesses gemeinsam zu: Synchronisationskonzepte erforderlich! Informationen pro Prozess Thread-Beschreibung: durch Thread Control Block Informationen pro Thread Programzähler Stack Register-Set Kind-Threads Zustand Programzähler Adressraum Stack globale Register-Set Variablen geöffnete Kind-Threads Dateien Kind-Prozesse Zustand Timer Signale Semaphore Accounting Informationen Zustand Fachbereich Informatik Prof. Dr. Frederik Armknecht 46

47 6.5.3 Thread-Konzept Vorteile des Thread-Konzepts Pro Prozess viele parallele Aktivitäten, aber einige sind von Zeit zu Zeit blockiert. Durch Zerlegung des Prozesses in quasi-parallel ausführbare Ausführungsstränge: vereinfachtes Programmiermodell Gemeinsame Nutzung von Daten: sehr schneller Datenaustausch, kein Versenden von Nachrichten notwendig Threads sind schneller zu erzeugen und zu terminieren als Prozesse (z.b. um Faktor 100). Performanz-Steigerung durch Threads: Z.B. umfangreiche Berechnungen und umfangreiche Ein-/Ausgabe kann überlappend abgearbeitet werden. Echte Parallelität auf Mehrprozessor-Rechnern Fachbereich Informatik Prof. Dr. Frederik Armknecht 47

48 6.5.3 Thread-Konzept (Tanenbaum, Modern Operating Systems, 3e, Pearson) Fachbereich Informatik Prof. Dr. Frederik Armknecht 48

49 6.5.3 Thread-Konzept (am Beispiel einer Textverarbeitungssoftware) Beispiel: Text-Verarbeitungsprogramm mit 3 Threads Interaktiver Thread: wartet auf Eingaben von Tastatur und Maus Thread zur Reformatierung (Neuberechnung) des Textes im Hintergrund nach Eingaben und zur Darstellung auf Bildschirm Thread zum Anlegen von Sicherungskopien im Hintergrund Fachbereich Informatik Prof. Dr. Frederik Armknecht 49

50 6.5.3 Thread-Konzept (am Beispiel eines Webservers) Dispatcher-Thread: Annahme von Anfragen aus dem Netz Weiterleitung an einen Worker-Thread Worker prüft, ob Anfrage aus Cache erfüllbar, falls nicht: Lese-Anfrage an Platte, Worker wird blockiert, bis Antwort vorliegt worker while(true){ getnextrequest(&buf); handoffwork(&buf); } Dispatcher BS-Kern Netzverbindung Cache von Web-Seiten while(true){ waitforwork(&buf); lookforpagincache(&buf,&page); if(pagenotincache(&page)){ readpagefromdisk(&buf,&page); } returnpage(&page) } Worker Fachbereich Informatik Prof. Dr. Frederik Armknecht 50

51 6.5.3 Thread-Konzept Thread Implementierung Ansätze: in User Space über Thread-Pakete, Bibliotheken Kern-integriert: d.h. BS-Kern bietet Thread-Konzept Kombination User Space Kernel Space Thread1 Thread2 Laufzeitsystem Thread-Verwaltung Kern User-level Threads Thread3 User Space Kernel Space Fachbereich Informatik Prof. Fachgebiet Dr. Frederik Graphisch-Interaktive Armknecht 51Systeme (GRIS) Prof. Dr. D. Fellner 51 Thread1 Thread2 Thread3 Kern Thread-Verwaltung Kernel-level Threads

52 6.5.3 Thread-Konzept User-level Threads: Kern besitzt keine Kenntnis über Threads Kern verwaltet nur Prozesse (Scheduling, Signale etc.) Realisierung der Operationen zur Threadverwaltung mit Thread-Paket, z.b. für Unix-Systeme pthreads Bibliothek Thread-Paket setzt auf beliebigem BS auf, keine BS-Änderung nötig Paket stellt als Laufzeitsystem eine Menge von Operationen zur Verfügung: create, wait, etc. für jeden Prozess wird vom Laufzeitsystem (nicht vom BS-Kern!) eine Threadtabelle verwaltet das Laufzeitsystem bietet Schedulingoperationen für Threads eines Prozesses, d.h. two-level Scheduling, Vorteil? Nachteil? Fachbereich Informatik Prof. Dr. Frederik Armknecht 52

53 6.5.3 Thread-Konzept Probleme bei user-level Implementierungen: u.a. Implementierung von blockierenden Systemaufrufen: alle User-level Threads des Prozesses werden blockiert, keine Parallelverarbeitung mehr Ähnlich: Blockierung aufgrund Page Fault eines Threads Scheduling des Kerns greift nicht (z.b. keine Uhrunterbrechung), u.u. kann ein Thread alle anderen monopolisieren, d.h. Threads müssen CPU freiwillig abgeben Fazit: Herausziehen von BS-Diensten aus dem Kern in den User-Level: Flexibilität: individuelle Anpassung an Anforderungen der Anwendung (z.b. individuelles Scheduling ihrer Threads) keine globale Strategie (Fairness etc.) Fachbereich Informatik Prof. Dr. Frederik Armknecht 53

54 6.5.3 Thread-Konzept Kernel Level Implementierung Kern verwaltet Threads selber: eine Thread-Tabelle für alle Prozesse im Kern Thread-Operationen wie Erzeugung, -Terminierung etc. sind Kern-Aufrufe: trap in den Kern blockierender Aufruf: welche Scheduling-Optionen? Effizientes Recycling von Thread Datenstrukturen Beispiele: Linux: Kernel-level Threads Windows2000: Kernel-level und User-level Threads Fachbereich Informatik Prof. Dr. Frederik Armknecht 54

55 6.5.3 Thread-Konzept Hybride Lösung: Kernel + User Threads (Tanenbaum, Modern Operating Systems, 3e, Pearson) Fachbereich Informatik Prof. Dr. Frederik Armknecht 55

56 Kontextwechsel Aufgabe des Dispatchers: Prozess an CPU binden Analog zur Unterbrechung einer CPU, aber größerer Kontext Bei einem Kontextwechsel ist durchzuführen: Retten der Prozessumgebung des aktuellen Prozesses, inkl. PC, Registerinhalte Update des PCB des aktuellen Prozesses um neue Zustandsinformation, eintragen in Verwaltungsdatenstrukturen (dann: Auswahl eines Prozesses) Update des PCB des neuen Prozesses, Update der Datenstrukturen für Speichermanagement Laden des Prozess-Kontexes Bem.: Kontextwechsel sind teuer (ca. einige 1000 Instruktionen), Anzahl der Prozesswechsel pro Sekunde sollte klein sein: Strategie ist erforderlich: Scheduling Fachbereich Informatik Prof. Dr. Frederik Armknecht 56

57 6.6 Scheduling Im Alltag: Planen, Organisieren von Abläufen und Ereignissen z.b. Stundenplan, Fahrpläne, OP-Einsatzplan, etc. CPU Scheduling: Strategische Entscheidung treffen: welchen Prozess, wann, wie lange an CPU zu binden Ausnutzen: CPU-Nutzungsbursts wechseln sich mit E/A-Wartephasen ab Fachbereich Informatik Prof. Dr. Frederik Armknecht 57

58 6.6.1 Kriterien beim Scheduling Wann sind Scheduling-Entscheidungen zu treffen? Prozesserzeugung (z.b. fork) Prozess (wird) terminiert Prozess blockiert (z.b. I/O, Semaphor) I/O Interrupt Clock Interrupt (bei präemptiven Scheduling) Kriterien: Effizienz: CPU (bzw. allg.: Ressourcen) so gut wie möglich auslasten Durchsatz: max. Anzahl ausgeführter Jobs pro Zeiteinheit Turnaround : min. Verweilzeit für einen einzelnen Prozess Antwortzeiten interaktiver Prozesse minimieren Fairness Fachbereich Informatik Prof. Dr. Frederik Armknecht 58

59 6.6.1 Kriterien beim Scheduling Gewichtung der Scheduling-Ziele kann variieren Batch Systeme Durchsatz, Turnaround, CPU Auslastung Interaktive Systeme Antwortzeit, Proportionalität Echtzeitsysteme Vorhersagbarkeit, definierte Anforderungen einhalten Allgemein Fairness Einhaltung von Regeln Balancierung Fachbereich Informatik Prof. Dr. Frederik Armknecht 59

60 6.6.1 Kriterien beim Scheduling Schwierigkeiten: Optimierungskriterien beim Scheduling teilweise widersprüchlich Optimieren nach Mittelwert oder Extremwert oder Varianz? Prozessverhalten ( kommt der nächste E/A-Befehl bald? ) kann vom Scheduler nur vermutet, aber nicht exakt vorhergesehen werden. Frage: wie soll man Hypothesen über Verhalten erstellen? Fachbereich Informatik Prof. Dr. Frederik Armknecht 60

61 6.6.1 Kriterien beim Scheduling Kenngrößen zur Bewertung von Scheduling-Verfahren: u.a. mittlere Wartezeit, mittlere Verweilzeit, CPU Auslastung Gegeben ist eine Strategie S und die Ankunftszeiten (Erzeugungszeitpunkte) a = (a 1,..., a n ) der Prozesse P i, und die Bedienzeiten (benötigte Prozessorzeit) b = (b 1,..., b n ) der Prozesse Abgangszeit c i (a,b,s) von P i Verweilzeit v i (a,b,s) = c i (a,b,s) - a i von Pi Wartezeit w i (a,b,s) = c i (a,b,s) - a i b i von Pi Mittlere Verweilzeit V(a,b,S) = 1/n Σ i=1 v i (a,b,s) Mittlere Wartezeit W(a,b,S) = 1/n Σ i=1 w i (a,b,s) Fachbereich Informatik Prof. Dr. Frederik Armknecht 61

62 6.6.2 Strategie Klassen (1) Nicht unterbrechend (non preemptive, run to completion): Scheduling nur dann möglich, wenn der rechnende Prozess blockiert wird oder wenn er terminiert einfach zu implementieren, aber Gefahr des Monopolisierens Beispiele: FCFS (first come first served) Shortest Jobs First Nicht unterbrechende Strategie: z.b. in Microsoft Windows 3.x (2) Unterbrechende Strategie (preemptive): Unterbrechung beim Eintreten von speziellen Ereignissen, z.b. I/O Interrupt, Clock Interrupt, Blockierung Beispiel: Zeitscheiben-Strategie (Round-Robin), Prioritäten Präemptive Strategien u.a. in Windows2000, Vista, Unix-Derivate Fachbereich Informatik Prof. Dr. Frederik Armknecht 62

63 6.6.3 Mehr-Schichten Scheduling Idee: analog zur Speicherhierarchie: Anbindung an CPU muss sehr schnell gehen, Prozesse müssen vorbereitet sein: eingelagert im Speicher,... Lösung: Scheduling auf unterschiedlichen Stufen: long-, medium-, short-term (CPU-Schedling) Long-term Scheduling (LTS): nicht immer vorhanden Auswahl rechenwilliger neuer Aufträge, meist Jobs aus dem Hintergrundbetrieb (batch) und Einlagerung in den Hauptspeicher Einfügen der Prozesse in die Ready-Queue LTS wird relativ selten aufgerufen, u.u. erst nach Minuten Fachbereich Informatik Prof. Dr. Frederik Armknecht 63

64 6.6.3 Mehr-Schichten Scheduling Medium-term Scheduling: bei Überlast werden Prozesse auf Hintergrundspeicher ausgelagert (swap out) und später eingelagert (swap in) kann notwendig sein, um Prozessmix zu verbessern, was ist ein Prozessmix? Was ist guter Mix? Short-term Scheduling: (CPU-Scheduling) Auswahl eines geeigneten Prozesses aus der Ready-Queue Warteschlange häufig als FIFO (First in first out) Warteschlange realisiert häufig aufgerufen: mind. einmal alle Millisekunden CPU-Scheduler ist zeitkritisch: Beispiel: Scheduler benötige 1 ms für Auswahlentscheidung, Prozess erhält 10 ms Rechenzeit, dann verschlingt Scheduling allein 1/11 = 9 Prozent der CPU-Zeit! Fachbereich Informatik Prof. Dr. Frederik Armknecht 64

65 6.6.3 Mehr-Schichten Scheduling Fachbereich Informatik Prof. Dr. Frederik Armknecht 65

66 6.6.4 Zeitscheibenstrategie (Round Robin) In heutigen Standardbetriebssystemen: Kombination aus Zeitscheiben- und Prioritätsbasierten Strategien Prozesse erhalten CPU jeweils für eine festgelegte Zeitdauer (Zeitscheibe) d spätestens nach dem Ablauf von d: CPU wird entzogen Warteraum zyklisches Bedienen der Prozesse Ready Queue als zyklische Schlange realisiert Ankunft von Prozessen Prozessor nicht beendete Aufträge Terminierte Prozesse Fachbereich Informatik Prof. Dr. Frederik Armknecht 66

67 6.6.4 Zeitscheibenstrategie (Round Robin) Gegeben seien n Prozesse in Warteraum und eine Dauer d jeder Prozess muss max (n 1) * d Zeiteinheiten warten, bis er wieder an der Reihe ist Probleme: Wahl der Dauerlänge Dauer zu groß: Effekte? Dauer sehr klein, dann process sharing, Probleme? Daumenregel: 80 Prozent der benötigten CPU-Zeit sollte kleiner als d sein. Typische Werte für d: 10 bis 100 ms (z.b. 4.3 BSD Unix 10ms) Bem.: Für d = 100ms bei 1MIPS Maschine: ca Instruktionen pro Zeitdauer d Fachbereich Informatik Prof. Dr. Frederik Armknecht 67

68 6.6.4 Zeitscheibenstrategien: Übersicht d = 1 d = 4 τ τ Quelle: W. Stallings Operating Systems (Prentice Hall) Fachbereich Informatik Prof. Dr. Frederik Armknecht 68

69 6.6.5 Prioritäten - Strategie Hintergrund bei Zeitscheibe implizit: alle Prozesse sind gleich wichtig, das ist nicht immer gewünscht (z.b. Systemprozesse) Lösung: Prozesse erhalten Priorität Fachbereich Informatik Prof. Dr. Frederik Armknecht 69

70 6.6.5 Prioritäten - Strategie Statische Prioritätenvergabe: jeder Prozess besitzt für die Dauer seiner Existenz eine feste Priorität Problem: Gefahr des Verhungerns (starvation) von Prozessen mit niedriger Prio Gerücht: bei Abschaltung der IBM 7094 am MIT 1973: Entdeckung eines nicht bearbeiteten, niedrig prioren Prozesses von 1967 Dynamische Prioritätenvergabe: die Prioritäten der Prozesse werden in gewissen Zeitabständen neu berechnet. Fachbereich Informatik Prof. Dr. Frederik Armknecht 70

71 6.6.5 Prioritäten - Strategie Kombination: mehrschichtige Warteschlangen (multi-level queues) in heutigen BS häufig: Multi-level Feedback Queues, d.h. Prozesse werden gemäß ihrer Priorität in Schlange eingeordnet Dynamik: Prozesse können zwischen Schlangen wandern. Notwendig: Schedulingverfahren pro Schlange: meist RR Scheduling zwischen Schlangen: meist nach Prioritäten Verfahren zur Neuberechnung der Prioritäten mit ggf. Wechsel der Warteschlange Beispiel: sowohl Unix-Familie als auch Windows-Familien verwenden Varianten von Multi-level Feedback Queues Fachbereich Informatik Prof. Dr. Frederik Armknecht 71

72 6.6.5 Prioritäten - Strategie Beispiel: Scheduling im BSD-Unix Betriebssystem 32-schichtiges Warteschlangen Scheduling Zeitscheibenstrategie (RR) mit überlagerter dynamischer Prioritätenvergabe Dauer d = 100ms Prioritäten von (0 ist die höchste) Prozess mit Priorität PRIO: in Schlange PRIO/4 eingeordnet Jede Warteschlange wird mit Zeitscheibenverfahren bedient Fortlaufende Neuberechnung der Prioritäten Neuberechnung der Prioritäten: p_cpu: geschätzte CPU-Nutzung des aktiven Prozesses alle 10 ms (Uhrunterbrechung, Tick): p_cpu : = p_cpu + 1 Fachbereich Informatik Prof. Dr. Frederik Armknecht 72

73 6.6.5 Prioritäten - Strategie p_nice vom Benutzer bestimmter Gewichtungsfaktor (-20 p_nice 20) positiver Wert bedeutet, dass Prozess bereit ist, weniger als den ihm zustehenden Anteil an Prozessorzeit zu beanspruchen USER_PRIO Priorität, die dem Prozess beim Start zugeteilt worden ist. nach 4 Uhrunterbrechungen (Ticks) Neu-Berechnung der Prios aller rechenbereiten Prozesse u_prio = USER_PRIO + p_cpu p_nice damit Prios nicht ständig wachsen, wird p_cpu jede Sekunde angepasst durch 2load p_cpu = * p_cpu + p_nice 2load+1 Fachbereich Informatik Prof. Dr. Frederik Armknecht 73

74 6.6.5 Prioritäten - Strategie Bem.: load ist eine Abschätzung der CPU-Auslastung Durchschnitt der rechenbereiten Prozesse über vorangegangenes 1-Minutenintervall Problem: Prio-Neuberechnung nur für rechenbereite Prozesse Passiv wartende Prozesse profitieren davon nicht notwendig: Prio-Neuberechnung wartender Prozesse: Basis: Variable p_slptime, enthält Schätzung der Wartezeit des Prozesses in Sekunden Beim Aufwecken des Prozesses: p _ cpu 2load = ( ) 2load + 1 p _ slptime * p _ cpu Fachbereich Informatik Prof. Dr. Frederik Armknecht 74

75 6.6.6 Weitere Verfahren Guaranteed Scheduling Jeder User (jeder Prozess) soll annähernd gleich viel CPU erhalten System beobachtet tatsächlichen CPU Verbrauch + steuert entsprechend Lottery Scheduling Prozesse halten Lose zur Teilnahme an Ressourcen- Verlosung System führt regelmäßig Lotterie aus Div. Ansätze möglich: Zuweisung von Losen zu neuen Prozessen Tausch von Losen zwischen Prozessen Einfach zu implementieren, transparent Fair Share Scheduling Verteilung von Ressourcen berücksichtigt Prozess-Eigentümer Aufteilung so, dass alle Eigentümer gleich (oder entspr. einem Verhältnis) bedient werden Fachbereich Informatik Prof. Dr. Frederik Armknecht 75

76 6.7 Strategien zur virtuellen Speicherverwaltung Erinnerung Virtuelle Adressräume in Seiten (pages) aufgeteilt Hauptspeicher ist in Seitenrahmen (frames) aufgeteilt Einlagern von Seiten in die Frames Seitentabelle(n) und Adressabbildung (vgl. Kapitel 4) Jetzt klären wichtiger strategischer Aufgaben Ladestrategie: welche Seite(n) ist/sind zu laden? Platzierungsstrategie: welcher Frame ist geeignet? Seitenersetzung: welche Seite(n) auslagern? Fachbereich Informatik Prof. Dr. Frederik Armknecht 76

77 6.7 Strategien zur virtuellen Speicherverwaltung (Wdh. aus Kapitel 4) Vergleich mit Caches Blöcke Seiten (pages) Cache-miss Seitenfehler (page fault) Adressen im Programm: virtuelle Adressen Adressen im Hauptspeicher: (reale) physikalische Adressen Dynamische Zuordnung von Programmadressen zu Hauptspeicheradressen durch Adressabbildung Virtual addresses Address translation Physical addresses Disk addresses Programm wird in unterschiedliche Bereiche des Hauptspeichers geladen: Relocation Fachbereich Informatik Prof. Dr. Frederik Armknecht 77

78 6.7.1 Ladestrategie Einzelseitenanforderungs-Strategie (demand paging): Idee: eine Seite wird genau dann geladen, wenn auf sie zugegriffen wird und sie noch nicht eingelagert ist Hardware-Unterstützung dafür: Valid-Bit für jede Seite Demand Paging ist häufigste Strategie in heutigen BS; Seiten-Pre-Fetching: Idee: Seiten werden im Voraus geladen, um sie sofort bei Bedarf verfügbar zu haben Fachbereich Informatik Prof. Dr. Frederik Armknecht 78

79 6.7.1 Ladestrategie Demand-Paging: Leistungsanalyse Page Fault Rate 0 <= p <= 1 if p= 0, keine Page Faults. if p= 1, jede Referenz (Zugriff) führt zu einem Page Fault Fehlerbehandlung kostet Zeit: wesentliche Beiträge dazu Behandlung des Interrupts (~ µs) Einlagern der Seite (~ 24 Millisekunden: typische Latenzzeit der Platte: 8ms, Suche 15ms, Datentransfer 1ms) Re-Start des Prozesses (~ µs) Memory access time = ~ Nanosekunden Effective Access Time (EAT): EAT = (1 p) * memory_access_time + p * (page_fault_overhead + [swap_page_out] + swap_page_in + restart) Fachbereich Informatik Prof. Dr. Frederik Armknecht 79

80 6.7.1 Ladestrategie Annahme: durchschnittliche Zeit zur Seitenfehler-Behandlung : sei 25 Millisekunden ( = µs = Nanosek) Speicherzugriffszeit liege bei 100 Nanosekunden dann gilt für EAT (in Nanosekunden): EAT = (1 p) * p (25 Millisekunden) = (1 p) * p * = * p D.h. EAT ist direkt proportional von Fehler-Rate p abhängig Falls z.b. alle 1000 Zugriffe 1 Fault: EAT = 25 µs d.h. Verlangsamung um Faktor 250 durch Demand Paging Fachbereich Informatik Prof. Dr. Frederik Armknecht 80

81 6.7.1 Ladestrategie Um eine Verlangsamung um weniger als 10% zu erhalten: notwendig: 110 > * p 10 > * p p < 0, d.h. um Page-Fault Rate auf akzeptabler Größe zu halten, darf höchstens ein Page-Fault auf Zugriffe auftreten! Fazit: gute Seitenersetzungstechniken sind erforderlich zusätzliche Maßnahmen zur Reduktion der Zugriffszeiten: u.a. Nutzung von TLB Fachbereich Informatik Prof. Dr. Frederik Armknecht 81

82 6.7.2 Seitenersetzungsstrategien FIFO Verdrängen der ältesten Seite, d.h. Kriterium ist die Zeit, wann die Seite eingelagert wurde Beispiel: Vorteil von FIFO: einfach zu implementieren z.b. über FIFO-Queue, Zeitstempel sind nicht erforderlich aber wirklich gute Strategie? Fachbereich Informatik Prof. Dr. Frederik Armknecht 82

83 6.7.2 Seitenersetzungsstrategien Schlechtes Leistungsverhalten, warum? Beispiele für ungünstige Szenarien (Charakteristika)? FIFO-Anomalie können auftreten: trotz Erhöhen der Anzahl der Frames steigt die Seiten-Fehler Zahl! Beispiel für Anomalie: Gegeben sei der Referenzstring: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 Frames 4 Frames page faults page faults Frage: Abänderung? Effizient und effektiv? Fachbereich Informatik Prof. Dr. Frederik Armknecht 83

84 6.7.2 Seitenersetzungsstrategien Second Chance: FIFO-Variante Zugriffbits r einer Seite wird gesetzt, wenn darauf zugegriffen wird. Überprüfen des Zugriffsbits der ältesten Seite. falls r=0, dann ist die Seite alt und nicht benutzt, falls r=1, Seite an das Ende der Seitenliste anhängen r-bit wird gelöscht, Ladezeit der Seite wird aktualisiert Lade-Zeit der jeweiligen Seite Page-Fault zum Zeitpunkt 20, R-Bit von Seite A sei gesetzt A wird mit neuem Ladezeitpunkt 20 umgehängt Fachbereich Informatik Prof. Fachgebiet Dr. Frederik Graphisch-Interaktive Armknecht 84Systeme (GRIS) Prof. Dr. D. Fellner 84

85 6.7.2 Seitenersetzungsstrategien Clock Algorithmus effiziente Implementierung des Second Chance Algorithm. Ansatz: Seiten werden in zyklischer Liste verwaltet (Uhr) Der Zeiger der Uhr zeigt auf die älteste Seite. Seitenfehler: Seite unter der Zeigerposition: falls r=0, auslagern der Seite, und Zeiger vorrücken. Anderenfalls r:=0 und Zeiger vorrücken bis Seite mit r-bit = 0 gefunden Worst Case: alle r-bits gesetzt alle Seiten erhalten 2-te Chance degeneriert zu FIFO! Fachbereich Informatik Fachgebiet Graphisch-Interaktive Systeme (GRIS) Prof. Dr. D. Fellner 85

86 6.7.2 Seitenersetzungsstrategien LRU (Least recently used) Verdrängen der am längsten nicht genutzten Seite, im Vergleich zur optimalen Strategie: Blick in die Vergangenheit und nicht in die Zukunft Beispiel: 12 Faults (anstelle von 15 Faults bei FIFO) LRU ist gute Strategie, aber sehr aufwändig exakt zu implementieren, wird meist nur approximiert Fachbereich Informatik Prof. Dr. Frederik Armknecht 86

87 6.7.2 Seitenersetzungsstrategien Aging-Verfahren: Approximation von LRU Idee: Unterscheidung zwischen aktuellen und lange zurückliegenden Zugriffen ermöglichen r-bit allein ist dafür aber zu undifferenziert, deshalb wird mit jeder Seite ein Counter verbunden, meist 8-Bit Counter, initialisiert mit 0 Bei jedem Timerinterrupt: für jede Seite: Counter wird um 1 Bit nach rechts geshiftet Wert des r-bits wird zu Counter auf das am weitesten links stehenden Bit hinzuaddiert Beim Seitenfehler wird Seite mit kleinstem Counter-Wert zur Ersetzung ausgewählt Fachbereich Informatik Prof. Dr. Frederik Armknecht 87

88 6.7.2 Seitenersetzungsstrategien Beispiel: Software-Approximation von LRU mit 8 Bit Counter pro Seite und r-bit gesetzt durch Hardware sowie Timerinterrupts Unterschied zu exaktem LRU? 8-Bit Counter ausreichend? Fachbereich Informatik Prof. Dr. Frederik Armknecht 88

89 6.7.2 Seitenersetzungsstrategien Fachbereich Informatik Prof. Dr. Frederik Armknecht 89

90 6.7.2 Seitenersetzungsstrategien Beispiel Seitenersetzung unter 4BSD-Unix Kombination aus Paging und Swapping Paging: teilweise durch BS-Kern und teilweise durch Systemprozess: Pager-Daemon (Prozessnummer 2) Pager-Daemon wird periodisch alle 250 msec gestartet Pager-Daemon führt Seitenersetzungen durch: falls Anzahl der freien Frames < lotsfree, Zurückschreiben von Seiten auf Platte (=> immer mind. lotsfree freie Frames) Bem.: lotsfree i.d.r. ¼ des Arbeitsspeichers Globale Seiten-Ersetzungstrategie: 2-Hand Clock-Algorithmus auf der Core-Map (=Tabelle mit einem Eintrag per Frame) Fachbereich Informatik Prof. Dr. Frederik Armknecht 90

91 6.7.2 Seitenersetzungsstrategien Aufteilung des Arbeitsspeichers (1) nicht auslagerbarer BS-Kern, (2) Frames, (3) Core Map: nicht auslagerbare Frame-Tabelle: pro Frame ein Eintrag Fachbereich Informatik Prof. Dr. Frederik Armknecht 91

92 6.7.2 Seitenersetzungsstrategien 2-Hand Clock-Algorithmus: 2 Zeiger in Core Map Überprüfen der Seite unter vorderem Zeiger: Zurücksetzen des Zugriffbits (r), Überprüfen der Seite unter hinterem Zeiger: Auslagern, falls r=0 Nach Prüfung: beide Zeiger vorrücken, bis genügend freie Seiten (lotsfree) Fachbereich Informatik Prof. Dr. Frederik Armknecht 92

93 6.7.2 Seitenersetzungsstrategien Swapper-Prozess: wird gestartet, falls Paging-Rate zu hoch wird und die Anzahl der freien Frames ständig < lotsfree Swapper (PID 0) prüft, ob ein Prozess > 20s untätig war; der am Längsten untätige Prozess wird ausgelagert Auslagerung wird für weitere Prozesse solange wiederholt, bis genügend freier Speicher verfügbar falls keine lange wartenden Prozess gefunden: prüfe die vier größten Prozesse Auslagern des am längsten untätigen Prozesses Swapper prüft regelmässig (nach wenigen Sekunden), ob rechenbereite Prozesse einzulagern sind Auswahlfunktion: gewichtet nach Länge der der Auslagerungszeit, Größe des Prozesse, Wartezeit etc. Swap-in großer Prozesse nur, wenn genügend Speicher vorhanden, da Einlagern aufwändige Operation Fachbereich Informatik Prof. Dr. Frederik Armknecht 93

94 6.8 Dateien und Dateisystem Datei-Konzept Motivation: Vielzahl unterschiedlicher Speichermedien: Bänder, Platte etc. Abstraktion von physikalischen Speicher-Eigenschaften: Definition einer logischen Speichereinheit (Datei) Notwendigkeit zur langlebigen Datenspeicherung! D.h. Speicherung im Prozessadressraum ist nicht sinnvoll! Warum? Lösungsansatz: Datei Konzept zur dauerhaften (persistenten) Speicherung von Daten, Informationen, Programmen auf Platten oder anderen externen Speichermedien Fachbereich Informatik Prof. Dr. Frederik Armknecht 94

95 6.8.1 Dateikonzept Persistente Speicherung: Dateien überdauern das Terminieren von Prozessen, durch die sie erzeugt wurden Datei: Information gespeichert als: Folge von Bytes (z.b. Unix) oder als Folge von Records Benutzer legt Semantik fest BS kennt keine Semantik, es verwaltet nur uninforme, benannte Container Dateiattribute: Information über Datei: u.a. Name, Daten, Erzeugungszeitpunkt, Schutzbits, Größe, Zeitpunkt der letzten Änderung, Zeitpunkt des letzten Zugriffs,... Fachbereich Informatik Prof. Dr. Frederik Armknecht 95

96 6.8.1 Dateikonzept Beispiele für Datei-Attribute Fachbereich Informatik Prof. Dr. Frederik Armknecht 96

97 6.8.1 Dateikonzept Dateitypen: Klassen von Dateien mit Charakteristika: üblicherweise ist die Typ-Identifikation Teil des Dateinamens, das ist die sog. Datei-Extension Beispiele: vgl. Tabelle Sinn der Extension: Hinweise für BS über den Typ der gespeicherten Daten z.b. BS kann beim Öffnen einer.doc Datei die assoziierte Anwendung starten, z.b. Word-Prozessor prn, ps, pdf mpeg, mov, rm Fachbereich Informatik Prof. Dr. Frederik Armknecht 97

98 6.8.1 Dateikonzept Beispiele: Datei-Typen unter Unix (a) ausführbare Datei, Magic Number enthält Infos über Typ (b) Archiv-Datei weitere Typen u.a. gewöhnliche Dateien: ASCII oder Binärdatei Verzeichnisse Zeichenorientierte Spezialdatei: serielles... E/A-Geräte Fachbereich Informatik Prof. Dr. Frederik Armknecht 98

99 6.8.1 Dateikonzept Datei-Strukturierung meist hierarchische Struktur (Bäume, Graphen) Verzeichnis-Datei: Zusammenfassung von Dateien Verzeichnis (directory) enthält Verwaltungsinformationen Aufteilung der Plattenspeicher in Partitionen (Volumes) Device-Directory (Volume Table) enthält Informationen über die Dateien (Verzeichnisse) in der Partition Typische Dateisystem- Organisation Fachbereich Informatik Prof. Dr. Frederik Armknecht 99

100 6.8.1 Dateikonzept zwei-stufiges Verzeichnis Hierarchisches Verzeichnis Fachbereich Informatik Prof. Dr. Frederik Armknecht 100

101 6.8.1 Dateikonzept Häufiges Benennungs-Schema für Dateien: Pfadnamen (z.b. /usr/jim), absolute, relative Namen Traversieren des Verzeichnisbaums Beispiel: Unix-Verzeichnis-Baum Eingesetzte Algorithmen: u.a. Baumsuche Traversieren von Bäumen Einfügen/Entfernen von Knoten Fachbereich Informatik Prof. Dr. Frederik Armknecht 101

102 6.8.2 Aufgaben des Dateisystems Bereitstellung von Operationen zur: Verwaltung, Speicherung, Benennung zur gemeinsamen Nutzung und zum Schutz von Dateien Systemaufrufe auf Dateien: u.a. create: Speicher belegen, Verzeichniseintrag anlegen delete: Eintrag in Verzeichnis ungültig, Speicher freigeben open: Eintrag in open-file Tabelle des BS-Kerns close: im System belegter Tabellenplatz wird wieder freigegeben read: lesen der aktuellen Dateizeigerposition, Aufrufer muss Datenmenge und Puffer angeben z.b. int read(int fd, char *puffer, int max_n) Fachbereich Informatik Prof. Dr. Frederik Armknecht 102

103 6.8.2 Aufgaben des Dateisystems File System API-Aufrufe unter Windows und Vergleich mit UNIX Fachbereich Informatik Prof. Dr. Frederik Armknecht 103

104 6.8.3 Dateisystem Implementierung Speicherung und Verwaltung von Dateien auf Platte Repräsentation der Dateien durch Dateideskriptoren Realisierung von Dateien durch Blöcke Datei-Deskriptor: Datenstruktur pro Datei Dateityp, Länge der Datei, Plattenblöcke Beispiel: 64 Byte inode (Unix) owner joe, uid group student, guid type regular file perms rwxr-xr-x accessed Feb :00 P.M. modified Feb :16 A.M. Adressen der 10 ersten Plattenblöcke einfach indirekt zweifach indirekt dreifach indirekt Fachbereich Informatik Fachgebiet Graphisch-Interaktive Systeme (GRIS) Prof. Dr. D. Fellner Verweise auf Plattenblöcke

105 6.8.3 Dateisystem Implementierung Wo, wie findet man was auf der Platte? Dateiverwaltung/-speicherung auf dem Plattenspeicher: Inhaltsverzeichnis des Datenträgers (hier Platte) Inhaltsverzeichnis (z.b. Superblock unter Unix) befindet sich an fest definierter Position auf der Platte Typisches Plattenlayout: MBR: Master Boot Record MBR-Code lädt Inhalt des Boot-Blocks der aktiven Partition Fachbereich Informatik Prof. Dr. Frederik Armknecht 105

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

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

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

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

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

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

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

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

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff

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

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

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

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2 disk2vhd Wie sichere ich meine Daten von Windows XP? Inhalt Thema Seite Vorwort 1 Sichern der Festplatte 2 Einbinden der Sicherung als Laufwerk für Windows Vista & Windows 7 3 Einbinden der Sicherung als

Mehr

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

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

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. Aufgabe 1.1: Systeminformationen Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. a) Wie lautet der Name des von Ihnen verwendeten Rechners? Der Systemname

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

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

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

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

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

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

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

Mehr

Zunächst empfehlen wir Ihnen die bestehenden Daten Ihres Gerätes auf USB oder im internen Speicher des Gerätes zu sichern.

Zunächst empfehlen wir Ihnen die bestehenden Daten Ihres Gerätes auf USB oder im internen Speicher des Gerätes zu sichern. Anleitung zum Softwareupdate Eycos S 75.15 HD+ Eine falsche Vorgehensweise während des Updates kann schwere Folgen haben. Sie sollten auf jeden Fall vermeiden, während des laufenden Updates die Stromversorgung

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

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

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

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

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

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

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

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse

Mehr

Workshop: Eigenes Image ohne VMware-Programme erstellen

Workshop: Eigenes Image ohne VMware-Programme erstellen Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community

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

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

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

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

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

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

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

Mehr

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

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

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Systeme 1. Kapitel 10. Virtualisierung

Systeme 1. Kapitel 10. Virtualisierung Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich

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

ESB - Elektronischer Service Bericht

ESB - Elektronischer Service Bericht Desk Software & Consulting GmbH ESB - Elektronischer Service Bericht Dokumentation des elektronischen Serviceberichts Matthias Hoffmann 25.04.2012 DESK Software und Consulting GmbH Im Heerfeld 2-4 35713

Mehr

Lösungsvorschlag zur 4. Übung

Lösungsvorschlag zur 4. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

VMware als virtuelle Plattform

VMware als virtuelle Plattform VMware als virtuelle Plattform Andreas Heinemann aheine@gkec.informatik.tu-darmstadt.de Telekooperation Fachbereich Informatik Technische Universität Darmstadt Übersicht Einführung VMware / Produkte /

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

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

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben. Win 7 optimieren Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben. Gliederung Standardmäßige Vorgaben von MS Win7. Warum Daten verschieben? Welche Vorteile bringt die Datenverschiebung?

Mehr

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

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können.

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können. Herzlich Willkommen! Ohne ein Betriebssystem ist ein Computer für den normalen Anwender nutzlos. Erst das Betriebssystem macht es möglich mit den Computer zu arbeiten und auch andere Anwendungsprogramme

Mehr

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion Ontrack EasyRecovery 11 Neue Funktionen S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion S.M.A.R.T.-Analysefunktion S.M.A.R.T. Scan identifiziert die Menge und den

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

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

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz Mitgelieferte Komponenten: Mitarbeiter-Alarm 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz Hardware: (optional) Alarmtaster befestigen

Mehr

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

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

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

E-Mail Adressen der BA Leipzig

E-Mail Adressen der BA Leipzig E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung

Mehr

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

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

Mehr