Sächs. VWA, Studiengang Betriebsinformatik LV Betriebssysteme / Prof. Fritzsche Dresden, den 04.11.2006 Erreichbare Punkte: 60 Bearbeitungszeit: 120 min. Erlaubte Hilfsmittel: keine Studienklausur 1. Was verstehen Sie unter einem verteilten System? Vergleichen Sie Netzwerkbetriebssysteme mit „echten“ verteilten Systemen! Um welche dieser Arten handelt es sich jeweils bei Windows 2000 und LINUX ? ( 4 Punkte ) Verteiltes System: Gemeinsame geteilte Nutzung von Ressourcen (Speicher, mehrere Prozessoren) im Netzwerk; In einem Netzwerk-BS läuft auf jedem Rechner ein eigenes BS. Die Benutzer sind sich der Existenz vieler Rechner bewusst. Sie können Zugang auf entfernte Rechner und deren Ressourcen erlangen. „Echtes“ Verteiltes System: Sieht für Benutzer wie traditionelles Einprozessorsystem aus. BS organisiert die verteilte Arbeit. Benutzer haben keine Kenntnis, wo Programme ausgeführt werden.Windows 2000 u. LINUX sind Netzwerkbetriebssysteme. 2. Was ist in Betriebssystemen ein Prozess? Welche Kenndaten verwaltet das Betriebssystem zu einem Prozess (bitte mindestens sechs aufzählen!)? Bei der Ausführung eines ps – Kommandos werden mehrere Zeilen ausgegeben, die in den Spalten PID und PPID folgende Angaben enthalten: PID PPID Was bedeuten diese Angaben? 8227 8225 Zeichnen Sie einen Hierarchiebaum mit Knotennummern! 8253 8227 Was bedeuten Knoten und Kanten in dieser 8254 8227 Baumdarstellung? 8310 8253 Was bewirken die Systemrufe fork, exec und wait? ( 12 Punkte ) Prozess: Ein sich in Abarbeitung befindliches Programm. Kenndaten: Daten- u. Programm-Bereiche, geöffnete Dateien, Stack, Befehlszähler, Register, Prozesszustand, Prozessnummer (PID), Prozessnummer des Vaterprozesses (PPID), Prozesspriorität, Kontrollterminal, aktuelles Verzeichnis, Environment u.a. 8225 8227 8253 8254 8310 Hierarchie: Prozesse können andere Prozesse erzeugen: Parent-Prozess erzeugt Child-Prozess. Die Hierarchie kann als Graph (Baum) dargestellt werden, mit Prozessen als Knoten und der Erzeugerrelation als Kanten. b.w. Sächs. VWA, Studiengang Betriebsinformatik Systemruf fork erzeugt Kopie des originalen Prozesses. Mit exec wird im erzeugten Prozess ein Programm zur Ausführung gebracht. Mit wait wartet der Elternprozess auf die Beendigung eines Kindprozesses. 3. Was verstehen Sie unter einer Kommunikation zwischen Prozessen mittels „Shared Memory“? Welche Probleme treten bei dieser Art der Kommunikation auf und welche Maßnahmen zur Überwindung der Probleme sind Ihnen bekannt? Erklären Sie den Begriff „Deadlock“! ( 6 Punkte ) Shared Memory: Von mehreren Prozessen gemeinsam genutzter Speicher. Bei (quasi-) parallelem Zugriff zum Speicher entstehen zeitkritische Abläufe. Jeweils nur ein Programm darf zu einem Zeitpunkt in seinem kritischen Bereich sein. Dies kann mittels wechselseitigem Ausschluss erreicht werden (Sperren). Aktives Warten oder Schafen/Aufwecken (Semaphore) sind Lösungsansätze. Beispiele: Druckerwarteschlange, Erzeuger-Verbraucher-Problem. Deadlock: Wechselseitiges Warten von Prozessen auf die Freigabe gemeinsam genutzter Ressourcen. Beispiel Erzeuger-Verbraucher-Problem: Warten auf Wecksignale. 4. Was ist der Unterschied zwischen einem Benutzerkonto und einem Benutzerprofil? Welche voreingestellten lokalen Benutzerkonten kennen Sie? Welche Benutzerprofile gibt es in einer Domäne? Erklären Sie jeweils deren Verwendungsmöglichkeiten! Wie können Systemrichtlinien die Benutzerumgebungen beeinflussen? Geben Sie ein Beispiel an! ( 8 Punkte ) Benutzerkonto wird vom Admin angelegt, eindeutig durch SID gekennzeichnet. Das Benutzerprofil enthält Einstellungen bzgl. der Benutzerumgebung (z.B. Desktop) und des Computers. Voreingestellte lokale Benutzerkonten sind Administrator und Gast. Benutzerprofile: Lokales Benutzerprofil auf lokalem Rechner; serverbasiertes Benutzerprofil zentral verwaltet, wird beim Abmelden auf dem Server aktualisiert; verbindliches Benutzerprofil zentral verwaltet, kann vom Benutzer nicht verändert werden. Systemrichtlinien z.B. zum Überwachen von Ereignissen. 5. Stellen Sie die Protokolle TCP und IP gegenüber! Welche Informationen enthalten jeweils entsprechende Pakete? Nennen Sie die Schichten des OSI-Referenzmodells und ordnen Sie TCP und IP ein! Welche Sicherheitsprotokolle werden in Windows 2000 zum Schutz von Übertragungswegen und Anmeldeprozessen unterstützt? ( 6 Punkte ) IP: Paket-vermittelnd, verbindungslos (es wird nicht garantiert, dass alle gesendeten Pakete ihr Ziel erreichen und in der gesendeten Reihenfolge empfangen werden); Aufbau: Header (Quell-IP-Adresse, Ziel-IP-Adresse, Prüfsumme, Optionen) + Rumpf (Nutzdaten) TCP: verbindungsorientiert (es wird garantiert, dass alle gesendeten Pakete in der gesendeten Reihenfolge empfangen werden), Verwendung von Laufnummern; Schichten: (1) physikalische Schicht, (2) Verbindungsschicht, (3) Netzwerkschicht, (4) Transportschicht, (5) Sitzungsschicht, (6) Präsentationsschicht, (7) Anwendungsschicht; Zuordnung: IP – Schicht 3, TCP – Schicht 4; Sicherheitsprotokolle: IPSec, Kerberos u.a. Sächs. VWA, Studiengang Betriebsinformatik LV Betriebssysteme / Prof. Fritzsche Dresden, den 04.11.2006 6. Welche Arten der Datensicherung werden vom Standard-Backup-Programm von Windows 2000 unterstützt? Erklären Sie die Rolle des Archivattributes und erläutern Sie die jeweiligen Tätigkeiten! ( 6 Punkte) Normale Sicherung (Dateien als gesichert markiert), Kopiesicherung, Inkrementelle Sicherung (Dateien als gesichert markiert), Differentielle Sicherung, Tägliche Sicherung. Archivattribut: Dateiattribut, das aktiviert wird, wenn eine neue Datei erstellt wird oder wenn eine existierende Datei verändert wird. Bei normaler und inkrementeller Sicherung wird das Attribut wieder deaktiviert. b.w. Sächs. VWA, Studiengang Betriebsinformatik 7. Gegeben sei folgende Verzeichnisstruktur im Laufwerk c: Im Verzeichnis Projekt befinde sich ausschließlich die Java-Datei A.java : import D.B ; public class A { public static void main(String [] args){ B b1 = new B(); b1.mb(); for (int i=0;i<args.length;i++) // Ausgabe aller System.out.println(args[i]); // Kommandozeilenparameter } } Im Verzeichnis D befinde sich ausschließlich die Java-Datei B.java : package D ; public class B { public void mb(){ System.out.println("Methode mb ausgefuehrt!"); } } a) D repräsentiere ein Package, das von A genutzt werden soll. Vervollständigen Sie die import-Anweisung in der Klasse A und die package-Anweisung in der Klasse B! Wozu dienen diese Anweisungen jeweils? package ordnet die in der Übersetzungseinheit enthaltenen Klassen einem Package zu. Bei der Übersetzung werden die Packages als Unterverzeichnisse berücksichtigt (kein Navigieren in Verzeichnisse nötig). import macht die Namen in der Übersetzungseinheit bekannt, hier den Klassennamen B. Das aktuelle Verzeichnis sei c:. Geben Sie zur Realisierung der folgenden Aufgaben Kommandos an: b) das Verzeichnis c:\VWA\Projekt ist zum aktuellen Verzeichnis zu machen, cd VWA\Projekt c) die Dateien A.java und B.java sind zu übersetzen, javac A.java Die Übersetzung B.java erfolgt automatisch mit. d) die Anwendung A ist auszuführen, wobei ihr als Kommandozeilenparameter die Zeichenkette *.* zu übergeben ist. Die erzeugten Ausgaben sind dabei in eine Datei ausgabe im Verzeichnis Projekt zu schreiben, java A *.* > ausgabe e) die Datei ausgabe ist am Bildschirm anzuzeigen. Geben Sie auch den Inhalt dieser Datei an! type ausgabe Sächs. VWA, Studiengang Betriebsinformatik LV Betriebssysteme / Prof. Fritzsche Inhalt ausgabe: Dresden, den 04.11.2006 Methode mb ausgefuehrt! A.java A.class Notieren sie ferner f) eine Kommandoprozedur (Batch-Datei) cre (im Verzeichnis c:\VWA auszuführen), mit deren Hilfe die gesamte Java-Anwendung (Verzeichnis Projekt) in ein neues Unterverzeichnis von c:\VWA kopiert werden kann. Das neue Unterverzeichnis soll allerdings nur .class-Dateien enthalten (d.h. keine Quelltexte)! Der Name des zu erzeugenden Unterverzeichnisses ist cre als erster Parameter zu übergeben. Falls eine gleichnamige Datei bereits existiert, soll cre eine Fehlermeldung ausgeben und enden. Hinweis: Der IF-Befehl dient in folgender Form zur Überprüfung der Existenz einer Datei: IF EXIST dateiname befehl1 ELSE befehl2 Die IF-Bedingung ist erfüllt, wenn die Datei dateiname existiert. ( 18 Punkte) IF EXIST %1 (echo ″Fehler″ ) ELSE ( MKDIR %1 XCOPY Projekt\*.class %1 ) b.w.