Informatik (Fach) / Betriebssysteme (Lektion)

In dieser Lektion befinden sich 89 Karteikarten

WWU

Diese Lektion wurde von bibabu erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

  • Betriebssystem Aufgaben - Anpassung der Maschinenwelt an die Benutzerbedürfnisse - Regelung des Zugriffs auf Ressourcen - Verwaltung von Daten und Programmen - Effiziente Ausnutzung der Betriebsmittel - Unterstützung bei Fehlern und Ausfällen -Sicherheitsvorkehrungen
  • Sicht aufs Betriebssystem Virtuelle Maschine (TOP-DOWN Sicht) - Bietet dem Programmierer eine einfache, abstrakte Sicht auf die Hardware - Reale low-level Eigenschaften werden versteckt.
  • Sicht aufs Betriebssystem Ressourcenmanager (BOTTOM-UP-Sicht) - Verwaltet Prozessoren, Speicher, Platten, Terminals... - koordiniert den Zugriff von Anwendungen auf Ressourcen.
  • Betriebssystem Funktion -steuert/verwaltet die Computer-Ressourcen ( Betriebsmittel ) -funktioniert wie normale software: ist ein Programm was auf CPU ausgeführt wird -ist ein besonderes Programm: lenkt den Prozessor bei der Verwendung anderer Systemressourcen -gibt oft kontrolle ab und ist auf Prozessor angewiesen sie zurück zu bekommen
  • Prozessbereich - eigentliche Funktionen des BS werden erbracht
  • Kernbereich ( kernel ) - die erforderliche Infrastruktur für Prozesse wird bereitgestellt
  • Benutzermodus vs Systemmodus ( CPU ) darf nur von systemmodus(privilgierter modus) ausgeführt werden:        -lesen/schreiben bestimmter register        - primitive E/A-Befehle        -Speicherverwaltung -bit im programmstatus register verrät in welchem modus gearbeitet wird - modus wird durch reaktion auf ereignisse geändert (bsp: change-mode-befehl) - alle Benutzerprogramme laufen im Benutzermodus, nicht alle Systembefehle laufen im Systemmodus ( bsp passwortänderung )
  • Mikrokernarchitektur - es sind nur essentiele BS-Funktionen im Kern enthalten ( z.B. Prozessverwaltung und Prozesskommunikation )
  • Makrokernarchitektur - es wird beispielsweise auch das Dateisystem im Kern realisiert ( z.B. UNIX/Windows )
  • Monolithischer BS-Kern vs Monolithischer BS-Makrokern Monolithischer BS-Kern- keine Trennung zwischen BS und App. -geeignet für statische Systeme, da bei großen BS Die prozeduren Fehleranfällig sind ( bsp. MS-DOS)Monolithischer BS-Makrokern-Trennung Anwendung-BS - Problem: Schichtänderungen haben auf benachbarte Schichten große Auswkirkungen
  • Prozess -Programm in Ausführung, inkl   -aktueller wert des Programmzählers   -Registerinhalt   - Belegung der Variablen -Jedem Prozess wird ein Adressraum zugeordnet
  • Vorteile und Nachteile Mikrokern ggnüber Monolithisch -Vorteile: -Sicherheit und Stabilität: Kern wird nicht durch fehlerhafte Dienste in Mitleidenschaft gezogen -Flexibilität und Erweiterbarkeit: Dienst kann hinzugefügt oder entfernt werden -Portierbarkeit: BS kann dank Mikrokern schnell auf neue Plattformen portiert werden. -sichheitskritische Teil des Systems ( kern ) ist relativ klein und kann daher gut ausgetestet werden Nachteile: -performance ( mehr interprozesskommunikation und daher mehr System Aufrufe )
  • Systemaufruf Abfolge Bedienung           (was der benutzer macht) Abwicklung          (BS-Kommandos ( shell )) Anwendung Verwaltung logischer Betriebsmittel Betrieb logischer Betriebsmittel Verwaltung realer Betriebsmittel Betrieb realier Betriebsmittel
  • Schematische Vorgehensweise Systemaufruf -Benutzerprogramm hinterlegt Parameter an einer vorher vereinbartenStelle (Speicheradresse, Register) und signalisiert dem BS durchspezielle Befehle, dass ein Systemaufruf ausgef¨uhrt werden soll. -Das Benutzerprogramm wird unterbrochen (sog. TRAP-Befehl) und dieKontrolle dem BS ¨ubergeben (Eintritt in den Kern). -Das BS wertet die Parameter des Benutzerprogramms aus und f¨uhrtden angeforderten Dienst aus. -Ergebnisse werden f¨ur das Benutzerprogramm hinterlegt und dasBenutzerprogramm fortgesetzt.
  • Prozessabbild im BS -Benutzer Programm (das der prozess ausführt) und -Daten -Systemstapel (stack) für prozeduraufrufe und Parameterübergabe -Prozesskontrollblock ( PCB )
  • Prozesskontrollblock ( PCB ) - Datenstruktur, der im Kern platziert wird. -enthält:    -Prozesscharakteristika (prozesskennung, name)    -Zustandsinformationen (Befehlszähler, stapelzeiger, registerinhalte)    -Verwaltungsdaten (priorität, rechte, Statistikdaten)
  • Deamons Hintegrund-Prozesse, die Anfragen nach Emails, Webseiten, Druckenu.s.w. bearbeiten
  • Statische vs Dynamische Betriebssysteme statisch:    - Prozesse und ihre PCBS werden beim Systemstart einmalig erzeugt Dynamisch:    -Prozesse werden mittels Kernoperationen erzeugt / gelöscht
  • realer / virtueller prozessor -realer prozessor ist der tatsächlich arbeitende prozessor -virtueller prozessor: eine kontinuierlich scheinende Folge vonNutzungsabschnitten realer Prozessoren zur Programmausf¨uhrung
  • Umschaltung durch Sprung - im prozess einprogrammiert -umschaltstelle muss gemerkt werden bestehend aus            -fortsetzadresse   ( wo wurde die arbeit utnerbrochen )            -sprungbefehl      ( was wird als nächstes ausgeführt )
  • Mögliche kriterien für auswahl des nächstes prozesses Nummer des Prozesses (z. B. zyklisches Umschalten) Ankunftsreihenfolge (wer fr¨uher bereit ist) Priorität (Dringlichkeit)   konstant   veränderlich
  • Umschalten mit Kontextwechsel schematisch save context of p_runselect p_nextsave next instruction of p_runjump to p_next.ni             -> zum nächsten prozessp_run:=p_next                       <- Fortsetzungsstelleload conext of p_run
  • Prozess / Thread -Prozess besitzt genau einen Adressraum -Thread teilt sich einen Adressraum mit anderen Threads
  • Interaktionsarten von Prozessen (3) -Kommunikation -Kooperation -Synchronisation
  • Signalisierung -Art der Synchronisation -signal (s)        swait(s) -swait macht buisy waiting und der Prozess sollte die CPU freigeben, falls es zulange dauert -symmetrischer ansatz führt zu Synchronisierung
  • Sperren -darf keine Überlappung der Ausführungen geben -gegenseitiger Aussschluss -wird in schleifen abgefragt, weil zwischen dem Deblockieren des wartenden Prozesses und seinem Setzen der Sperre ein weiterer Prozess die Sperre setzen könnte.
  • Kanal -Datenobjekt, was die Operationen Senden und Empfangen für Prozesse zur Verfügung stellt. -Parameter von send und receive:       -Name des Kanal(objekt)s (CO)     -Adresse eines Behälters: Sender: Adresse der zu verschickenden Nachricht im Prozessadressraum (oder die Nachricht selbst), buffer send (Bs). Empf¨anger: Adresse im Prozessadressraum, wohin die empfangene Nachricht geschrieben werden soll, buffer receive (Br). -ermöglich asynchrone Kommunikation. -Nachrichtenpufferung durch z.B. Warteschlangen möglich
  • Ports -Eingangsports/Ausgangsports sind n:1 oder 1:n Kanäle
  • Pipe Die Pipe hat eine begrenzte Kapazit¨at. Lokaler Mechanismus zwischen genau zwei Prozessen Ist die Pipe voll, so wird der sendende (schreibende) Prozess blockiert. Ist die Pipe leer, so wird der empfangende (lesende) Prozess blockiert. Eine Pipe ist somit ein “Bounded-Buffer” zwischen zwei Prozessen. 
  • Socket Sockets sind Endpunkte einer Duplex-Verbindung fur nichtlokale ¨Kommunikation, z. B. zwischen Computern (verteilte Systeme) Ein Socket kann von mehreren Prozessen benutzt werden Verschiedene Socket-Typen werden angeboten, z. B.:                stream socket – verbindungsorientiert, d. h. Verbindung zu anderem Socket muss zunächst aufgebaut werden; das System stellt sicher, dass Daten nicht verloren gehen und in Sendereihenfolge ankommen. datagram socket – paketorientiert, d. h. Daten werden in Pakete aufgeteilt und einzeln versandt. Pakete k¨onnen einander uberholen oder verloren gehen
  • Semaphor -Semaphore sind Z¨ahlsperren: sie k¨onnen einer bestimmten Anzahl von Prozessen das Betreten des kritischen Abschnitts erlauben
  • Monitor Expliziter Umgang mit Sperren und Semaphoren ist fehleranf¨allig. Wunschenswert w ¨ ¨are ein automatisches Sperren/Freigeben. Ein Objekt, das den gegenseitigen Ausschluss von Prozessen sicherstellt, ohne dass der Programmierer explizit Sperroperationen einfugt, heißt Monitor. ¨ Ein Monitor ist ein Objekt bestehend aus Prozeduren und Datenstrukturen, das zu jedem Zeitpunkt nur von einem Prozess benutzt werden darf.
  • Monitor potentielles Problem und Lösung -W¨ahrend ein Prozess auf eine Bedingung (z. B. count > 0 bei fetch) wartet, muss der Monitor fur andere Prozesse freigegeben werden, ¨ sonst k¨onnen sich Prozesse gegenseitig blockieren: z.B. kein Prozess kann deposit ausfuhren und dadurch wartet ¨ fetch unendlich -Als L¨osung gibt es fur Monitore auf Sprachebene das folgende Konzept der Bedingten Synchronisation, mit zwei Operationen:         -cwait(c)Prozess gibt Monitor frei und wartet auf das nachfolgende csignal(c), d. h. das Eintreten der Bedingung c. Nach dem Erhalten des Signals, setzt er im Monitor fort.         -csignal(c) Ein wartender Prozess wird geweckt und belegt den Monitor. Gibt es keinen wartenden Prozess, hat die Prozedur keinen Effekt. -Die wartenden Prozesse werden (wie auch bei der Signalisierung oderden Semaphoren) in einer Warteschlange verwaltet. -Die Bedingungen werden durch logische Bedingungsvariablenimplementiert
  • Dienstleistungsbeziehung -server client system -Der Client sendet einen Auftrag an den Server. Der Server nimmt den Auftrag entgegen, bearbeitet ihn, schickt das Ergebnis an den Client, und wartet auf den n¨achsten Auftrag -Ein Prozess kann sowohl als Server (bietet einen Dienst an) als auch als Client (benutzt andere Dienste) fungieren! -geschieht über Kommunikationsobjekte z.B. Kanäle
  • Parallelität im Server: Reproduktion Der Server-Prozess wird in mehreren identischen Kopien zur Verfugung gestellt. ¨ Alle diese identischen Prozesse entnehmen ihre Auftr¨age einem gemeinsamen Eingangskanal. Dem Client bleibt die Reproduktion verborgen Statt mehrere Kopien des Programms im Speicher zu halten,benutzen alle identischen Prozesse dasselbe Programm: Eigenschaften: Uberholvorg ¨ ¨ange m¨oglich (sp¨ater gesendet – fruher zur ¨ uck) ¨ bis zu p Auftr¨age gleichzeitig in Bearbeitung leichte Realisierung
  • Parallelit¨at im Server: Fließband (Pipeline) -Prozesse werden in Teile geschnitten, mit evtl. Zwischenlager zwischen ihnen -Eigenschafte: beliebig viele Auftr¨age im Fließband kein Uberholen (wenn innere Kan ¨ ¨ale FIFO, d. h. reihenfolgetreu) h¨oherer Transportaufwand (innere Kan¨ale) schwieriger zu realisieren
  • Parallelit¨at im Server: Multiplexbetrieb -Bei komplexeren Servern mit Unterauftr¨agen an andere Server tretenmehrere Wartestellen auf. -ähnlich wie Prozessor mit Prozessen arbeitet -Der Prozess ”h¨angt“ an einer Empfangsoperation, k¨onnte aber ananderer Stelle weiterarbeiten -Hierfur fasst man alle Kan ¨ ¨ale zu einem Kanal zusammen: Eigenschaften: nur ein Prozess beliebig viele Auftr¨age in Bearbeitung schwierig zu realisieren 
  • Scheduling: FCFS -FIFO Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe.
  • Scheduling: LCFS -LIFO Arbeitsweise: Bearbeitung der Prozesse in der umgekehrten Reihenfolge ihrer Ankunft in der Bereitliste. Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe.
  • Scheduling: LCFS-PR -LIFO Preemptive Arbeitsweise: Neuank¨ommling in Bereitliste verdr¨angt den rechnenden Prozess, d.h. Letzter wird Erster. Verdr¨angter Prozess wird hinten in die Warteschlange eingereiht. Falls keine Ankunfte, Abarbeitung der Liste (FCFS!) ohne Verdr ¨ ¨angung. Analyse: Diese Strategie bevorzugt kurze Prozesse: Ein kurzer Prozess hat die Chance, noch vor der n¨achsten Ankunft fertig zu werden. Ein langer Prozess kann dagegen u. U. mehrfach verdr¨angt werden.
  • Scheduling: RR -Round Robin Arbeitsweise: Bearbeitung der Prozesse in Ankunftsreihenfolge. Nach Ablauf einer festgesetzten Frist (Zeitscheibe, time slice) findet eine Verdr¨angung statt und es wird auf den n¨achsten Prozess umgeschaltet. Analyse: Ziel des Verfahrens ist die gleichm¨aßige Verteilung der Prozessorkapazit¨at und der Wartezeit auf die Prozesse. Wahl der Zeitscheibenl¨ange t ist ein Optimierungsproblem:              Fur großes ¨ t n¨ahert sich RR der Reihenfolgestrategie FCFS.              Fur kleines ¨ t w¨achst der Aufwand fur das h ¨ ¨aufige Umschalten Ublich f ¨ ur ¨ t sind in Betriebssystemen Zeiten im msec-Bereich.
  • Scheduling: PRIO-NP -Priorität nonpreemptive Arbeitsweise: Neuank¨ommlinge werden nach ihrer Priorit¨at in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder bis zur freiwilligen Aufgabe.
  • Scheduling: Prio-P -Priorities-Preemptive Arbeitsweise: Wie PRIO-NP, jedoch mit Verdr¨angungsprufung: der rechnende Prozess ¨ wird verdr¨angt, wenn er geringere Priorit¨at hat als der Neuank¨ommling Problem: Problem bei PRIO-P: Prozess (hohe Priorit¨at) kann ”verhungern“: niedrige Prio belegt BM, wird verdrängt von mittlerer Prio vom Prozessor. Hohe Prio C kann BM nicht in Anspruch nehmen
  • Scheduling: SPN -Shortest Process next Arbeitsweise: Prozess mit der kurzesten Bedienzeit wird als n ¨ ¨achster bis zum Ende oder bis zur freiwilligen Aufgabe bearbeitet. Wie PRIO-NP, aber die Bedienzeit wird als Priorit¨atskriterium verwendet Analyse:  Bevorzugt kurze Prozesse und fuhrt daher zu k ¨ urzeren mittleren Antwortzeiten als FCFS.  sie ben¨otigen Kenntnis der Bedienzeit, die nur vom Benutzer stammen kann;  l¨angere Prozesse verhungern“ wenn st¨andig kurzere ankommen
  • Scheduling: SRTN - Shortest Remaining Time Next, Preemptive Arbeitsweise: Prozess mit der kurzesten Restbedienzeit wird als n ¨ ¨achster bearbeitet Rechnender Prozess kann verdr¨angt werden. Analyse: 1) sie ben¨otigen Kenntnis der Bedienzeit, die nur vom Benutzer stammen kann; 2) l¨angere Prozesse verhungern“ wenn st¨andig kurzere ankommen
  • Scheduling: HRN -Highest Response Ratio Next Arbeitsweise: Der Wert rr (Wartezeit+Bedienzeit)/Bedienzeit  wird dynamisch berechnet und als Priorit¨at verwendet: der Prozess mit dem gr¨oßten rr-Wert wird als n¨achster ausgew¨ahlt. Die Strategie ist nicht verdr¨angend, d.h. non-preemptive. Analyse: Wie bei SPN werden kurze Prozesse bevorzugt, lange Prozesse mussen jedoch nicht ewig warten, sondern k¨onnen durch Warten "Punkte sammeln“ und h¨ohere Priorit¨at bekommen
  • Scheduling: FB-Strategie -Feedback Strategie Kennt man die Bedienzeit a priori nicht, m¨ochte aber lang laufende Prozesse benachteiligen, so kann man den Prozess nach jeder CPU-Benutzung in seiner  Priorit¨at“ schrittweise herabsetzen  Die einzelnen Warteschlangen werden z. B. nach FCFS oder Round-Robin verwaltet;
  • Schätzung der Länge der Rechenphasen - Prozesse zeigen oft ein ”station¨ares“ Verhalten, d. h. man kann auf Grund der Kenntnis des Verhaltens in der jungsten Vergangenheit auf ¨ die kurzfristige Zukunft schließen. -man berechnet durchschnitt der Ausführungszeit der vorherigen Rechenphasen der Prozesse -jüngere werte wichtiger -> deswegen exponentielles Glätten
  • Multiprozessoraspekte beim Scheduling War ein Prozess vorher (letzte Zeitscheibe) auf Prozessor p, so besteht die Chance, dass noch wesentliche Teile seines Adressraums im Cache von p vorhanden sind und er deswegen dort schneller läuft Daher gibt es h¨aufig das Konzept der Prozessor-Affinit¨at: Der Scheduler merkt sich (im Prozesskontrollblock) jeweils den von diesem Prozess bevorzugt benutzten“ oder zuletzt benutztenProzessor.
  • Scheduling: Sollzeitpunkte -deadlines für wichtige Prozesse hard real-time systems: Verletzung bedeutet Ausfall des Systems undkann nicht toleriert werden (Beispiel: Airbag, Antiblockiersystem). soft real-time systems: Verletzung bedeutet Qualit¨atseinbußen, kann in Grenzen toleriert werden (Internet-Telefonie, Ubertragung und Verarbeitung von Bewegtbildern, Online-Spiele).