Prüfungsschwerpunkte Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "Prüfungsschwerpunkte Betriebssysteme"

Transkript

1 Prüfungsschwerpunkte Betriebssysteme Welche Architekturansätze für Betriebssysteme kennen Sie? Verstreute Kerne: Kern (unstrukturiert) in den Programmen verteilt.trennung zwischen Kern und Applikation ist nicht unbedingt offensichtlich. Kern besteht im Wesentlichen nur aus ein paar Subroutinen Sinnvoll für Microcontroller-BS Residente Kerne: Kern ist in einem separaten Kernadressraum untergebracht. Dieser ist i.d.r. besonders geschützt. Anwendung bei größeren Betriebssystemen Kernarchitekturen Monolithisches System ( zusammenhängend ) keine Trennung zwischen Applikation & Betriebssystem Monolithischer Kern/ Makrokern Trennung zwischen Anwendungen & Betriebssysteme kein Schutz der Kernkomponenten untereinander, müssen vertrauenswürdig sein (z.b. Linux) Mikrokern Kern nur für Prozessverwaltung & Interprozess-Kommunikation (z.b. OS X) Vorteile: bessere Strukturierung und leichte Erweiterbarkeit bzw. Flexibilität sicherheitskritische Bereiche relativ isoliert und klein Nachteil: etwas schlechtere Performance Hybridkernel Kompromiss zwischen Mikrokernel und Makrokern, bei dem aus Geschwindigkeitsgründen einige Teile von monolithischen Kerneln in den Kern integriert und deswegen kein reiner Mikrokernel mehr ist, aber noch nicht genügend Funktionen besitzt um als monolithischer Kernel zu gelten (z.b. Windows NT)

2 Welches sind die Schichten und deren Funktionen in einem modernen Mikrokern- Betriebssystem? Prozessbereich Bedienung, Abwicklung, Anwendungen, Verwaltung & Betrieb der Betriebsmittel -- Kernschnittstelle -- Infrastrukturbereich Kernoperationen Prozesswechseloperationen Datenstrukturoperationen Kern- Speicheroperationen Was besagt das Ende-zu-Ende-Prinzip im Kontext von Betriebssystemen aus? Stundenglas-Architektur verschiedenartigste Anwendungen BS-Schnittstelle verschiedenartigste Hardware Anwendungsneutralität mit Unterstützung spezifischer Anwendungen so weit oben wie möglich, Betriebssysteme sollten anwendungsneutral sein Trennung von Strategie & Mechanismus: Mechanismen in unteren Schichten können in oberen Schichten anwendungsspezifisch parametrisiert werden (z.b. Scheduling, Paging) Orthogonalität: unabhängige Funktionen im BS, frei kombinierbar SPOT-Rule: Single Point of Truth keine Redundanzen bei Code und Daten jede Funktion wird nur einmal implementiert Was ist ein Betriebsmittel? ist eine Ressource, die von einem Prozess als Aktivitätsträger zur korrekten Ausführung im System benötigt wird Was ist der Unterschied zwischen physischen und logischen Betriebsmitteln? logisch: abstrakt, zur Organisation erdacht (z.b. Datei), durch reale BM realisiert physisch: Hardware des Systems, real vorhanden zum Anfassen

3 Erklären Sie den Unterschied zwischen Verwaltung und Betrieb? Verwaltung: Zugangskontrolle und Steuerung, nur bei Wettbewerb nötig Summe aller Aufgaben, die organisatorisch vor und nach der Benutzung von Betriebsmitteln erforderlich sind Betrieb: tatsächliche Nutzung, z.b. Datentransport Wie wird ein Prozess in einem Rechner repräsentiert? Prozess ist die Einheit der Ausführung (Aktivität), bei der ein Programm(teil) auf einem virtuellen Prozessor ausgeführt wird (thread, process, task) repräsentiert durch Prozesskontrollblock (PCB) mit Prozesscharakteristika (Kennung, Name), Zustandsinformationen (Befehlszähler, Stapelzeiger, Registerinhalte) und Verwaltungsdaten (Priorität, Rechte, Statistik) Welche Möglichkeiten gibt es zur Organisation mehrerer Prozesse in einem System? effizienter Umgang mit oft sehr vielen PCB notwendig -> Prozesskontrollblöcke müssen verwaltet werden einzelne Skalare konstant langes Array dynamische Liste Baum invertierte Tabelle (in mehreren gleichgroßen Array, die jew. nur ein Attribut enthalten) Teilmengenbildung (jeweils nach wichtigen Attributen, ist meist effizienzsteigernd) Diskutieren Sie den Unterschied zwischen dynamischen und statischen Systemen! statisch: Prozesse sind vorher bekannt & für bestimmte Anwendung realisiert, PCB einmalig erzeugt und als Programmvariable vereinbart dynamisch: Prozesse werden mittels Kernoperationen erzeugt und gelöscht Was ist der Grund für die Einführung des Prozess-Konzeptes? viele Befehlsfolgen Prozessor kann nur eine bearbeiten Umschalten erforderlich Prozesskonzept ermöglicht: Modellierung von Nebenläufigkeiten Verdrängung gegenseitigen Schutz von Aktivitäten Bereitstellung einer Prozessumgebung Erläutern Sie verschiedene Möglichkeiten zur Prozessumschaltung und diskutieren Sie Vor- und Nachteile! Übergang: Unterbrechung der Prozessbearbeitung Fortführung eines anderen Prozesses Anforderungen: Merken der Fortsetzstelle des unterbrochenen Prozesses: fest vorgegeben oder über dynamische Variable Auswahl des nächsten Prozesses: fest vorgegeben oder über Auswahlkriterium Umladen der Registerinhalte bzw. des Prozesszustandes: individuell für jeweils rechnenden Prozess, evt. durch Hardware-Unterstützung

4 Freiwilliges Umschalten Umschalten als offene Befehlsfolge, durch direkten Sprung einprogrammiert feste Fortsetzadresse nötig Auswahl des nächsten Prozesses muss vorher getroffen werden Zustandsregister müssen evt. manuell umgeladen werden => somit wenig flexible Minimallösung, z.b. nur für bestimmte Realzeitsysteme veränderliche Fortsetzadressen Adresse des nächsten Befehls dynamisch in einer next-instruction (ni) Variable direkt im Prozesskontrollblock des laufenden Prozesses gemerkt Umschalten über Unterprogramm, dass Sprungziel und Fortsetzung zentral verwaltet Automatisches Umschalten extern ausgelöstes Umschalten durch Timer direkt aus der Hardware heraus Programme können unverändert bleiben, Unterbrechung zu jedem Zeitpunkt möglich Bedingtes Umschalten Abhängig vom Eintreten einer Bedingung busy waiting (z.b. Warten auf einzulesende Daten) wäre ungünstig Was ist ein Kontext? im Prozessor abgelegte, prozessspezifische Information mit Repräsentationen des Zustands (Inhalte der Rechenregister, Indexregister,... ) Darstellung der Ablaufumgebung (Inhalte der Adressregister, Segmenttabellen, Unterbrechungsmasken, Zugriffskontrollinformationen,...) bei konstanten Daten im PCB keine Rettung der Informationen nötig Kontextwechsel oft sehr aufwendig Hardwareunterstützung möglich (Sicherungsbefehl oder mehrere Registersätze) schnell wenn Adressierungsumgebung die gleiche bleibt Welche prinzipiellen Ansätze zur Auswahl des nächsten zu aktivierenden Prozesses kennen Sie (bitte keine Policies)? zyklisches Umschalten: mit bestimmter totaler Ordnung (z.b. Nummerierung) Ankunftsreihenfolge Prioritäten: statisch oder dynamisch, auch mit mehrdimensionaler Ordnung in statischen Systemen: per einprogrammiertem Sprungbefehl Diskutieren Sie verschiedene Möglichkeiten zur Realisierung eines gegenseitigen Ausschlusses auf Kernelebene sowohl bei Ein- als auch bei Mehrprozessorsystemen! verzahnte Ausführung führt zu Problemen kritische Abschnitte dürfen nicht parallel ausgeführt werden, sonst sind inkonsistente Zustände möglich einfachster Weg: gesamten Kern als kritischen Abschnitt sehen und unter gegenseitigen Ausschluss (mutual exclution) stellen

5 Einprozessor -system Mehrprozessorsystem Ohne Unterbrechungen Keine Sicherungsmaßnamen notwendig Setzen einer Kernsperre mit test_and_set Befehl als unteilbare atomare Einzeloperation: Abfragen & Schreiben einer Bedinungsvariablen busy waiting Mit Unterbrechungen Einfache Unterbrechungssperre disable interrupt [ Kernoperation ] enable interrupt Erst Unterbrechungssperre und dann zusätzlich Kernsperre (anders herum geht nicht da sonst nach Setzen der Kernsperre Unterbrechung möglich) Welche Zustände hat (normalerweise) ein Prozess? Beschreiben Sie die möglichen Zustandsübergänge! Nichtaktiv: PCB und evt. Programm- & Datenbereich existieren, aber Prozess ruht (wartet auf die Bereitstellung initialer Betriebsmittel) Bereit: fortsetzbar, aber ohne Rechenzeit Wartend: Warten auf Eintreten einer Bedingung Wie kann das Leerlaufproblem gelöst werden? Problem: alle Prozesse warten & Prozessor hat keine Arbeit Lösung: Leerlauf-Prozess: nie blockierend, geringste Priorität, ohne Ende, kann jederzeit verlassen werden als leere Schleife Dynamischer Stopp (Spezialbefehl ohne Speicherzugriffe) nützliche Aufgaben (Prüfung, Reorganisation)

6 Welche Beziehungen gibt es zwischen Betriebssystemprozessen und nebenläufigen Programmierkonzepten auf Sprachebene? in Programmiersprachen oft Unterstützung von Prozesskonzepten klassischer Mehrprogrammbetrieb: unabhängige Prozesse in eigenen Adressräumen Thread-Konzept ohne BS-Unterstützung: Prozesse für BS nicht sichtbar, behandelt Programm als einen Prozess 1:1 Abbildung der programmiersprachlichen Prozesse auf die BS-Prozesse keine Prozessunterstützung in Sprache: paralleles Programm besteht aus BS-Prozessen, die sich einen Addressraum teilen Thread: Untereinheit im Prozess: gleicher Adressraum, schnelles Umschalten, nur ein PCB für alle, Kommunikation ohne Einbeziehen des Kernels pthreads: zur optimalen hardwareunterstützten Umsetzung Prozess: eigener Adressraum Thread: gemeinsamer Prozessraum seines Gesamtprozesses Was ist Verdrängung? Strategie, die lauffähige Prozesse temporär suspendiert Welche Problemvarianten gibt es beim Scheduling? = Ablaufplanung... zeitliche & räumliche Zuordnung von Aktivitäten zu Instanzen hier: Zuordnung von Prozessen zu (virtuellen) Prozessoren Anzahl der Prozessoren, ggf. ob alle homogen bzw. gleich schnell sind statische oder dynamische Prozessmenge Scheduling zu Laufzeit (online) oder bereits vorher (offline) Ausführungszeiten, wichtig für Realtime-Scheduling und faire Algorithmen Kommunikationszeiten von Interaktionen zwischen Prozessen Umschaltzeiten: Rüstzeiten, Schedulingzeiten Möglichkeit der Verdrängung

7 Abhängigkeiten zwischen den Prozessen existieren Reihenfolge- oder Synchronisationsbeziehung sind best. Deadlines, Prioritäten oder periodische Prozesse zu berücksichtigen welches Ziel soll erreicht bzw. muss aus mehreren optimiert werden, z.b. Prozessorauslastung, Maximale Antwortzeit, Durchsatz, Fairness Welche Schedulingansätze kennen Sie? Diskutieren Sie jeweils die Vor- & Nachteile! First Come First Served FIFO, nach Reihenfolge ihrer Ankunft in der Bereitliste komplette Abarbeitung oder freiwilliges Aufgaben, Länge nicht berücksichtigt Last Come First Served umgekehrte Ankunft, komplette Abarbeitung oder freiwilliges Aufgeben (selten) Last Come First Served - Preemptive Resume Neuankömmling verdrängt sofort verdrängter Prozess hinten an Warteschlange kurze Prozesse bevorzugt aber: lange Prozesse ggf. mehrfach verdrängt Round Robin Bearbeitung in Ankunftsreihenfolge, Verdrängung und Umschalten erfolgt nach fester Zeitscheibe τ fairstes Verfahren: Ziel: gleichmäßige Verteilung von Prozessorkapazität und Wartezeit Zeitscheibenlänge ist Optimierungsproblem für großes τ Näherung an FCFS für kleines τ zu viel Aufwand für Umschalten trotzdem: kurze E/A benachteiligt, weil schnell wieder blockiert (Lösung: Virtual RR mit E/A-Warteschlängen mit Restkapazität) Verhältnis: τ / τ (n-1) τ Ausführungszeit, τ (n-1) Wartezeit Priorities Nonpreemptive Neuankömmlinge nach Priorität eingeordnet Prozessorbesitz bis zum Ende oder freiwilliger Aufgabe Priorities Preemptive wie NP, aber mit Verdrängungsprüfung auf rechnenden Prozess Shortest Job Next kürzester Prozess als nächstes; bis dessen Ende oder freiwilliger Abgabe wie Prio-NP, wenn Bedienzeit als Priorität gesehen bevorzugt kurze Prozesse ohne Verdrängung! aber: Bedienzeitschätzung erforderlich & mgl. Verhungern langer Prozesse

8 Shortest Remaining Time Next kürzeste Restbedienzeit wird Folgeprozess Verdrängung des rechnenden Prozesses möglich! aber Bedienzeitschätzung erforderlich & mgl. Verhungern langer Prozesse Highest Response Ratio Next response ratio: dynamische Berechnung und Nutzung als Priorität ohne Verdrängung! kurze Prozesse bevorzugt, lange Prozesse sammeln Wartepunkte (Multilevel) Feedback Priorität des Prozesses nach CPU-Nutzung herabgesetzt verschiedene Warteschlangen können z.b. mit Round Robin und verschiedenen Zeitscheiben τ verwaltet werden gegen lange Prozesse bei keinem Vorwissen über Bedienzeit Prozessoraffinität: bei mehreren Prozessoren sollten Prozesse immer auf dem gleichen rechnen, da noch Cache-Inhalte vorhanden sein können Was ist das Problem der Prioritätsinvertierung? höchstpriorisierter Prozess will Ressource, diese ist aber besetzt keine Freigabe möglich weil blockierender Prozess zu niedrig für CPU => Priorität von ressourcenbesitzendem Prozess A steigt an bis er rechnen darf Welche Schedulingstrategien kennen Sie, wenn Fristen (Deadlines) eingehalten werden müssen? Inwieweit sind diese Strategien optimal? Echtzeitscheduling mit Fristen innerhalb von Zeitschranken Hard real-time systems nicht tolerierbarer Systemausfall droht (AKW) Soft real-time systems in Grenzen tolerierbare Qualitätseinbußen drohen (VoIP)

9 Verspätung ist Überschreitung der Sollzeiten (ei > di) Zielfunktion von Tolerierbarkeit abhängig: allgemein Einhalten (aller) Deadlines Permutation der Prozesse Minimierung der maximalen Verspätung bei Einprozessorsystemen, ohne Verdrängung & ohne Prozessabhängigkeiten: Jacksons Regel Earliest Due Date/ EDD-Theorem Jeder Ablaufplan, in dem Prozesse nach nichtfallenden Sollzeitpunkten geordnet ausgeführt werden, ist optimal bezüglich der max. Verspätung. Tasks nach ihren Deadlines sortiert notwendige Sortierung in O(n log n) Voraussetzung: Prozesse müssen zu beliebiger Zeit starten können real oft frühestmögliche Startzeitpunkte verschiedene Startzeiten machen Problem NP-hart damit nicht in polynomialer Zeit optimal lösbar bei Einprozessorsystemen mit Verdrängung Jacksons Regel Earliest Deadline First/ EDF-Theorem Ablaufplan, in dem immer der Prozess mit frühestem Sollzeitpunkt unter allen ablaufbereiten zugeordnet wird, ist optimal bezüglich der maximalen Verspätung nach früherer Deadline geordnet, Prozesse mit früherer Deadline verdrängen Periodische Prozesse Echtzeit-Anwendungen häufig periodisch Prozesse durch Periode gekennzeichnet Test auf Durchführbarkeit für jeden einzelnen Prozess 0 Bedienzeit Deadline Periode für mehrere: Bedienzeit Bedienzeit muss in einer Periode Periode zu erledigen sein

10 ratenmonotones Planen Prozesse haben statische Priorität, umgekehrt proportional zur Periode Prozess mit kleinster Periode erhält höchste Priorität für n unabhängige Prozesse und (Periode = Deadline) muss gelten wenn benötigte Prozessorlast obere Schranke zulässiger Schedule für große n geht Schranke der CPU-Auslastung gegen ln 2 69,3 % feste Prioritäten gut für Effizienz bei Prioritätenverwaltung Welche Schedulingstrategie wird in UNIX (z.b. 4.3BSD) genutzt? 4.3BSD Multilevel Feedback Queues mit Bevorzugung interaktiver Jobs (I/O-lastig) Prioritäten von in verschiedenen Queues 0-49 Systemprozesse im Kern bereite Benutzerprozesse bereite Prozesse in 32 Run-Queues, mit jeweils 4 Prioritäten und Round-Robin damit immer schnelle Ermittlung des nächsten Prozesses bei untere Prios aufwendige Berechnung der Priorität: Basispriorität + [abgeschätzte CPU-Last/4] + 2 x nutzersetzbare Wichtigkeit Basissprioritäten fest, z.b. 4: wait for memory, 40: wait for signal CPU-Last berechnet aus CPU-Last der letzten Rechenzeit und durchschnittlicher Länge der Run-Queue während der letzten Minute und P_nice Dämpfungsfilter reduziert alten Rechenzeiteinfluss in Zeitintervallen Neuberechnung nur für aktuellen Prozess, nicht Echtzeit aktuelle Last wird berücksichtigt starke Prozessorbenutzung führt zu schlechter Priorität ( Alterung ), weil rechenintensive Prozesse benachteiligt, I/O-intensive bevorzugt hohe Parallelität zwischen aktiven Rechnerkomponenten (CPU & Peripherie) Linux 2.4 Prozessverwaltung über zwei doppelt verkettete Listen Verwaltung aller Prozesse Verwaltung aller bereiten Prozesse (ready to run) drei Prozessklassen konventionelle Prozesse: Interaktive und Batch Prozesse Art priorisiertes Round-Robin FIFO-Echtzeit-Prozesse (-> FIFO) zuerst abgehandelt und je nach Round-Robin-Echtzeitprozesse (-> RR) Klasse geschedult (mit Prioritäten) zugewiesene Prozessorzeit in Epochen unterteilt Epochenbeginn: alle lauffähigen Prozesse Zeitquantum erhalten Epochenende: alle lauffähigen haben ihres verbraucht Zeitscheiben variieren mit Prozessen und Epochen (entspricht Priorität) jeder Prozess hat einstellbare Zeitquantumbasis

11 z.b.nice(2) 20 Ticks ~ 210 ms Zeitquantum eines Prozesses nimmt periodisch ab Gütefunktion jedes laufbereiten Prozesses vom Scheduler berechnet und ausgewählt Quantum = Restquantum + Priorität Güte = 0... Quantum verbraucht 0 < Güte < 1000: konv. Prozess mit Restquantum in dieser Epoche Güte > Echtzeit-Prozess Ansatz einer Echtzeit-Priorisierung, schnelle Auswahl bei wenigen Prozessen aber: bei vielen Prozessen schlecht skalierbar (Aufwand steigt exorbitant) Linux O(1)-Scheduler ab 2.6 Ziele: bessere Skalierbarkeit und Symmetrisches Multiprozessorsystem (SMP) eine Run-Queue pro Prozessor mit zwei Prioritäts-Arrays Array für alle Prozesse mit positivem Quantum Array für alle Prozesse mit verbrauchtem Quantum Vertauschen der Pointer wenn keine Prozesse mit Quantum mehr vorhanden Prioritätsarray jedes Array verwaltet Queue von lauffähigen Prozessen pro Prioritätslevel und ein Bitmap Standard: 140 Prioritätslevel Bitmap: Bit für jedes Level effektives Finden: wird Prozess laufbereit, dann korrespondierendes Bit in Bitmap des Arrays gesetzt erstes gesetztes ist höchstpriorisierter Prozess innerhalb einer Priorität wird Round Robin genutzt Linux SMP Scheduler Prozessoraffinität (Ausführung auf dem gleichen Prozessor) wird berücksichtigt Lastbalancierung: Ringpuffer für Last der letzten 4 Sekunden Bei Zugriff auf mehrere Runqeues wird stets in der gleichen Reihenfolge gelockt

12 Wie wirkt sich die Last in die Priorität eines Prozesses aus? Alterung : starke Prozessornutzung schlechte Priorität, weil rechenintensive Prozesse benachteiligt I/O- intensive (kurze Prozessorbelegung) bevorzugt Was bewirkt der nice-systemruf? nutzersetzbare Wichtigkeit als Faktor in Prioritätsberechnung Standardwert vorgegeben nur root kann verbessern user kann netterweise eigene Priorität heruntersetzen Erläutern Sie den Zusammenhang zwischen Koordination, Kooperation und Kommunikation! (expliziter Datentransport) (Zugriff auf gemeinsame Daten) [funktional] [funktional] Kanalkonzept Semaphoren synchron/asynchron Kapazität (Ablaufabstimmung) [zeitlich] signal/wait Erläutern Sie das Konzept der Signalisierung! Reihenfolgebeziehung mittels der Kernoperationen signal & wait über gemeinsame binäre Variable wait() wartet auf signal(), um starten zu können wechselseitige Synchronisierung: auch Gruppensignalisierung möglich mit Einzel-Einzel, Einzel-UND, UND-Einzel, sowie UND-UND Beziehungen alles auch mit ODER möglich: n:1, 1: m, n:m Beziehungen wechselseitige Synchronisation an einer Stelle [sync()] heißt Rendezvous multicast (1:n-viele), broadcast (1:n-alle), combine (n:1) Wie lassen sich Sperren mit Hilfe von Signalisierung realisieren? Lock(s) =wait Unlock(s) =signal aber Variable s jetzt in Schleife abgefragt Synchronisationsbarrieren: wechselseitige Synchronisierung für mehrere Prozesse/ Gruppen an einer Stelle

13 Was ist ein Kanal? Kanal: Datenobjekt mit Operationen Senden & Empfangen Parameter: Name des Kanalobjekts & die Adresse des Behälters Varianten: Wertübergabe: Msg. im Kanal abgelegt, 2 Kopiervorgänge Referenzübergabe: nur Adresse der Msg. im Kanal abgelegt, 1 Kopiervorgang Behälterübergabe: Teile des Sende-Adressraums, die Msg. Enthalten, in Adressraum des Empfängers eingeblendet, ohne Kopieren kurz: temporäre Ablage, Buffer begrenzte Kapazität bedarf Strategien, wie Überschreiben, Abweisung od. Blockierung Welche Varianten gibt es bei der Koordinierung in der Kommunikation? sowie umlenkendes Senden bzw. Empfangen Was ist umlenkendes Senden/Empfangen? Idee: nach Nachrichtenübermittlung soll Empfänger auf spezielles Programmstück umgelenkt werden neben der Nachricht bzw. der Zielbehälteradresse wird Adresse eines Programmstücks abgelegt, auf die Sender/Empfänger nach Ankunft der Nachricht umgelenkt wird Erläutern Sie das Leser/Schreiber-Problem! notwendiger wechselseitiger Ausschluss verhindert Nebenläufigkeiten: beliebig viele lesende Operationen problemlos nebenläufig nur eine schreibende Operation möglich, dabei darf keiner lesen Entscheidung nötig: Leservorrang Grad der Nebenläufigkeit maximiert (2 Semaphoren, 1 Variable) Schreibervorrang Aktualität wird maximiert (5 Semaphoren, 2 Variablen) (siehe auch Erzeuger-Verbraucher-Problem und jeweilige Implementierung)

14 Vergleichen Sie Semaphoren und Monitore! Semaphore: Signalgeber - Sperrobjekte/Zählsperre zur Sicherung kritischer Abschnitte, z.b. durch aktives Warten, Zähler, Binärvariable aber Umgang relativ fehleranfällig, deshalb lieber Monitore: Objekte, die gegenseitigen Ausschluss sicher stellen automatisches Setzen & Freigegeben von Sperren ohne explizit einprogrammierte Sperroperationen zu jedem Zeitpunkt immer nur von einem Prozess nutzbar Bedingungssynchronisation: Verklemmungsverhinderung, falls Prozess im Monitor warten muss -> warten in Queue und setzen bei Eintreten fort cwait(c).. Monitor wird frei, Prozess wird blockiert und wartet auf Bedingung c csignal(c).. c ist eingetreten, wartender Prozess wird wieder freigegeben mögliche Gründe für Beschränkung: Konsistenz, Platzmangel, Leistungsabfall Wie wird in System-V-IPC von UNIX das Problem gelöst, dass bei der gewaltsamen Beendigung eines Prozesses auftreten kann, der einen Semaphor hält? statt einzelne, gibt es Arrays von Semaphoren (Semaphore Table) mehrere Semaphoren für mehrere kritische Abschnitte gleichzeitiges Bearbeiten sowie beliebiges In-/Dekrementieren möglich Undo Table: jeder weitere Semaphor für jeden Prozess protokolliert (gespiegelt) bei Terminierung Semaphor um Spiegelwert korrigiert Nennen Sie verschiedene Klassifikationskriterien für Betriebsmittel! Existenzform real... physisch existent, z.b. Prozessor logisch... Abstraktion des realen, z.b. Datei als Abstraktion der Platte virtuell... oft temporäre Abbildung auf reales; wenn größere BM-Anzahl als tatsächlich vorhanden vorgespielt wird, z.b. virtueller Speicher Persistenz wiederverwendbar verbrauchbar... erzeugt für einmalige Nutzung, z.b. Signale & Zeitstempel Kapazität begrenzt... Bewirtschaftung mit Belegen/Freigeben notwendig unbegrenzt... weitgehender Verzicht auf Verwaltung Beschaffungsform Selbstanforderung... vom Benutzer/Prozess selbst Fremdversorgung... Zuweisung durch fremde Instanz, z.b. HS für Programm Realisierungsform der BM-Verwaltung als Prozedur... ohne Nebenläufigkeit zum Aufrufer als Prozess... mit Nebenläufigkeit zum Aufrufer und Koordination

15 Welche Ansätze für den konkurrierenden Zugriff auf Betriebsmittel kennen Sie? Betriebsmittelverwalter zentrale Instanz entscheidet BM-Nutzung nur nach vorheriger Belegung, die durch Instanz erzwungen wird Verständigung Abstimmung der Bewerber untereinander, Kommunikation über Protokolle z.b. kritischer Abschnitt, dezentrale Bus-Arbitrierung unkoordinierte Nutzung bei geringer Kollisionswahrscheinlichkeit oder reparablem Schaden z.b. optimistische Synchronisation von Transaktionen, kollisionsbehaftete Protokolle (Ethernet) Was ist der Unterschied zwischen Eigen- und Fremdbelegung? bei Mehrexemplar-Betriebsmitteln (Menge identischer Exemplare) Eigenbelegung wird vom anfordernden Prozess selbst vorgenommen Fremdbelegung: Belegung von freigebendem statt anforderndem Prozess Auswahl nach erfüllbaren Anforderungen werden als waiting requests im BM- Verwalter abgelegt Freigabe gleichzeitig mit nächster Belegung vorgenommen bei kooperativer Kommunikation Welche Auswahlstrategien bei konkurrierendem Betriebsmittelzugriff kennen Sie? Auswahl bei Fremdbelegung für gute Auslastung des BM und faire Behandlung FIFO/FCFS... nachteilig wenn erste Anforderung groß, nachfolgende kleine (und erfüllbare) bleiben unberücksichtigt wartet immer komplett auf Erfüllbarkeit First-Fit-Request... Warteschlange durchsucht bis zur ersten passenden Anforderung Best-Fit-Request... Auswahl von größtmöglich erfüllbarer Anforderung, wo nur minimaler Rest bleibt Verhungern möglich, Gesamtdurchmusterung iterative Anwendung der Strategie bis keine Belegung mehr möglich Optimierung durch Betrachtung nur eines Fensters der Warteschlange Wann kann es dabei zum Verhungern kommen und wie lässt sich dieses Problem lösen? Verhungern möglich bei Programmen mit großen Anforderungen Lösung: dynamische Fenstergröße beim Übergehen der Anforderung am Kopf, Fenstergröße 1 irgendwann ist Fenstergröße =1 und am Kopf Anforderung muss drankommen Was ist eine Verklemmung (Deadlock)? Situation, wenn in einer Prozessmenge jeder Prozess auf ein Ereignis wartet, das nur ein anderer Prozess aus dieser Menge verursachen kann

16 Beschreiben Sie Verklemmungssituationen bei verschiedenen Interaktionsansätzen (Signalisierung,...)! Was ist der Unterschied zwischen Deadlock und Lifelock? Deadlock Kein Prozess der Verklemmung nimmt am Scheduling teil Statische Situation Keine Vorwärtsauflösung Lifelock Prozesse weiterhin im Scheduling und wechseln ihre Zustände Dynamische Situation Vorwärtsauflösung möglich Kein (äußerer) Fortschritt: Kein (innerer) Fortschritt: Prozess bewegt sich nicht von der Stelle Prozess bewegt sich nicht über bestimmte Stelle hinaus Speisende Philosophen Problem immer 2 Gabeln benötigt, nacheinander eine zu ergreifen Situation, dass jeder eine hat und auf andere wartet mgl. Alternative zur Verklemmungsvorbeugung: wenn zweite Gabel nicht verfügbar, lege erste wieder weg dann aber Verhungern/ Livelock möglich Welche Bedingungen müssen erfüllt sein, damit ein Deadlock entstehen kann? Betriebsmittel werden exklusiv genutzt Prozesse besitzen schon BM, während sie auf andere warten notwendig Verdrängung findet nicht statt => hinreichend: es gibt eine zyklische Wartesituation Wie kann einer Verklemmung vorgebeugt werden? präventive und restriktive Gestaltung der Betriebsmittel-Vergabe Summenbelegung alle benötigten BM zu Beginn angefordert unökonomisch und bei dynamischen Systemen schwer abschätzbar Totalfreigabe bei jeder Belegung Anforderung aus besitzlosem Zustand Belegung gemäß vorgegebener Ordnung Zyklen grundsätzlich vermieden (i<j nur größeres Betriebsmittel kann angefordert werden) Randomisierung z.b. Ethernet MAC-Protokoll

17 Erläutern Sie, wie in der SMP-Variante des Linux-O(1)-Schedulers Deadlocks vorgebeugt wird! bei Zugriff auf mehrere Run-Queues wird stets in gleicher Reihenfolge gelockt jew. eine Runqueue pro Prozessor mit 2 Arrays Was ist eine Betriebsmittelsituation? ist ein Quintupel aus Prozessmenge Menge BM-Typen vorhandene BM Belegungen Gesamtanforderungen Anforderungen vollständige Beschreibung des aktuellen Anforderungs- und Belegungszustands Was ist eine (un-)sichere Situation? (Belegungstrajektorie) Betrifft aktuelle Belegungs- und Anforderungssituation sicher: gibt Beendigungsreihenfolge, damit gesamte Restanforderungen noch nicht beendeter Prozesse durch Freigaben bereits beendeter Prozesse erfüllt werden können unsicher: gibt noch Teilmenge von Prozessen deren Restanforderungen nicht alle erfüllbar sind ungünstige Reihenfolge könnte zu Deadlock führen Welche Möglichkeiten zur Verklemmungserkennung kennen Sie? indirekt über Bestimmung verklemmungsfreier Prozesse müssen Beendigungsreihenfolge haben, so dass jede aktuelle Anforderung durch Freigaben früher beendeter Prozesse erfüllt werden kann Banker-Algorithmus mit aktuellen Anforderungen statt Restanforderungen in Einexemplarbetriebsmitteln: wenn Wartegraph einen Zyklus enthält Zyklenentdeckung in einem Graphen mit O(Kanten + Knoten)

18 Erläutern Sie den Banker-Algorithmus! Strategie der Verweigerung der Ressourcenzuteilung bei jeder Ressourcenanforderung Test, ob Erfüllung in unsicheren Zustand führt aus Betriebsmittelsituation Restanforderungen berechnet wenn keine Abarbeitungsreifenfolge gefunden wird ggf. zurückgestellt Aufwand: O(m²n)... bei m Prozessen und n Betriebsmitteln verbal: Banker hat Ressource, Kunde hat Limit Banker kann größtes vorhandenes Limit gerade noch bedienen Kunde bekommt Ressource, wenn noch mindestens einem anderen Kunden sein komplettes Limit zugeteilt werden kann geht wie bei Kredit davon aus, dass erst wieder was freigegeben wird, wenn Limit voll aufgebraucht wurde nur bedingt anwendbar, da Anforderungen vorher meist unbekannt Welche Kriterien sollten beachtet werden, wenn eine Verklemmungssituation behoben werden soll? Auflösung durch Brechen des Wartezyklus durch (geordneten) Betriebsmittelentzug oder durch Prozessabbruch bei Abbruch Auswahl des Prozesses nach Größer der Anforderung / Umfang belegter BM Dringlichkeit Benutzer/Systemprozess, Aufwand des Abbruchs / verlorengegangene Arbeit Restbedienzeit Was sagt die Reduzierbarkeit eines Betriebsmittelgraphen über die Betriebsmittelsituation aus? wenn BM-Graph nicht vollständig reduzierbar (Folge von Reduktionen entfernt alle Kanten) ist, so ist Betriebsmittelsituation verklemmt Was ist ein Gerät? Gerät: abstraktes Konzept für verschiedene Hardware Betrieb heißt Steuern (Betriebsparameter einstellen, Teile bewegen) und Transportieren (Kopieren der Daten) Generalisierung: ein Treiber für mehrere Geräte Virtualisierung: Funktionalitäten der Betriebssystems als Gerät Erläutern Sie das DMA-Prinzip! Direct Memory Access, Direkter Speicherzugriff Steuereinheit greift selbständig auf Hauptspeicher zu, damit schnellere Datenübertragung bei gleichzeitiger Entlastung des Prozessors CPU setzt lediglich Startadresse & Count IO-Mapping: I/O-Register von Geräten in Hauptspeicher-Adressraum abgebildet damit Zugriff über übliche Speicherzugriffsroutinen möglich

19 Was ist ein Bus? Bidirectional Universal Switch Medium für gleichzeitige Nutzung durch unterschiedliche Geräte Gliederung in 3 Gruppen: Datenleitung... Adressleitung... Steuerleitung Unterscheidung nach Art Zugangsregelung, Daten- & Adressbreite etc. häufig Kaskadierung (Speicher, I/O-Bus) Was sollte ein Transportauftrag enthalten? Unterscheidung Transportauftrag und eigentlicher Datentransport bei wenigen Zeichen, Daten direkt im Auftrag untergebracht => kombiniert bei vielen Zeichen, Adressdaten im Adressauftrag => Transport & Daten losgelöst Wie läuft er ab? Dienstleistungsbeziehung: Anstoß Ausführung Fertigmeldung Parameter des Transportauftrags: Richtung (read/write), Quelle, Ziel, (Daten-)Länge 1) Auslösung... Aufträge für die Steuereinheit durch das Laden entsprechender Register in die Steuereinheit: Art (read/write), Quelle, Ziel, Status 2) Reaktion... Prozessor muss über Beendigung der Aufgabenabarbeitung informiert werden, durch Polling: Prozessor fragt gelegentlich Statusregister der Steuereinheit ab Interrupt: Prozessor vom Ende der Übertragung mit Signal benachrichtigt (üblich) Erklären Sie den Unterschied zwischen verzögernden, stochastischen und endgültigen Gerätefehlern! 3 Klassen von Fehlern, die in der Verlaufsanalyse entdeckt werden verzögernd... durch Bediener behebbar (Papier leer) stochastisch... zufällige Störung durch Wiederholung überwindbar (Kollision) endgültig... unbehebbare Fehler Auftrag abweisen (Gerät-Adresse unbekannt)

20 Wie funktioniert eine Interruptbehandlung? BUS besitzt mind. eine Unterbrechungsleitung nach jedem Befehl geprüft, ob Interrupt angefordert wurde und dann ggf. die Prozedur angesprungen Unterbrechungsbehandlung jederzeit in jeder Situation möglich sequentielle Bearbeitung: weitere Interrupt(typen) während Interrupt nicht möglich geschachtelte Bearbeitung: Interrupts höher Priorität können Interrupts unterbrechen Ablauf: Rücksprungadresse/nächster Befehl auf Stack Laden des Befehlszählers mit Einsprungadresse in Unterbrechungsprozedur in Unterbrechungsprozedur: alle Registerinhalte auf Stack retten Aktion laut Interrupt Register vom Stapel laden Rücksprung Warum wird in der Regel ein Interrupt bei der Kommunikation zwischen Gerät und Gerätetreiber eingesetzt und welche Alternative gibt es? Interrupt, weil Gerät nach getaner Arbeit eine Nachricht an den anfordernden Prozess senden muss, damit dieser wieder deblockiert wird informiert Unterbrechungs- Behandlungsprozedur, wo Nachricht erzeugt wird Alternative: Aktives Warten ohne Umschalten (sleep oder spinlock[fragt ständig an]) Was ist Blockung? bei zeichenweise arbeitenden Geräten im Treiber vorgenommen zusammenfassen einer größeren Menge von Zeichen zu einem Block ggf. Steuerzeichen (z.b. Blockkennung, Satzende) bei Eingabe herausfiltern bzw. bei Ausgabe einfügen Warum wird bei Plattentreiber i.d.r. keine FIFO-Strategie bei der Auftragsabarbeitung eingesetzt? FIFO erfordert im Mittel Überfahren von 1/3 der Spuren höhere Antwortzeit Welche prinzipiellen Abarbeitungsstrategien für Plattentreiber kennen Sie? Ankunftsreihenfolge FCFS Minimale Suchzeit SSTF (shortest seek time first) Auftrag mit kürzester Armposition zuerst am effektivsten, aber Verhungern von Aufträgen möglich Fahrstuhlstrategie SCAN wie SSTF, jeweils in eine Richtung Zyklische Fahrstuhlstrategie SCAN-C wie SCAN, aber nach jedem Durchlauf Rücksprung auf Zylinder 0 letzten 3 gut bei Volllast, aber SSTF & SCAN benachteiligen Randspuren

21 Welche Strategie wird in Linux genutzt? z.b. im Linux Deadline Scheduler: ist modifizierte Fahrstuhlstrategie, Verhungern soll ausgeschlossen werden jeder Auftrag erhält Deadline und kommt in SCAN-Queue zusätzlich in Read oder Write Queue eingetragen (FIFO) normal SCAN, aber wenn erster Eintrag aus anderer Queue überfällig, dann erstmal einige Abarbeitungen daraus Welche Aspekte gibt es bei einer (Kernel-)Speicherverwaltung? Reihenfolge der Operationen Belegung und Freigaben in gleicher Reihenfolge (FIFO) umgekehrter Reihenfolge (LIFO) beliebiger Reihenfolge (Normalfall) Größe der Stücke konstante Einheiten, Vielfache gleicher Grundeinheiten bestimmte Portionsgrößen beliebige Größen Belegungsdarstellung wie?... als Vektor oder Tabelle wo?... abgesetzt oder integriert Verschnitt/Fragmentation freier, unnutzbarer Speicher Auswahlstrategie welche freien Stücke genommen werden sollen Wiedereingliederung Freigabe sofort oder verzögert & gleich zusammengesetzt Was ist Verschnitt und welche Arten von Verschnitt kennen Sie? interner Verschnitt: unbenutzter Speicherplatz, der als belegt gekennzeichnet ist (durch Rundung auf das nächste Vielfache von Elementargrößen bei der Vergabe) externer Verschnitt: freier aber (momentan) nicht belegbarer Speicherplatz, da durch Zerstückelung kein hinreichend großes Stück gefunden werden kann

22 Diskutieren Sie die Unterschiede zwischen verschiedenen Varianten der Belegungsdarstellung! Vektordarstellung abgesetzt oder integriert Tabellendarstellung, meist bei Freispeichertabelle Belegungsdarstellung: abgesetzt Belegungsinformation in Tabellen, sortiert nach Bedarf nach Adresse und/oder Länge integriert Speicherstücke identifizieren sich selbst, geben ihre Länge an und enthalten Zeiger auf nächstes Listenelement

23 Nennen Sie verschiedene Auswahlstrategien bei der Speicherbelegung und erläutern Sie diese! First-Fit nach Adressen sortierte Liste von vorn erstes hinreichend großes Stück geringer Suchaufwand, Konzentration am Anfang, ext. Verschnitt Next Fit/Rotating First-Fit Liste zyklisch durchlaufen, Suche beginnt wo letzte Belegung endete bessere Suchzeiten, da keine Konzentration auch externer Verschnitt Best Fit Auswahl kleinstes hinreichend großes Stück Gesamtdurchmusterung notwendig Größensortierung empfohlen eigentlich gut, aber neigt zu sehr kleinen (damit nicht nutzbaren) Leerstücken Nearest Fit Wunschadresse übergeben, ab da First-Fit minimierte Armbewegung Problem der Optimierung liegt beim Betriebsmittelverwalter (Treiber) Welche Möglichkeiten gibt es bei der Wiedereingliederung von freien Speicher? sofort bei Freigabe oder verzögert und zusammengefasst Bsp. Ringpuffer Belegen & Freigeben in gleicher Reihenfolge, gleich lange Stücke nur bei speziellen Anwendungen sinnvoll, z.b. mit Timeout-Daten kein Suchen und kein externer Verschnitt Bsp. Stack Belegen/Freigeben in LIFO, beliebige lange Stücke keine Suche und wenig externer Verschnitt Vektorverfahren Belegen/Freigeben in beliebiger Reihenfolge Stückgröße = k x Grundeinheiten Suche nach erstem passenden Stück interner und externer Verschnitt Randkennzeichnungsverfahren

24 Erklären Sie das Randkennzeichnungsverfahren (boundary tag system)! am Anfang und Ende Kennzeichnung der Stücke mit frei / belegt & Gesamtlänge Belegungsdarstellung und Stückverwaltung integriert: doppelt verkettete Liste mit Sortierung nach Größe beliebig großer Speicherstücke, Best-Fit-Suche externer Verschnitt Optimierungsmöglichkeiten kleine Reststücke zu belegtem Speicher externer wird interner Verschnitt weniger Verwaltungsaufwand kleine Reststücke gar nicht in Freistückliste erst bei freigewordenem Nachbarn wieder eingliedern Suchaufwand durch vorkonfektionierte Stücke reduzieren oder Zugriff über Binärbaum Welche Arten von Adressräumen gibt es? Logisch Programmadressraum aus Sicht des Prozesses Adressbereich im Adressrahmen, der für die jeweilige Softwareeinheit (Kern oder Anwender) benutzbar ist Physisch definiert durch Breite des Adressbusses neben Hauptspeicher (RAM), auch ROM & Speicher von I/O-Geräten eingebunden Virtuell zur effizienten Hauptspeichernutzung vom tatsächlich vorhandenen Arbeitsspeicher unabhängiger Adressraum Diskutieren Sie verschiedene Möglichkeiten der Hauptspeicheradressierung! Zusammenhängende Speicherung Programmadresse = Speicheradresse (logisch = physisch) Lage im Hauptspeicher fest vorgegeben großes Konfliktpotential bei mehreren Programmen direkte Adressierung: Adressbindung zur Ladezeit in verschiebbarem Format bei Adresse 0, dann wird logische physische Adresse (mit Lader-Hilfsprogramm) relative Adressierung: Adressbindung zur Laufzeit Anfangsadresse in Basisadressregister des Prozessors wird bei jedem Zugriff zur relativen Programmadresse addiert Streuende Adressierung Adressbindung zur Laufzeit Adressraum in kleinere Stücke zerteilt und unabhängig voneinander abgelegt dynamische Adressumsetzung durch Memory Management Unit aufwendig

25 Was ist der Unterschied zwischen Paging und Segmentation? Paging Stückelung in viele gleichlange Teile kein externer, aber interner Verschnitt Teile des Adressraums: Seiten korrespondierende Einheiten im Speicher: Kacheln/ Seitenrahmen nur noch Adresse von Seitentabelle im Prozessor, statt vieler Basisadressen Tabelle enthält variable große Anzahl von Basisadressen Adresse besteht dann aus Seitennummer und Relativadresse innerhalb der Seite Segmentation Stückelung in variabel lange Teile kein interner, aber externer Verschnitt volle Adressen in Segmenttabelle, da Segmente an beliebigen Adressen beginnen können jeweils addiert zur Segmentbasisadresse Wie groß ist die optimale Seitengröße bei Gleichverteilung von Speicheranforderungen? kleine Seiten: geringen Verschnitt & lange Seitentabellen große Seiten andersrum p = Länge des Programmadressraums optimale Seitenlänge = 2 p Gesamtverlust = 2 p mit optimaler Seitenlänge nimmt Speicherverlust mit zunehmender Programmgröße ab Welche Möglichkeiten zum Speicherschutz kennen Sie? Speichertrennregister legt kleinste oder größte zulässige Adresse für Anwendungsprogramm fest geschützter Bereich für Betriebssystem auf anderer Seite, eingehalten von Hardware, reicht für Einbenutzerbetrieb Speichergrenzregister bei Mehrprogramm/-benutzerbetrieb Programm belegt Speicherbereich zwischen Basisregister und Grenzregister MMU prüft Einhaltung & Prozessor löst ggf. Unterbrechung aus Schutz bei gestreuter Adressierung Tabellenbasisregister & Segmenttabelleneinträge um Längenfeld ergänzen Überschreitung löst Unterbrechung aus Unterscheidung nach r/w-zugriff möglich

26 Was ist ein TLB? Translation Lookaside Buffer Assoziativspeicher (simultane Suche in allen Tabellenzeilen gleichzeitig) schnelle Register im Prozessor Suche in einem Schritt möglich mit den Segment/Seitentabellen, da diese sonst im Hauptspeicher gespeichert werden müssten und Zugriffe länger dauern würden Erläutern Sie den Unterschied zwischen Caching und Virtualisierung! durch Caching werden Zugriffe schneller sonst gleiches Konzept: Progr. in kleinere durch Virtualisierung die Kapazität größer Teilmengen zerlegt & eingelagert Programmierer sieht eine Schicht, greift aber auf tiefere (Caching) oder höhere (Virtualisierung) zu Welchen Einfluss haben beide Konzepte auf die Nutzung von flüchtigen/nichtflüchtigen Speicher? früher obere Schichten (Prozessorregister, Cache, Hauptspeicher) flüchtig: temporäre Inhalte gehen ohne Strom verloren untere Schichten (Magnetplatte, Magnetband) für Permanentdaten Konzept durch Caching/Virtualisierung aufgeweicht Datei-Cache jetzt auch in Hauptspeicher ausgelagerte Teile jetzt auch auf der Festplatte Ziel: Arbeitsdaten soweit oben wie möglich zu halten Was sagt das Lokalitätsprinzip aus? Programm greift in kleinem Zeitraum nur auf kleinen Teil seines Adressraums zu räumlich... weiterer Zugriff in der Nähe wahrscheinlich zeitlich... baldiger weiterer Zugriff auf gleiche Variable wahrscheinlich

27 Was passiert bei einem Seitenfehler? ein Prozess wird nur im Hauptspeicher ausgeführt um diesen nicht zu überladen, werden nur relevante Teile hineingeladen falls die benötigte Seite im Hauptspeicher fehlt wird ein Seitenfehler ausgelöst (durch Interrupt) Prozess wird blockiert falls keine leere Kachel übrig, erfolgt Räumung/Modifizierung/Auslagerung fehlende Seite wird vom Ersatzspeicher in den Hauptspeicher eingelagert neuer Eintrag in Kachel- und Seitentabelle gesetzt Prozess wird wieder nach bereit gesetzt oft stoßweises auftreten Vorrat freier Kacheln sinnvoll Trashing : System durch zu häufigen Seitentausch von produktiver Arbeit abgehalten Welche Seitenersetzungsstrategien kennen Sie? Strategie zur Auswahl der zu leerenden Kachel, wenn keine mehr frei Unterscheidung lokale... es wird Kachel des Prozesses geräumt, der Seitenfehler verursacht hat global... beliebige Kachel, auch fremder Presse, wird geräumt RANDom... Lokalitätsprinzip trifft nicht zu bei gleichverteilten Zugriffeegal, welche Kacheln geräumt werden OPTimal... Seite auslagern, die am längsten nicht mehr benötigt werden wird aber nicht realisierbar, da zukünftige Referenzen nicht bekannt sind Realisierbar FIFO... am längsten im Speicher befindliche Seite ausgelagert Least Frequently Used... am wenigsten häufig referenzierte Seite wird ausgelagert Least Recently Used... am längsten nicht mehr referenzierte Seite ausgelagert (einfache Realisierung über Stack) Recently Not Used... innerhalb eines best. Zeitraums nicht referenzierte Seite ausgelagert Verwaltung ziemlich aufwendig, daher reicht oft Annäherungsverfahren, meist LRU Wie kann die Güte einer bestimmten Strategie bei einer bestimmen Anforderungssequenz beurteilt werden? ein Vergleich über feste Seitenreferenzfolge (aufeinander folgene Seiten zusammengefasst) und Beobachtung der entstehenden Seitenfehler gewisse notwendige Datenoperationen sollten nicht außer Acht gelassen werden auch Anzahl der Kacheln spielt ein Rolle, bei FIFO ist weniger gleich mehr Wie funktioniert der Second-Chance-Algorithmus? Referenzmengen nicht gesamt, sondern in Teilmengen zurück gesetzt Referenzbit-Vektoren mit Auskunft über jew. Zugriff werden zyklisch durchlaufen Zeiger auf der Suche nach Seite mit Bit 0 setzt jeweiliges Bit bei jedem Durchlauf zurück entweder bis nächsten Durchlauf wieder referenziert oder ausgelagert 2-Hand-Clock Algorithmus in UNIX 4.2 BSD: 1. Zeiger räumt, 2. setzt Null

28 Was ist der Unterschied zwischen lokalen und globalen Ersetzungsstrategien und welche Variante wird in Windows genutzt? lokale Auswahlstrategie: eine Kachel des fehlerverursachenden Prozesses geräumt globale Strategie: beliebige Kachel irgendeines Prozesses geräumt Windows NT: lokale Seitentauschstrategie fehlende Seite und einige aus der Nachbarschaft werden eingelagert (clustering) generell hängt Seitenaustauschstrategie von der Hardware ab: FIFO bei Alpha-Prozessoren und Intel-Multiprozessorsystemen Clock bei Intel-Monoprozessorsystemen Was ist ein Working-Set? Menge aller aktuell im Hauptspeicher befindliche Seiten eines Prozesses Größe durch Standardwerte (Min & Max) initialisiert bei Bedarf können Working Sets aber auch über Maximalwert wachsen, abhängig von der Seitenfehlerrate und vom globalen Vorrat freier Seiten auch für Windows-Kern selbst ein Working-Set-Mechanismus Betriebssysteme, TU Chemnitz 2009 Ohne Gewähr auf Vollständigkeit und Richtigkeit! Die Fragen geben einen guten Überblick, sind aber keinesfalls zur alleinigen Prüfungsvorbereitung empfohlen.

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

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

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

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

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

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

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

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

Ü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

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

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

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

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

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

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

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

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

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

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

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

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

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

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

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

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 > Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 Gruppe Parallele und Verteilte Systeme (PVS) Institut für Informatik Westfälische Wilhelms-Universität Münster Hinweise 2 Aufgaben

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Prozessor (CPU, Central Processing Unit)

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

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

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

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

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

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

Betriebssysteme und Systemsoftware

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

Mehr

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2

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

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

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

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

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

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

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

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

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

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

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

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

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 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

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

Inventur. Bemerkung. / Inventur

Inventur. Bemerkung. / Inventur Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

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

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 06/07 6. Kapitel Ressource Prozessor: Scheduling Prof. Matthias Werner 6 Professur Betriebssysteme Einführung Bisher: Wenn ein Prozesses den Prozessor aufgibt (Zustand laufend verlässt),

Mehr

Fragen zur GridVis MSSQL-Server

Fragen zur GridVis MSSQL-Server Fragen zur GridVis MSSQL-Server Frage Anmerkung 1.0 Server allgemein 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens

Mehr

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol Rechenzentrum der Ruhr-Universität Bochum Integration von egroupware an der RUB in Outlook 2010 mit Funambol Um die Daten in Ihrem egroupware-account (Adressen, Termine, etc.) in Outlook zu verwenden,

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

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

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

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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 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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9

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

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

Ü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

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

QUICK INSTALLATION GUIDE

QUICK INSTALLATION GUIDE BIANCA/BRI für Windows NT Willkommen zu einer der leistungsfähigsten ISDN-Lösungen für Windows NT. Diese Lösung umfaßt nicht nur die CAPI (Common ISDN Application Program Interface), sondern auch NDIS-IP.

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

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

Mehr

Übung 8: Semaphore in Java (eigene Implementierung)

Übung 8: Semaphore in Java (eigene Implementierung) Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend

Mehr

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

CdsComXL. Excel add-in für Bearbeitung und Auswertung der CDS-daten. ComXL-020/D, 0102. Spur 9 014.700. Spur 7 014.680. Spur 5 014.660. Spur 3 014.

CdsComXL. Excel add-in für Bearbeitung und Auswertung der CDS-daten. ComXL-020/D, 0102. Spur 9 014.700. Spur 7 014.680. Spur 5 014.660. Spur 3 014. Excel add-in für Bearbeitung und Auswertung der CDS-daten CdsComXL 100 50 0 Spur 9 014.700 Spur 7 014.680 014.660 014.640 Spur 3 Spur 5 014.620 Spur 1 014.600 ComXL-020/D, 0102 Inhaltsverzeichnis 1. Installation----------------------------------------------------------------------------------------------------

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren Dateiname: ecdl_p3_04_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 3 Kommunikation

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

Mehr

Betriebssysteme (BTS)

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

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

OPERATIONEN AUF EINER DATENBANK

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:

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Ich möchte eine Bildergalerie ins Internet stellen

Ich möchte eine Bildergalerie ins Internet stellen Ich möchte eine Bildergalerie ins Internet stellen Ich habe viele Fotos von Blumen, von Häusern, von Menschen. Ich möchte zu einem Thema Fotos sammeln, eine Vorschau erstellen und die Fotos so in der Größe

Mehr

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

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

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

SOFTWARE FÜR PRG-APPLIKATIONEN

SOFTWARE FÜR PRG-APPLIKATIONEN SOFTWARE FÜR PRG-APPLIKATIONEN Autor: Frank Bergmann Letzte Änderung: 04.12.2014 09:09 1 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 2 2 Allgemeines... 3 3 Installation und Programmaufruf... 3 4 Einstellungen...

Mehr

Kurzanleitung. Toolbox. T_xls_Import

Kurzanleitung. Toolbox. T_xls_Import Kurzanleitung Toolbox T_xls_Import März 2007 UP GmbH Anleitung_T_xls_Import_1-0-5.doc Seite 1 Toolbox T_xls_Import Inhaltsverzeichnis Einleitung...2 Software Installation...2 Software Starten...3 Das Excel-Format...4

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr