MichiLee: Betriebssystemfragen

Beitrag lesen

Hallo Forum,

ich hätte demnächst eine Klausur und hätte leider ein paar Fragen, die ich nicht wirklich durch Wiki lösen konnte.

1. CPU mit spez. und allg. Registern = Leiterk und Rechenwerk. Unter Rechenwerk haben wir nuns tehen: Programmzähler, Befehlsregister und Kellerzeiger/Stapelzeiger.

Der Progammzähler enthält die Speicheradresse (RAM oder ROM) des nächsten Befehls (oder auch Daten), was ausgeführt wird. Richtig?

Im Befehlsregister wird der nächste zu auszuführende Befehl abgelegt abgelegt inkl. Inhalt der Speicherstelle im Hauptspeicher. (So steht es bei uns im Script.) D.h., der Programmzähler zeigt auf den Befehlsregister, wenn hier die Befehle drin sind?

Für was braucht man nch einen Kellerzeiger/Stapelzeiger, wenn der Programmzähler auf das nächste Befehl (Speicheradresse) zeigt?
Der Kellerzeiger zeigt ja auf die erste verfügbare Speicheradress des Kellerspeichers)

Hier fehlt mir leider etwas Orientierung, wie man das erkennen kann :-)
Vor allem, weil in einem anderen Script unter Leitwerk anstatt Kellerzeiger das Wort Programmstatuswort erscheint. (Accountingdaten, Statuswort, ...) Dürfte vermutlich dasselbe sein?
Ist der Kellerzeiger evtl. für Interrupts wichtig, wenn ein Prozess angehalten wird und mit einer anderen weitergemacht? (Interrupthandler)

2. Verstehe ich in Shell folgendes richtig: wait %jobnr
Wenn ich durch wait &jobnr etwas vom Hintergrund aufrufe, wird meine Tastatur so lange gekoppelt, bis der Prozess fertig ist, ohne dass ich den Prozess sehe?

3. 4 notwendige Bedingungen für Deadlocks. Klar sind mir folgende 3 Punkte "Besitzen und Warten", "Kein Betriebsmittelentzug" und "Zyklische Wartebedingun".
Der vierte Punkt "Wechselseitiger Auschluss (ressourcen sind nur exklusiv nutzbar. Die eine Ressource benutzenden Prozesse schließen sich wechselseitig aus"

Was versteht man dadrunter genau? Der Inhalt könnte ja auch in "Besitzen und Warten" fallen?

4. Mit der Fat Großenberechnung will ich euch nicht stören. Ich finde nur kein gescheites Stichwort für google, wie man das die Fatgröße rechnet?
Im Script steht nur: Größe der FAT = Anzahl Zeiger * Zeigerlänge und Anzahl Zeiger = Partitionsgröße / Blockgröße (Ich sollte halt die Begrifflichkeiten wissen ne? :-) )
Cluster

5. Wenn ich das obere gelöst habe, dürfte ich auch folgendes dann verstehen: Problem bei Belegung durch Index-Blöche (Unix File System)
Die anzahl der speicherbaren Zeigadressen pro Index-Block ist limitiert und max 128 Blöcke adressierbar (Dateigröße maximal 64KByte)

6. Alle Teilnehmer eines LANs teilen sich die Übertragungskapazität des physikalischen ÜBertragungswegs: "Shared networks". alle Stationen sehen alle Daten-Rahmen im LAN (Jeder Rahmen erreicht prinzipiell jede Station)
Meint man mit Rahmen den Verbund aller Stationen, praktisch ein Netz?

7. RC4-Stromverschlüsselungsverfahren (Bsp. WEP-Schlüssel)
Verschlüsserung: C = P xor K
Entschlüsselung: C xor K = P xor K xor K = P

Warum ist die Entschlüsselung so komisch, reicht da C xor K nicht aus, um wieder an den Klartext P zu kommen? (K = Schlüsselstrom, C = Verschlüsselter Text)

8. Für was soll die Broadcast-Adresse 255.255.255.255 gut sein? (Um eventuell, wenn man sich in ein Netzwerk verbindet und die 255.255.255.255 anspricht, dass man vom Netzwerk seine eigene IP als Antwort erhält?

9. Modifizieren des Programmzählers muss nicht im privilegierten Modus (Kernelmode) ausgeführt werden. Stimmt das?

10. X-Server und X-Client ist ja genau anders herum, wie man es vom WWW kennt ne? X-Server verwalter Monitor, Tastatur, Maus, grafische Grundellemente, Netzwerkweite bereitstellung. (Bei dem alles dargestellt wird), X-Client ist Teil der anwendung, kommuniziert mit X-Server, Ereignisverwaltung (Auf dem laufen die Dienste)

11. Kooperative Multitasking: Der aktive Prozess muss die CPU von sich aus freigeben, der Dispatcher

12. Unter http://de.wikipedia.org/wiki/Ger%C3%A4tetreiber steht:
"[..] Von Computern und ihren Betriebssystemen kann nicht erwartet werden, dass sie mit all diesen verschiedenen Arten umgehen können, erst recht nicht mit zukünftigen Geräten. Um dieses Problem zu lösen, gibt das Betriebssystem vor, wie eine Klasse von Geräten angesprochen werden sollte. Die Gerätetreiber kümmern sich dann um die Übersetzung [..]"

Weiter unten steht dann:
"[..] Häufig sind funktionstüchtige Hardwarekomponenten mit proprietären Treibern mit neueren Betriebssystemen nicht lauffähig. Dies hängt oft mit den kommerziellen Interessen von Hardwareherstellern zusammen [..]"

Wenn aber das Betriebssystem, wie oben erwähnt, die Klassen von Geräten (also den Treiber, bzw. Treiberaufruf) vorgibt, dann sollte der gleiche Treiber auf neuerem Betriebssystem eigentlich auch laufen, da der Aufruf, bzw. die Vorgabe ja gleich bleibt? (Der Treiber kümmert sich dann um die Kommunikation zur Hardware hin)?

Ich hoffe, dass dies alles nicht zu viel war. Ich habe mich aber bemüht, vieles durch Google und Wiki selber heauszurkriegen, was mir nicht immer gelungen ist.

Grüße