Informatik II. Betriebssysteme. Betriebssysteme. Betriebssysteme. Betriebssysteme. Rainer Schrader. 26. November 2008
|
|
- Eleonora Gerber
- vor 2 Jahren
- Abrufe
Transkript
1 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 26. November / 73 2 / 73 Gliederung Aufgaben Scheduling Speicherverwaltung ist ein Standardthema in jedem Informatik-Curriculum wir können es in dieser Grundvorlesung nur kurz (zwei Vorlesungen) anreißen wir beginnen mit einer Übersicht und geben dann exemplarisch erste Einblicke in zwei zentrale Themen: Prozess-Scheduling und Speicherverwaltung im Hauptstudium wird regelmäßig eine Spezialvorlesung angeboten weiterführende Literatur: A. S. Tanenbaum: Moderne, 2. Auflage, Person Studium, / 73 4 / 73
2 Aufbau eines Computersystems (Schichtenmodell) Was ist ein Betriebssystem? Das Betriebssystem (BS) ist ein Programm, das die Verbindung zwischen Nutzer und Hardware herstellt es schafft dem Nutzer eine Umgebung, in der seine Programme einfach und schnell ausgeführt werden können daher muss es vorhandene Hardware-Ressourcen (CPU-Zeit, Speicher, Ein-/Ausgabe ) den Anwendungsprogrammen zur Verfügung stellen und dabei Kriterien wie Fairness und Effizienz berücksichtigen User 1 User 2 User Compiler, Editor,..., Spiele,...., DB-System Anwendungsprogramme Betriebssystem Computerhardware 5 / 73 6 / 73 Ein Betriebssystem Nach DIN umfasst ein Betriebssystem: die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen verschleiert die Komplexität der Maschine dem Anwender gegenüber (Abstraktion), stellt Benutzerschnittstellen bereit (Shell, Kommandointerpreter, Desktop, ), verwaltet Maschinen-Ressourcen wie Prozessor(en), Hauptspeicher (Cache), Hintergrundspeicher (Platte, Band, ), Geräte (Terminal, Scanner, Drucker, Platten, ), Rechenzeit koordiniert den Ablauf von Prozessen. 7 / 73 8 / 73
3 Historische Klassifikation 2. Computergeneration ( ) Charakteristikum: Transistoren und Stapelverarbeitung 1. Computergeneration ( ) hatte kein Betriebssystem Charakteristikum: Röhren und Steckbretter Programmierung via Steckbrett, Lochstreifen, Lochkarten keine (höheren) Programmiersprachen Eingabe eines Auftrags in geschlossener Form: Programm + Daten + Steueranweisungen Ausgabe nach Abschluss der Bearbeitung i.d.r. als Ausdruck auf Papier Batch-Betrieb (Stapelverarbeitung) einfache Job-Control-Sprache Programmiersprachen (Assembler, Cobol, Fortran, ) Magnetbänder als Zwischenspeicher 9 / / Computergeneration ( ) Charakteristikum: Integrierte Schaltkreise und Multiprogrammierung Kommunikation mit Computer via Tastatur, Bildschirm zum Starten, Verfolgen und Beeinflussen des Programms Multiprogrammierung (mehrere Programme gleichzeitig im Speicher) simulierte quasisimultane Bearbeitung der einzelnen Programme, Timesharing-Betrieb mit Terminals SPOOLING (simultaneous peripheral operation on line) direktes Speichern von Rechenaufträgen und Druckaufträgen auf der Platte MULTICS als UNIX-Vorgänger (MIT) 4. Computergeneration (seit 1980) Charakteristikum: Personal Computer (PC) UNIX und C Multitasking, d.h. quasisimultane Bearbeitung weitgehend unabhängiger Programmabschnitte innerhalb eines Auftrags MS-DOS, Windows Mehrprozessorsysteme mit verteiltem Betriebssystem 11 / / 73
4 Weitere Entwicklung verbesserte Unterstützung der Parallelverarbeitung Realzeitfähigkeiten zur Unterstützung von Multimedia-Anwendungen (Audio, Video) Software in Eingebetteten Systemen benötigt Betriebssystem-Unterstützung (Palm OS, Windows CE) Klassifikation nach Betriebsart des Rechensystems Stapelverarbeitungs- (batch processing) Dialogbetrieb- (interactive-, dialog-processing) Netzwerk- (network processing) Realzeit- (realtime processing, fest nach oben begrenzte Antwortzeiten) für Prozessrechner für Steuerungs- und Regelaufgaben (kurze Antwortzeiten gefordert) Universelle (erfüllen mehrere Kategorien) 13 / / 73 Klassifikation nach der Anzahl gleichzeitig laufender Programme (task b= Prozess b= Aufgabe, Auftrag) Einzelprogrammbetrieb (single tasking): Abarbeitung mehrerer Programme nacheinander Mehrprogrammbetrieb (multitasking): Abarbeitung mehrerer Programme gleichzeitig bei mehreren CPUs oder zeitlich verschachtelt b= quasiparallel Klassifikation nach der Anzahl gleichzeitig arbeitender Benutzer Einzelbenutzerbetrieb (single user mode) Computer exklusiv für einen Benutzer Mehrbenutzerbetrieb (multiuser mode) Mehrere Nutzer greifen via Terminals oder Netzwerkverbindung auf den Computer zu 15 / / 73
5 Strukturierung eines BS in mehreren Schichten/Schalen: Klassifikation nach der Anzahl der verwalteten Prozessoren/Rechner Ein-Prozessor-Betriebssystem (Rechner, die auf von-neumann- Architektur aufgebaut sind), haben nur einen Universalprozessor. Zugehörige unterstützen nur einen Prozessor Mehr-Prozessor-Betriebssystem (Hier existieren wenigstens zwei Prozessoren, die auf verschiedene Weisen gekoppelt sein können.) Hardware BS - Kern Anwendungsprogramme 17 / / 73 Strukturierung eines BS in mehreren Schichten/Schalen: Die unterste Schicht umfasst alle hardwareabhängigen Teile des Betriebssystems (insbesondere die Verarbeitung von Interrupts) setzt direkt auf die Rechner-Hardware auf verwaltet reale Betriebsmittel stellt statt dessen virtuelle Betriebsmittel bereit wird auch als BIOS (Basic I/O-System) bezeichnet alle weiteren Schichten arbeiten dann hardwareunabhängig Strukturierung eines BS in mehreren Schichten/Schalen: die nächste Schicht enthält grundlegende E/A-Dienste für Plattenspeicher und Peripheriegeräte die darauffolgende Schicht behandelt Kommunikations- und Netzwerkdienste, Dateien und Dateisysteme weitere Schichten sind je nach Anforderungen möglich 19 / / 73
6 jede Schicht bildet abstrakte (virtuelle) Maschinen diese kommunizieren mit benachbarten Schichten mittels wohldefinierter Schnittstellen ruft ggf. Funktionen in der nächstunteren Schicht auf stellt Funktionen für die nächsthöhere Schicht zur Verfügung Gesamtheit der Funktionen einer Schicht: Dienste der Schicht Gesamtheit der Vorschriften, die für Nutzung der Dienste einzuhalten sind: = Protokoll höhere BS-Schichten sind durch Programmierschnittstellen (API = Application Program Interface) vom Kern getrennt dadurch haben Änderungen am BS-Kern oder der Hardware keine (kaum) Auswirkungen auf Anwenderprogramme Prozesse beim Multitasking-/Multiuser-Betrieb müssen die Betriebsmittel auf die Programme verteilt werden zu jedem Programm muss vermerkt werden, welche Betriebsmittel (Speicher, CPU-Zeit, ) von ihm benötigt werden diese Informationen über benötigte Betriebsmittel für Programme werden zusammen mit dem Programm selbst auch Prozess (task) genannt Prozess = Programm im Stadium der Ausführung in Multitaskingsystemen muss das BS die Abarbeitungsreihenfolge der Prozesse festlegen (Scheduling) das Scheduling ist selbst in Spezialfällen (nonpreemptive Scheduling) aus algorithmischer Sicht schwierig, wie wir später sehen werden 21 / / 73 Prozessverwaltung ein Prozess ( Elternprozess ) kann andere Prozesse ( Kindprozesse ) erzeugen ein Programm (Job) in einem Multiprogramm-System kann mehrere Prozesse (Multiprocessing) erzeugen z.b. in Unix kann man dem Interpreter (der shell) das Kommando geben: cat Text1 Text2 pr lpr dieses Kommando erzeugt drei Prozesse: (1) Aneinanderhängen von Text1 und Text2 (2) Konvertieren einer Textdatei in eine ausdruckfähige Datei (3) Ausdrucken (durch wird die Ausgabe eines Prozesses zur Eingabe des nächsten) bei Einprozessorsystemen ist nur ein Prozess aktiv, die anderen sind blockiert bei gleichzeitigem Zugriff von zwei Prozessen auf das gleiche Betriebsmittel muss dieser Zugriff koordiniert werden dazu ordnet man den Prozessen Prozesszustände zu, die die Koordination herstellen: Prozesszustand running ready waiting blocked new killed terminated Bedeutung Prozess wird gerade ausgeführt Prozess ist zur Ausführung bereit und wartet auf einen freien Prozessor Prozess wartet auf das Eintreten eines Ereignisses (z.b. auf Freigabe eines von ihm belegten Betriebsmittels) Prozess wartet auf ein fremdbelegtes Betriebsmittel Prozess wird erzeugt Prozess wird vorzeitig abgebrochen Prozess ist beendet 23 / / 73
7 Zustandsdiagramm (Übergänge zwischen Prozesszuständen) new admitted interrupted exit terminated Bei Prozessen ist das Betriebssystem primär zuständig für die Prozessverwaltung: Aufteilung von Speicherplatz und CPU-Zeit ready running Bereitstellung von Mechanismen zur Synchronisation und Kommunikation unter Prozessen Behandlung von Verklemmungs-Situationen ( Deadlock ) I/0 or event completion scheduler dispatch waiting I/0 or event wait 25 / / 73 im Betriebssystem werden Prozesse durch Prozesskontrollblöcke (PCB) repräsentiert diese enthalten alle für das Betriebssystem wichtigen Informationen über die Prozesse z.b. sind folgende Informationen gespeichert: PCB-Feld Bedeutung Status enthält den Prozesszustand Programmzähler enthält die Adresse der nächsten auszuführenden Instruktion Speichermanagment enthält die letzten Werte der Speicherregister, Seitentabellen, und weitere Informationen für die Speicherverwaltung E/A-Status enthält Listen zugeordneter E/A-Geräte, offener Dateien, Accounting enthält die verbrauchte CPU-Zeit, Zeitbeschränkung, Buchungszahlen, CPU-Scheduling enthält Prioritäten, Zeiger auf Warteschlangen und andere Scheduling-Parameter Die Kommunikation zwischen Prozessen erfolgt durch: Message Passing oder Shared Memory Message Passing das BS baut eine uni- oder bidirektionale Verbindung zwischen zwei Prozessen A und B auf dazu dienen Systemaufrufe wie open_connection, accept_connection oder close_connection mit send und receive erfolgt ein Nachrichtenaustausch über diese Verbindungen 27 / / 73
8 Shared Memory ein Prozess hebt die exklusive Nutzung von Speicherbereichen auf über diese Speicherbereiche können Nachrichten ausgetauscht werden Prozess A speichert Nachrichten an Prozess B in dessen Speicherbereich ohne Umweg über den BS-Kern Vorteile von Shared Memory gegenüber Message Passing: grosse Datenmengen können schneller übertragen werden mögliche Probleme bei Shared Memory: Synchronisation und Konsistenz: A muss geschrieben haben, erst danach kann B lesen Singletasking der Hauptspeicher enthält: den Betriebssystemkern darauf aufsetzend den Command Interpreter (CI) darauf wird ein aufgerufener Prozess exklusiv in den Speicher geladen Bei Multiprogramming und Multitasking können daneben mehrere Prozesse gleichzeitig im Speicher sein: P j... P 2 P 1 CI BS-Kern Das BS regelt den Zugriff der Prozesse auf die CPU Scheduling. 29 / / 73 Das Scheduling geschieht auf zwei Ebenen: der Langzeit-(Job)Scheduler ist zuständig für die Prozesse, die in Speicher geladen werden Scheduling Aufgaben Scheduling Speicherverwaltung der Kurzzeit-(CPU)Scheduler legt fest, welcher der geladenen Prozesse im ready-status wann auf CPU zugreifen kann gute Scheduler achten auf einen ausgewogenen Job-Mix zwischen E/A-intensiven und rechenintensiven Prozessen im Interesse einer guten Auslastung des Gesamtsystems bei Multitasking organisiert das Betriebssystem das timesharing meist durch eine Round-Robin-Strategie: Prozesse erhalten Zeitintervalle zur Bearbeitung zugeteilt nach Ablauf des Zeitintervalls wird der Prozess zugunsten eines anderen unterbrochen und hinten in eine Prioritätsschlange eingefügt 31 / / 73
9 wenn die Nachfrage das Angebot übersteigt, ist auch eine Koordination des Zugriffs auf Betriebsmittel nötig Scheduler koordinieren dann die Prozesse durch Einsortieren in eine Warteschlange, wodurch die Zuweisung des Prozessors an die Prozesse geregelt wird Schedulingstrategien versuchen bestimmte Ziele zu realisieren: möglichst hohe CPU-Auslastung (Wunsch : 100%, real 40 90%) hoher Durchsatz (throughput) d.h. möglichst hohe Zahl an Jobs pro Zeiteinheit als Maß für hohe Systemauslastungdarauf Die Ziele beim Prozess-Scheduling umfassen Fairness (kein Job sollte anderen gegenüber ohne Sondervereinbarung bevorzugt werden) niedrige Ausführungszeit (turnaround time) (Zeitspanne von Jobbeginn bis Jobende; enthält die Summe der Zeiten in Warteschlangen, der Ausführung selbst (Bedienzeit) und der Zeit für Ein- und Ausgabe) niedrige Wartezeit (waiting time) (Die Schedulerstrategie beschränkt sich auf die Minimierung der Wartezeit in der ready-liste) niedrige Antwortzeit (response time) (Zeit zwischen interaktiver Eingabe und Ausgabe der Antworten auf ein Ausgabegerät) 33 / / 73 obige Ziele können natürlich nicht gleichzeitig verfolgt werden, z.b. führt die Bevorzugung kurzer Prozesse zu gutem Durchsatz und niedriger Antwortzeit, verletzt aber die Fairness ein idealer Scheduling-Algorithmus existiert nicht daher ist es sinnvoll, in einem Scheduling-Algorithmus alle möglichen Schedulingstrategien zu integrieren je nach konkreter Situation können verschiedene der oben genannten Ziele stärker berücksichtigt werden das Scheduling ist für das BS ein zentralen und recht kompliziertes Gebiet wir wollen uns einen einen ersten Eindruck verschaffen wir beschäftigen uns nur mit dem Fall, in dem laufende Prozesse nicht unterbrochen werden dürfen (non-preemptive Scheduling) wir betrachten zunächst den 1-Prozessorbetrieb 35 / / 73
10 Scheduling-Strategien first-come-first-served (FCFS oder FIFO): Jobs werden bei ihrem Entstehen in die Warteschlange eingefügt shortest-job-first (SJF): Prozesse mit (geschätzt) kürzester Ausführungzeit werden zuerst bedient highest-response-ratio-next (HRN): Jobs mit maximalem Verhältnis Ausführungszeit Bedienzeit werden zuerst bedient (den Zeiten liegen Schätzungen zugrunde bzw. werden aktualisiert) priority-scheduling (PS): ein Job, der in ready-liste aufgenommen wird, wird in die Warteschlange gemäß seiner Prioritäten einsortiert Beispiel: es kommen fast gleichzeitig drei zu bearbeitende Jobs mit Rechenzeitbedarf 9, 3 und 1 Zeiteinheiten an die first-come-first-served-strategie bearbeitet zuerst der Job mit Laufzeit 9, danach der mit Laufzeit 3 und schließlich der mit Laufzeit 1 abgearbeitet Für diese Reihenfolge beträgt die mittlere Fertigstellungszeit 1 3 ( ) = 34 3 = Zeiteinheiten die shortest-job-first-strategie wählt die umgekehrte Reihenfolge die mittlere Fertigstellungszeit ist 1 ( ) = 6 Zeiteinheiten 3 berechnet SJF stets eine Reihenfolge der Jobabarbeitung mit kleinster mittlerer Fertigstellungszeit? 37 / / 73 Satz SJF berechnet zu einer Folge von n Jobs mit Ausführungszeiten t 1, t 2,..., t n eine Abarbeitungsreihenfolge mit minimaler mittlerer Fertigstellungszeit. Beweis: die mittlere Fertigstellungszeit bei Abarbeitung der Jobs in Reihenfolge J i1, J i2,..., J in beträgt: 1 n nx kx k =1 j=1 dieser Ausdruck wird minimiert, wenn t ij = 1 n nx (n + 1 k )t ik k =1 nt i1 + (n 1)t i t in 1 + t in minimiert wird letzterer Ausdruck wird aber offensichtlich für t i1 t i2 t in 1 t in minimiert, d.h. bei jeder von der SJF-Strategie gewählten Reihenfolge. 39 / 73 die SJF-Strategie hat aber den Nachteil, dass sie das Fairnessgebot nicht beachtet bei kontinuierlich entstehenden neuen Jobs kann es zum Verhungern (starvation) eines Jobs mit hoher benötigter Rechenzeit kommen Bemerkungen zu HRN und PS: highest-response-ratio-next (HRN): bevorzugt Jobs mit kurzer Bedienzeit mit zunehmender Wartezeit steigt aber auch die Präferenz für Jobs mit langen Bedienzeiten priority-scheduling (PS) bei statischen Prioritäten können Prozesse wie bei SJF verhungern das kann mittels dynamischer Prioritätenzuweisung verhindert werden 40 / 73
11 Wir betrachten nun Scheduling in Multiprozessorsystemen (non-preemptive) Szenario: wir haben m gleichartige Prozessoren P 1,..., P m auf ihnen sollen n Jobs J 1,..., J n mit Ausführungzeiten t 1,..., t n abgearbeitet werden es gibt keine Abhängigkeiten zwischen den Jobs (Prozessen) ein Belegungsplan (Schedule) S legt für jeden Job J i den Prozessor und das Zeitintervall zur Abarbeitung fest sei f i Zeitpunkt, zu dem die Abarbeitung von J i unter S beendet ist dann beträgt die mittlere Fertigstellungszeit (mean finish time (MFT)) der Jobs unter S: MFT(S) = 1 n nx i=1 f i sei w i > 0 ein zu J i gehöriges Gewicht, 1 i n die mean weighted finish time (MWFT) unter S ist: MWFT(S) = 1 n nx w i f i sei T j Zeitpunkt, zu dem Prozessor P j alle durch S zugewiesenen Jobs abgearbeitet hat dann beträgt die Fertigstellungszeit (makespan, finish time (FT)) von S: FT(S) = max 1 j m {T j } Ziel: bestimme einen Schedule S, der die jeweils gewünschte Zielfunktion MFT(S), MWFT(S) bzw. FT(S) minimiert i=1 41 / / 73 man kann zeigen, dass alle drei Probleme in einem präzisierbaren Sinne schwierig sind ( NP-schwierig Komplexitätstheorie, letztes Kapitel dieser Vorlesung) Beispiel: Belegungsplan für 10 Jobs J 1, J 2,..., J 10 mit Bearbeitungszeiten t 1, t 2,..., t 10 für m = 3 Prozessoren: wir zeigen nun, dass man das Minimum von FT(S) aber bis auf den Faktor 2 approximieren kann P 1 t 1 t 4 t 7 t 9 wir nehmen an, dass die Jobs so schnell entstehen, dass keiner der Prozessoren vorher arbeitslos ( idle ) wird P 2 P 3 t 2 t 6 t 3 t5 t 5 t 8 Strategie: ordne den nächsten ankommenden Job dem Prozessor zu, dessen bisherige Belegung ihn am wenigsten lange auslastet bis hier sind alle Prozessoren beschäftigt sei FT opt die Fertigstellungszeit eines optimalen Belegungsplans für die n Jobs sei FT approx die Fertigstellungszeit eines Belegungsplans, der durch die obige Strategie erzielt wird 43 / 73 Offensichtlich gilt: FT opt max{ 1 m P n i=1 t i, max 1 i n {t i }} Daraus folgt: FT approx 1 Xn 1 t i + t n 1 m m i=1 nx i=1 t i + max 1 i n {t i } 2 FT opt. 44 / 73
12 mit diesem (kurzen) Einblick in die Scheduling-Problematik wollen wir uns hier begnügen bereits der Einprozessor-Fall ohne Unterbrechungen wird NP-schwierig, wenn Abhängigkeiten berücksichtigt werden müssen (Bedingungen der Art, dass ein Job A beendet sein muss, bevor ein Job B beginnen kann) nebenläufige Prozesse (auf Multiprozessorsystemen oder im Time-Sharing auf Einprozessorsystemen) können zu korrupten Daten führen, wenn nicht gewisse kritische Bereiche nur exklusiv betreten werden können Verklemmungen ( Deadlocks ), d.h. permanente Blockaden für gewisse Prozesse, von denen jeder auf ein Ereignis wartet, das nur von einem anderen dieser Prozesse ausgelöst werden kann, müssen vermieden werden eine Spezialvorlesung über im Hauptstudium beinhaltet eine Fülle von derartigem Material, das algorithmisch interessant und anspruchsvoll ist wir schließen diesen Abschnitt mit einer Illustration eines berühmten Deadlocks jenseits der fünf Philosophen kennen nur zwei Zustände in ihrem Leben: denken oder essen sie sitzen an einem runden Tisch, in deren Mitte eine Schüssel mit Spaghetti steht jeder Philosoph hat einen Teller vor sich, und zwischen je zwei Philosophen befindet sich eine Gabel ein Philosoph kann nur essen, wenn er beide Gabeln hat hier wird die Gefahr des Verhungerns offensichtlich 45 / / 73 Gliederung Aufgaben Scheduling Speicherverwaltung wir wenden uns nun der Speicherverwaltung zu wir werden drei Techniken kennen lernen, die von modernen Prozessoren und den darauf laufenden n unterstützt verwendet werden: Paging Segmentierung Buddy Systeme 47 / / 73
13 Der Speicher eines von-neumann-rechners ist typischerweise hierarchisch aufgebaut: CPU Register Cache Hauptspeicher Hintergrundspeicher Faustregeln wir betrachten zwei benachbarte Stufen in der Speicherhierarchie, z.b. Hauptspeicher/Hintergrundspeicher der Speicher wird in Seiten (pages) gleicher Größe partitioniert Ablauf der Speicherverwaltung: eine im Hauptspeicher nicht vorhandene Seite wird benötigt ( Seitenfehler ) diese wird aus dem erheblich langsameren Hintergrundspeicher in einen freien Seitenrahmen geladen falls der Hauptspeicher schon vollständig belegt war, muss dafür eine Seite ausgelagert werden S17 Seiten (90,10)-Regel: 90% der Zugriffe auf Daten benötigen lediglich 10% der Daten, auf denen das Programm arbeitet Speicherzugriffe auf den Cache sind wesentlich schneller als auf den Hauptspeicher diese wiederum wesentlich schneller als die auf einen Hintergrundspeicher (eine Festplatte ist ungefähr mal langsamer als der Hauptspeicher.) S18 S19 S20 S21 S22 hjkhk S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 49 / 73 S23 SPEICHER HINTERGRUNDSPEICHER 50 / 73 online-algorithmen Paging-Problem gegeben eine Folge σ = (σ 1, σ 2,..., σ m ) von Seitenreferenzen lagere die Seiten so aus und ein, dass die Anzahl der Seitenfehler minimal wird Strategie: LFD (longest forward distance): lagere bei einem Seitenfehler eine solche Seite aus, die am weitesten in der Zukunft nachgefragt wird. Satz (Belady (1966)) Ein auf LFD basierender Algorithmus ist ein optimaler (offline-)algorithmus für das Paging-Problem. sind Verfahren für Probleme, über die nicht alle Informationen a priori vorliegen sei σ = (σ 1, σ 2,..., σ m ) eine Folge von Anfragen ( requests ) ein online-algorithmus A muss die Anfrage σ i sofort beantworten, sobald σ i eingelesen worden ist er hat dabei keine Kenntnis der weiteren Anfragen σ i+1,..., σ m auch m ist im allgemeinen nicht bekannt online-algorithmen sind i.a. nicht kostenoptimal in der Regel versucht man die Lösung des besten fffline-algorithmus zu approximieren die Bewertung der Güte von online-algorithmen erfolgt im Vergleich mit den Kosten eines besten Offline-Algorithmus für beliebige Anfragefolgen (bei vollständiger Information) 51 / / 73
14 bezeichne C A (σ) die Kosten der Lösung eines online-algorithmus A zur Verarbeitung der Eingabefolge σ bezeichne C OPT (σ) die Kosten der Lösung eines optimalen offline-algorithmus OPT auf σ ein online-algorithmus A ist c-kompetitiv, falls für alle Eingabefolgen σ gilt: C A (σ) c C OPT (σ) + a für eine Konstante a. (beim Multiprozessor-Scheduling haben wir kürzlich bereits einen 2-kompetitiven online-algorithmus kennen gelernt) online-algorithmen für das Paging-Problem entscheiden bei einem Seitenfehler zum Zeitpunkt t allein aufgrund von σ 1, σ 2,..., σ t, welche Seite entfernt werden soll. LIFO: entferne bei einem Seitenfehler die zuletzt geladene Seite FIFO: entferne bei einem Seitenfehler die zuerst geladene Seite LRU (least recently used): entferne bei einem Seitenfehler die Seite, auf die am längsten nicht mehr zugegriffen worden ist LFU (least frequently used): entferne bei einem Seitenfehler die Seite, auf die am seltensten zugegriffen wurde FWF (flush when full): lösche bei einem Seitenfehler den gesamten Speicher 53 / / 73 1 S S11 S2 S9 S Flush When Full kjkdfl Analyseergebnisse LIFO, FWF und LFU sind nicht c-kompetitiv für beliebiges c > 0 LRU und FIFO sind k -kompetitiv, wenn k die Anzahl der Seitenrahmen im Hauptspeicher bezeichnet kann man den Faktor k schlagen? 6 S10 0 nein, denn es gilt: 7 S / / 73
15 Satz Sei A ein online-algorithmus für das Paging-Problem. Wenn A c-kompetitiv ist, so gilt c k. Beweis: sei S = {p 1,..., p k +1 } eine Folge von Seiten sei A ein beliebiger online-algorithmus und OPT ein optimaler offline-algorithmus betrachte die Anfragefolge, die jeweils diejenige Seite anfordert, die A nicht im Hauptspeicher hat d.h. A macht bei jeder Anfrage einen Seitenfehler OPT habe einen Seitenfehler bei Anfrage σ t beim Bedienen von σ t kann OPT eine Seite auslagern, die während der nächsten k 1 Anfragen σ t+1,..., σ t+k 1 nicht nachgefragt wird somit macht OPT für je k aufeinanderfolgende Anfragen höchstens einen Fehler. Segementierung beim Paging ist der Speicher in gleichgroße Seiten (pages) aufgeteilt dagegen sind bei der Segmentierung die Daten gemäß ihres logischen Zusammenhangs in Segmente (von i.d.r. unterschiedlicher Größe) zusammengefasst jedes Segment besitzt einen Namen und eine Länge Adressen bestehen aus Segmentnamen und dem Offset innerhalb des Segments bei Numerierung der Segmente besteht eine (logische) Adresse eines Datums aus einem geordnetem Paar (Segmentnummer,Offset) das Betriebssystem lädt die für die Prozess benötigten Segmente in den Hauptspeicher 57 / / 73 wenn der Hauptspeicher nicht gross genug ist: einzelne Segmente werden bei Anfrage in den Hauptspeicher geladen, andere werden dazu ausgelagert Resultat: der Hauptspeicher ist mit Segmenten und Lücken belegt benachbarte Lücken sollten zu einer großen vereinigt werden dazu muss das Betriebssystem eine Liste der Segmente und Lücken mit den zugehörigen Größen verwalten wenn ein neues Segment im Hauptspeicher abgelegt werden soll, gilt es, eine Lücke zu finden, die mindestens so groß wie das abzulegende Segment ist zur Auswahl der Lücke gibt es u.a. folgende Strategien: First Fit (FF): lege das Segment in die erste passende Lücke ab Best Fit (BF): platziere das Segment in die kleinste passende Lücke Worst Fit (WF): platziere das Segment in die größte passende Lücke Rotating First Fit (RFF): wie FF, jedoch wird für das nächste Segment vom Ende der Lücke, in die das letzte Segment gelegt wurde, aus die nächste passende Lücke gesucht 59 / / 73
16 Analyseergebnisse Beispiel, in dem das BF versagt: Speicherfüllung: Nachteil von FF: ws entstehen viele kleine Lücken am Speicheranfang und das führt zu einem hohen Speicherverlust Nachteil von BF: die nach Platzierung verbleibenden Restlücken sind oft zu klein für eine spätere Nutzung, so dass viele unbrauchbare kleine Lücken entstehen eine Simulation ergibt die folgende Relation zwischen den Strategien ( S 1 > S 2 bedeutet S 1 ist besser als S 2 ): RFF > FF > BF > WF für jede der Strategien lassen sich Beispiele konstruieren, für die sie optimal bzw. sehr schlecht sind füge folgende Segmente in der angegebenen Reihenfolge ein: BF fügt erst 40 in 50er Lücke ein, danach 45 in 90er Lücke, danach ist kein Platz mehr für 50 FF und RFF dagegen können das Einfügen der drei Segmente ohne Probleme lösen, wenn sie bei der 1. Lücke beginnen von der 2. Lücke aus gestartet versagen FF und RFF ebenfalls 61 / / 73 Buddy-Systeme (Buddy = Kumpel) sind ein Kompromiss zwischen Paging und Segmentierung sie erzeugen weniger Speicherverschnitt als die Segmentierung und sind weniger starr als Paging der physikalische Speicher habe die Größe 2 n Speicheranforderungen seien nur in Zweierpotenz-Größen erlaubt bei einer Anforderung wird der Speicher solange in kleinere Zweierpotenzen zerlegt, bis die gewünschte Größe verfügbar ist zu jeder Zweierpotenz k gibt es eine Liste L k, in der der freie Speicher der Länge 2 k vermerkt ist soll ein Segment der Größe 2 k gespeichert werden, so wird in L k nachgesehen, ob freier Speicher der gewünschten Länge vorhanden ist ist L k, so platziere das Segment in einen freien Speicherbereich und lösche diesen aus L k ist L k =, so suche bei L k +1 beginnend, falls nötig in L k +2, u.s.w., solange, bis ein freier Speicherbereich gefunden ist zerlege diesen durch Halbieren solange, bis eine freie Stelle der gewünschten Größe gefunden ist, in die das Segment dann eingefügt wird füge die restlichen durch Halbieren erzeugten freien Zweierpotenzen in die entprechenden Listen ein 63 / / 73
17 Beispiel: n = 8. Füge ein Segment der Größe 2 6 in den ursprünglich leeren Speicher ein wird ein Segment der Größe 2 k freigegeben, so prüfe, ob der zugehörige Buddy mit demselben Vater auch frei ist falls ja, vereinige sie zu einem freien Speicherbereich der Größe 2 k +1 und iteriere solange, bis keine Buddies mehr vereinigt werden können freier Speicher belegter Speicher splitten in Buddies 65 / / 73 sei der Speicheradressbereich das Intervall [0, 2 n 1 ] in Binärdarstellung: [ , ] mit n-bit langen Speicheradressen durch die hierachische Teilung umfasst ein Speicherbereichs der Länge 2 k im Buddy-System ein Intervall [α 0. {z.. 0 }, α 1. {z.. 1 } ] k Bits k Bits der (n k )-Bit lange Präfix α repräsentiert den zugehörigen Speicherbereich der Buddy α der Länge 2 k wird in zwei Buddies α 0 und α 1 der Länge 2 k 1 zerlegt bei Freigabe der Buddies α 0 und α 1 werden diese zum Buddy α wiedervereinigt benachbarte freie Buddies können nicht immer zusammengefasst werden, z.b lassen sich nicht zusammenfassen! 0 Zerlegung oder Wiedervereinigung zweier Buddies erfolgt in Zeit O(1) deshalb erlauben Buddysysteme eine sehr schnelle Speicherverwaltung sie bieten deutlich mehr Flexibilität, unterschiedlich große Speicheranforderungen zu bedienen, als Pagingverfahren da die Speicherzuteilung immer in Zweierpotenzen erfolgt, wird jedoch Speicherplatz verschwendet / / 73
18 Analyse sei die Gesamtspeicherplatzgröße 2 n Modellannahme: alle 2 n möglichen Speichergrößen s (1 s 2 n ) werden mit Wahrscheinlichkeit p(s) = 1 2 n angefordert (Gleichverteilungsmodell: dieses ist in der Regel nicht realistisch, ein realistisches Modell hängt von der jeweiligen Anwendung ab) dann gilt für die mittlere tatsächliche Speicherplatzanforderung S a in diesem Modell: S a = 2 n X s=1 s p(s) = 1 n X2 s 2 n = 1 2 n 2n (2 n + 1) 2 s=1 = 2 n n 1 bei Buddy-Systemen: werden s Speicherplätzen angefordert so wird ein Buddy der Größe 2 log 2 (s) bereitgestellt Anfragen : n Reservierung : {z } {z } {z n } n 1 2 n d.h. für 2 i 1 aufeinanderfolgende verschiedene Speicherplatzanforderungen stellen Buddysysteme effektiv jeweils 2 i Speicherplätze bereit 69 / / 73 S b bezeichne die mittlere tatsächliche Speicherplatzbelegung durch das Buddy-System im Modell. Dann gilt: S b = 2 n X s=1 2 log 2 (s) p(s) # = 1 Xn 1 "1 + 2 i 2 i+1 2 n i=0 # = 1 Xn 1 " i 2 n i=0 = 1» n 1 2 n = 1 2 n + 2n n n+1 (geometrische Reihe) somit beträgt die mittlere Speicherplatzausnutzung: S a = 2n 1 S 1 b = 3 3 2n+1 4 d.h. 75% des reservierten Speicherplatzes werden im Mittel tatsächlich belegt. 71 / / 73
19 soweit der kurze Einblick in das Kapitel viele wichtige Themen habe wir gar nicht angesprochen: Vermeidung von Deadlocks Synchronistaion Dateiorganisationen Benutzerverwaltung Sicherheitsmechanismen Details werden in der Spezialvorlesung über Betriebsysteme besprochen 73 / 73
Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation
Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management
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:
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
Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel
Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche
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
wichtigstes Betriebsmittel - neben dem Prozessor: Speicher
Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen
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
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.
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
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
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
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
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
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
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
Kapitel 2: Betriebssysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2013 Kapitel 2: Betriebssysteme Vorlesung:
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
13. Übung mit Musterlösung
13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten
Betriebssysteme und Systemsoftware
Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments
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
Lösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
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
8. Betriebssysteme. und überwachen.
8. Betriebssysteme 8.1. Was ist ein Betriebssystem? Unter einem Betriebssystem (engl. operating system) versteht man Software, die zusammen mit den Hardwareeigenschaften des Rechners die Basis zum Betrieb
Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.
Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle
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
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
Kompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
Kapitel III. Prozessverwaltung. VO Betriebssysteme
Kapitel III Prozessverwaltung V 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist
4. Übung - Betriebssysteme
1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben
Prozessor (CPU, Central Processing Unit)
G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher
Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht
Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?
Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015
1. Einführung Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015 1.1 Inhalt der Vorlesung Ziele und Funktionen von Betriebssystemen Unix und Linux: Benutzerschnittstelle, Skript-Programmierung
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten
1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?
1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage
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....................................
B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1
Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.
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
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
Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008
Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren
Speicher Virtuelle Speicherverwaltung. Speicherverwaltung
Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach
Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9
Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun
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
Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling
Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung
Informatik I Modul 6: Betriebssysteme
Informatik I Modul 6: Betriebssysteme 2012 Burkhard Stiller M6 1 Modul 7: Betriebssysteme Überblick von Betriebssystemen Auftrags- und Speicherverwaltung Einlagerung, Zuweisung, Ersetzung 2012 Burkhard
Kapitel 2: Betriebssysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten
3. Scheduler und Schedulingstrategien
5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen
Betriebssysteme (BTS)
9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007
Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
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
Kapitel 11: Speicherverwaltung
Kapitel 11: Speicherverwaltung Motivation Speicherverwaltungsmodul Entwurfsparameter Konkrete Speicherverwaltungsverfahren o Ringpuffer o Stapel o Randkennzeichnungsverfahren o Halbierungsverfahren o Linux
Technische Grundlagen. Betriebssystem, Mac, GoLive
Technische Grundlagen Betriebssystem, Mac, GoLive Betriebssystem Nutzer Anwendungsprogramme Systemprogramme Hardware U1...Un Textverarbeitungssysteme Buchungssysteme Verwaltungsprogramme Spiele Kommandointerpreter
Einführung in die Informationstechnik. II Einführung in Betriebssysteme
Einführung in die Informationstechnik II Einführung in Betriebssysteme 2 Übersicht Themen Betriebssysteme allgemein Microsoft Windows Unix am Beispiel Linux Bedienoberfläche von Linux Unix am Beispiel
Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski
Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS
Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012
Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
Speicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
Kapitel VI. Speicherverwaltung. Speicherverwaltung
Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene
4.3 Hintergrundspeicher
4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower
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
Vorl. 6: Single- und Multitasking
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorl. 6: Single- und Multitasking Peter B. Ladkin Single Tasking Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe
Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)
Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012
Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P
Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.
5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert
Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum
Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede
Musterlösung Prüfung SS 2002
Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:
Paging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
Von Prozessen und Prozessoren (Prozess-Management)
Von Prozessen und Prozessoren (Prozess-Management) V1.1 Technische Berufsschule Zürich IT Seite 1 Aus dem Geschichtsbuch: Grossrechner IBM 7094, 1965: Online- und Batchbetrieb IBM-Lochkarte Technische
Was ist ein Betriebssystem? Geschichte der Betriebssystemen Klassifizierung der Betriebssystemen Aufgaben des Betriebssystems
Betriebssysteme Was ist ein Betriebssystem? Geschichte der Betriebssystemen Klassifizierung der Betriebssystemen Aufgaben des Betriebssystems Inhalt 1 Was ist das Betriebssystem Programme (Systemprogramme),
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4
Kapitel 2. Betriebssysteme
Systeme 1 Kapitel 2 Betriebssysteme WS 2009/10 1 Übersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte
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
BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist.
BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden 5.2 Prozessorvergabe für Kern-Fäden Scheduler-Struktur Struktur der Warteschlangen Parallele Bearbeitung von Warteschlangen Strategien Statische oder
Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012
Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
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 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme
Musterlösung der Abschlussklausur Betriebssysteme
Musterlösung der Abschlussklausur Betriebssysteme 14. Februar 2014 Name: Vorname: Matrikelnummer: Tragen Sie auf allen Blättern (einschlieÿlich des Deckblatts) Ihren Namen, Vornamen und Ihre Matrikelnummer
Redwood Cronacle und REALTECH theguard! Integration
Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.
Basisinformationstechnologie I
Basisinformationstechnologie I Wintersemester 2012/13 05. Dezember 2012 Betriebssysteme Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)
Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor
Sicherheitsdienste Schutz von Rechnern und Speichermedien vor bewusster Manipulation unbefugtem Zugriff Fehlfunktionen des Systems menschlichem Fehlverhalten # 86 Klassen von Bedrohungen der Sicherheit
Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen
Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle
Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
OPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
(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
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 3 Betriebssystem Überwacher
Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003
Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme
William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium
William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser
stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei
Dateiverwaltung Dateiverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Dateien weitere zentrale Aufgabe des Betriebssystems: "Verbergen" der Details der Struktur von und der Zugriffe auf Sekundärspeicher-Medien
^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,
Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1
Technische Informa/k II
Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene
Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin
Operating System Design - Now and Then Christian Behnert Proseminar Technische Informatik FU Berlin 29.01.09 Motivation Wie kann man Betriebssysteme historisch klassifizieren? Welche technischen Entwicklungen
6.Vorlesung Betriebssysteme Hochschule Mannheim
Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing
Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2
Vorlesung: Betriebssysteme T. Fahringer Institut für Informatik Universität Innsbruck VO Betriebssysteme Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick VO Betriebssysteme
Betriebssysteme Wintersemester 2005/06
Betriebssysteme Wintersemester 2005/06 Vorlesung 4 CPU Scheduling Dr. Oliver Waldhorst Rechnernetze und verteilte Systeme Universität Leipzig http://www.informatik.uni-leipzig.de/rnvs Fahrplan Nr. 1 2
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
Inhalte der heutigen Vorlesung
Inhalte der heutigen Vorlesung Wiederholung und Fortsetzung Hardware Von-Neumann-Architektur (Rechnerarchitektur) Speicher Software Wie groß ist ein Gigabyte? http://www.spiegel.de/netzwelt/tech/0,1518,606308,00.html
Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Betriebssysteme eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Betriebssystem Was ist das? Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS
Ü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