12

GTI (Fach) / Einführung (Lektion)

Grundlagen technischer Informatik

Diese Lektion wurde von linbu erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

Anzeige
  • Grenzen Sie die Begriffe "Programm" und "Prozess" voneinander ab. Programm Folge von Anweisungen für den Rechner Prozess Menge aller Daten, welche vollständig beschreibt, wie weit die Abarbeitung des Programms fortgeschritten ist
  • Welche Leistungen muss das Betriebssystem bei der PROZESS-VERWALTUNG jeweils erbringen? Prozessor(en) verwalten Prozesseerzeugung und -beendigung Scheduling realisieren (Zeitplanerstellung, auch Zeitlaufsteuerung) Prozesse müssen Ressourcen gemeinsam nutzen können (Konkurrenz, Komunikation)
  • Welche Leistungen muss das Betriebssystem bei der SPEICHER-VERWALTUNG erbringen? Hauptspeicher anfordern und freigeben Relokation (Programm auf zugewiesenen Teil des Hauptspeichers abarbeiten) Swapping (zeitweilige Auslagerung von Prozessen) oder virtueller Speicher
  • Welche Leistungen muss das Betriebssystem bei der DATEI-VERWALTUNG erbringen? Kernel legt struckturiertes Dateisystem über unstruckturierter Hardware Verwaltung von Zugriefsrechten bei Multi-User-System
  • Welche Leistungen muss das Betriebssystem bei der Ein-Ausgabe-Steuerung erbringen? Rechner-Peripherie (Terminal, Massenspeicher, Ein-Ausgabe-Ports, Netzwerk etc) Verwaltung Konkurrierende Zugriffe von Prozessen werden koordiniert
  • Welche Leistungen muss das Betriebssystem bei der NETZWERK-VERWALTUNG erbringen? Eingehende Netzwerkpakete werden gesammelt, identifiziert und dann an die Prozesse weitergeleitet
  • Warum sollten in einem Betriebssystem Interrupts verschiedener Quellen hierarchisch entsprechend ihrer Priorität organisiert sein? Welche Art von Interrupts sollte beim präemptiven Scheduling hoch priorisiert sein? Dadurch, dass jeder Interrupt eine Priorit¨at hat, kann ein Interrupt höherer Priorität ein Interrupt niedriger Priorität verdrängen, aber nicht andersherum. Interrupts von Peripherie-Bausteinen die das Vorliegen von neuen/geänderten Daten anzeigen, müssen sofort ausgelesen werden und sind daher hoch zu priorisieren. Genau wie die Timer-Interrupts, die anzeigen, dass die Zeitscheibe eines Prozess abgelaufen ist.
  • Eine Exception ist eine Unterbrechung der Abarbeitung bei Eintreten eines Fehlerzustandes. Beschreiben sie zwei Fälle von Exceptions, die vom Betriebssystemkernel behandelt werden. Zugriff auf unzulässigen Teil des Arbeitsspeichers (gehört nicht zu Prozess, nicht im Hauptspeicher) Ausführen von Befehlen, die nur im Kernel-Mode erlaubt sind
  • Moderne Prozessoren verfügen über Befehle, mit denen ein Datenwort in einem Schritt (atomar, unteilbar) abgefragt und verändert werden kann (test-and-set). Wozu dienen diese Befehle? Warum muss die Operation atomar erfolgen? Dieser Befehl dient dazu in einem Befehl die Abfrage und Belegung einer Ressource durchzuführen. Würde dieser Befehl nicht atomar erfolgen, könnte es dazu kommen, das Prozess1 die Freigabe für eine Resource kriegt, aber es nicht mehr schafft, diese als belegt zu kennzeichnen, weil Prozess2 einen Interrupt anmeldet und der Scheduling dann Prozess1 unterbricht. Nun können beide Prozesse die Resource benutzen und beeinflussen sich gegenseitig ungewollt. 
  • Das atomare Testen und Setzen eines Bits als Teil von Synchronisationsmechanismen kann bei Intel-Prozessoren durch den Befehl ' lock bts dword [adresse], bitnummer ' realisiert werden. In welchen Fällen wird zusätzlich zum Bit-Test-And-Set-Befehl 'bts auch der Lock-Präfi x benötigt? Was bewirkt dieser Präfi x? Das Lock-Präfix wird benötigt, wenn es mehrere Prozessoren gibt. Das Präfix bewirkt, dass der Datenbus für die Dauer des Befehls gesperrt wird, so dass kein anderer Prozessor auf dieselbe Speicherstelle zuzugreifen kann.
  • Anzeige
  • Warum sind Mikrokernel- Architekturen insbesondere auf Einprozessormaschinen ineffizient? An der Erledigung von Aufgaben sind immer mehrere Prozesse beteiligt. Aber auf einer Einprozessormaschine können diese Prozesse nicht parallel bearbeitet werden.
  • Nennen sie zwei Vorteile modularer monolithischer Kernel gegenüber nicht-modularen monolithischen Kerneln. sie erzwingen einheitliche Schnittstellen und senken den Entwicklungsaufwand der Hauptspeicher wird effizienter genutzt, insbesondere da Module automatisch bei Bedarf geladen und auch automatisch wieder entfernt werden könnnen. Der Kernel wird also nicht mit selten benutzen Code überladen.