var questions = new Array();
var answers = new Array();

questions[questions.length] = "Unterschied RISC/CISC Architektur";
answers[answers.length] = "RISC: Reduzierter Befehlsvorrat, fest verdrahtet<br>CISC: 200-300 Befehle mit variabler Befehlsl&auml;nge<br>Risc-Befehle von L&auml;nge gleichlang, Vorteil Pipelining.";

questions[questions.length] = "Ist die MI als RISC oder CISC umgesetzt?";
answers[answers.length] = "CISC";

questions[questions.length] = "Erl&auml;utern Sie das von-Neumann-Konzept.";
answers[answers.length] = "Beim von-Neumann-Konzept gelten folgende Prinzipien:1. Der Computer besteht aus<br>Speicher<br>Rechenwerk<br>Leitwerk<br>Ein-/Ausgabeger&auml;ten.<br>Heute:<br>Aufspaltung des Speichers in Speicherhierarchie<br>Leitwerk und Rechenwerk formen Zentraleinheit<br>gelegentliche mehrere Rechenwerke im Zentralprozessor<br>Ein-/Ausgabeger&auml;te &uuml;ber Ger&auml;testeuerungen indirekt angeschlossen<br>Verbindungsnetz ist kritischer Teil";

questions[questions.length] = "Skizzieren Sie einen von-Neumann-Rechner!";
answers[answers.length] = "<img src='pics/vonNeumann.gif'>";

questions[questions.length] = "Welche von-Neumann-Einheiten kommunizieren heutzutage miteinander und wie?";
answers[answers.length] = "<img src='pics/vonNeumann2.gif'>";

questions[questions.length] = "Was ist der Unterschied zwischen RISC und CISC?";
answers[answers.length] = "CISC-Architekturen haben folgende Eigenschaften:Umfangreiche Befehlss&auml;tze mit einigen hundert Befehle, die Teilweise komplizierte Aufgaben l&ouml;sen<br>viele Adressierungsarten mit Register-, Speicher- und Keller-Zugriffsarten und Adressrechnung in<br>Maschinenbefehlen<br>Familienkonzept bei aufw&auml;rtskompatiblen Prozessoren mit grossen Leistungsunterschieden<br>Nutzung von Mikroprogrammierung f&uuml;r das Leitwerk<br>Trennung von Befehlssatz, Implementierung und Realisierung<br>Befehlss&auml;tze sind m&ouml;glichst speichersparend entworfen, haupts&auml;chlich durch uneinheitliches Befehlsformat<br>Im Gegensatz dazu zeichnen sich RISC-Architekturen durch folgende Eigenschaften aus.<br>elementare, kleine Befehlss&auml;tze, deren Operandenhol- und Ausf&uuml;hrungsphase in je einem Takt<br>durchf&uuml;hrbar ist<br>Verzicht auf Adressierungsarten und Adressrechnung in der Operandenholphase<br>Operanden ausschliesslich in Registern (Load-Store-Architektur ) und grosse, universelle Registers&auml;tze<br>Nutzung von Pipelining<br>fest verdrahtete Leitwerke (= keine Mikroprogrammierung)<br>einheitliches Befehlsformat<br>Kooperation von optimierenden Compiler und der Prozessorarchitektur zur Leistungssteigerung";

questions[questions.length] = "Was ist der Flaschenhals bei von-Neumann-Rechnern und wie kann man ihn reduzieren?";
answers[answers.length] = "weniger Daten &uuml;ber Bus -> Caches, Pipelines";

questions[questions.length] = "Wie sieht eine MAC-Adresse aus?";
answers[answers.length] = "Im Falle von Ethernet-Netzen besteht die MAC-Adresse aus 48 Bit, nummeriert von 47 bis 0. Die Adressen werden in der Regel hexadezimal geschrieben, wie z. B. 08-00-20-ae-fd-7e oder 08:00:20:ae:fd:7e (auch: 080020aefd7e).<br>Die MAC-Adresse, bei der alle 48 Bits auf 1 gesetzt sind (ff-ff-ff-ff-ff-ff), wird als Broadcast-Adresse verwendet, die an alle Ger&auml;te in einem LAN gesendet wird.<br>Die letzten drei Byte geben das Bauteil an: also 2<sup>24</sup> = 16.777.216 (!) pro Firma sozusagen.<br>Es ist aber von F&auml;llen bekannt in denen es zu doppelten MAC-Adressen in einem LAN kam. Dies lag aber wohl daran, dass man die MAC-Adresse auch von Hand setzen kann.";

questions[questions.length] = "Wie hei&szlig;en die drei Bussysteme bei von Neumann?";
answers[answers.length] = "Steuerbus, Adressbus, Datenbus";

questions[questions.length] = "Welche Gruppen von IP-Adressen gibt es?";
answers[answers.length] = "Klasse A: Adressbereich 1.0.0.0 - 127.255.255.255<br>Klasse B: Adressbereich 128.0.0.0 - 191.255.255.255<br>Klasse C: Adressbereich 192.0.0.0 - 223.255.255.255<br>Klasse D: Adressbereich 224.0.0.0 - 239.255.255.255 (verwendet durch Videokonferenzsysteme, z.B. durch die Mbone-Werkzeuge). Die Adresse 224.0.0.1 dient zur Adressierung aller am lokalen Netz befindlichen Hosts, die Mitglied mindestens einer Gruppe sind. In der Gruppenadresse 224.0.0.1 sind alle Multicast-Hosts Mitglied; Router verwerfen an diese Adresse gesendete Pakete, d.h. es k&ouml;nnen nicht alle Multicast-Hosts im Internet adressiert werden.<br>Klasse E: Adressbereich 240.0.0.0 - 247.255.255.255<br>Diese Aufteilung ist aber heutzutage nicht mehr relevant, da es zu viel Verschnitt gab. Heute arbeitet man mit Netzmasken. Diese sind genauso lang wie IP-Adressen und markieren den ersten Teil der Netzadresse mit 1er und die eigentlich Host-Adresse mit Nullen. Also z.B. 11111111 11111111 11111111 11100000. Es bleiben also 2<sup>5</sup>=32 zu verteilende Adressen &uuml;brig.";

questions[questions.length] = "Was sind die zugeh&ouml;rige Topologien des Ethernets und wie lauten deren Unterschiede?";
answers[answers.length] = "<img src='pics/bustopologie.gif'><br><img src='pics/tokenring.gif'><br><img src='pics/sterntopologie.gif'><br><img src='pics/baumtopologie.gif'>";

questions[questions.length] = "Was sind die Vor- und Nachteile der Ring, Stern und Bustopologien?";
answers[answers.length] = "<b>Ringtopologie</b><br><i>Vorteil:</i>Zugriffe auf gemeinsames &Uuml;bertragungsmedium leicht zu koordinieren.leicht zu erkennen, ob Netz korrekt funktioniert.<br><i>Nachteil:</i>Im Fall eines Kabelbruchs f&auml;llt das gesamte Ringnetz aus.<br><b>Sterntopologie</b><br><i>Vorteil:</i>Vereinfacht Schutz des Netzes vor Sch&auml;den durch ein Kabel, da Kabel jeweils nur an einer Maschine angeschlossen ist. Nutzung unterschiedlicher &Uuml;bertragungsmedien, wie Twisted Pair, Koaxialkabel oder Lichtwellenleiter.<br><i>Nachteil:</i>jeweils getrennte Anschl&uuml;sse an Hub notwendig.<br><b>Bustopologie</b><br><i>Vorteil:</i>erfordert weniger Kabel als ein Sternnetz.<br><i>Nachteil:</i>Im Fall eines Kabelbruchs ist das Netz unterbrochen. I.a. nur Koaxialkabel als &Uuml;bertragungsmedium nutzbar.";

questions[questions.length] = "Wie sind Caches organisisert?";
answers[answers.length] = "<img src='pics/cache1.gif'><br>Angenommen, das Rechensystem hat Arbeitsspeicheradressen mit m bits -> M = 2m eindeutige Adressen. Cache ist ein Array von Mengen (S = Anzahl von Mengen) jede Menge enth&auml;lt eine oder mehrere Reihen (E = Anzahl von Reihen pro Menge) jede Reihe enth&auml;lt einen Datenblock (B ist Blockgr&ouml;&szlig;e pro Reihe) -> Cachegr&ouml;&szlig;e = B * E * S Bytes.<br><img src='pics/cache2.gif'><br><img src='pics/cache3.gif'>";

questions[questions.length] = "Wie funktionieren assoziative Caches?";
answers[answers.length] = "Allgemeiner Aufbau:<br><img src='pics/cache4.gif'><br>Falls Mengenselektion und Reihenabgleich erfolgreich sind und das G&uuml;ltigbit gesetzt ist, befindet sich das gew&uuml;nschte Wort im Cache. Mit Hilfe von Blockoffset wird das erste Byte des gew&uuml;nschtenWortes im Cache angesteuert. Daneben gibt es noch einen voll assoziativen Cache (fully assoziative), der nur aus einer Menge besteht, die alle Cache Reihen aufnimmt. In diesem Fall entf&auml;llt die Mengenselektion und es werden nur g&uuml;ltige Reihen auf ihre &Uuml;bereinstimmung mit den Tagbits &uuml;berpr&uuml;ft. Voll assoziative Caches sind nur f&uuml;r sehr kleine Caches geeignet, z.B. Translation Lookaside Buffer (TLB) im virtuellen Speicher, der Eintr&auml;ge in der Seitenkacheltabelle cached.";

questions[questions.length] = "Wie l&auml;uft das Schiebefenster-Protokoll ab?";
answers[answers.length] = "<img src='pics/slidingwin.gif'><br><img src='pics/slidingwin2.gif'><br><img src='pics/slidingwin3.gif'>";

questions[questions.length] = "Wie kommunizieren die Komponenten bei von Neumann-Rechnern?";
answers[answers.length] = "Nachfolgendes Beispiel zeigt die Aktionen, die ein Prozessor (Rechnerkern RK) und der Arbeitsspeicher ausf&uuml;hren, um Daten vom Arbeitsspeicher &uuml;ber den Bus zum Prozessor zu &uuml;bertragen.Arbeitsspeicher-Prozessor-Daten(RK)<br>Die Komponenten arbeiten nicht mit einem gemeinsamen Takt, sondern unabh&auml;ngig voneinander.<br>1. RK legt die ASP-Adresse der gew&uuml;nschten Dateneinheit (16, 32 oder 64bit Umfang) auf den Adressbus.<br>2. RK legt das Signal 'Lesen' auf eine bestimmte Leitung im Steuerbus. <br>3. RK legt das Signal 'Adresse g&uuml;ltig' auf eine bestimmte Leitung im Steuerbus. Damit wird erreicht, dass die Adresse erst gelesen wird, wenn alle Adressleitungen und Signale g&uuml;ltig sind (d.h. stehen).<br>4. ASP ist passiv, 'h&ouml;rt' aber auf Adress- und Steuerbus mit.<br>5. ASP erkennt, dass eine Adresse g&uuml;ltig ist und pr&uuml;ft, ob er mit dieser Adresse gemeint ist. Falls ja, f&uuml;hre Schritte 6 - 12 aus. Dies sieht er anhand von der spezifizierten Adresse; sp&auml;ter werden die Aufteilung der Adressbereiche noch gesondert behandelt. Wenn ASP durch die Adresse nicht angesprochen ist, erfolgt keine weitere Aktion.<br>6. ASP pr&uuml;ft das Transportrichtungssignal im Steuerbus (es erkennt das Signal 'Lesen').<br>7. ASP legt die (adressierten) Daten auf den Datenbus.<br>8. ASP legt das Signal 'Daten bereit' auf eine bestimmte Leitung im Steuerbus.<br>9. RK wartet, bis das Signal 'Daten bereit' erscheint. Er wei&szlig; dann, dass die Daten auf dem Datenbus g&uuml;ltig sind und &uuml;bernimmt diese.<br>10. RK legt das Signal 'Daten &uuml;bernommen' auf eine bestimmte Leitung im Steuerbus.<br>11. ASP deaktiviert daraufhin den Datenbus und das Signal 'Daten bereit'.<br>12. Sobald das Signal 'Daten bereit' vom ASP weggenommen wird, deaktiviert der RK die von ihm verwendeten Adress- und Steuerleitungen. Der Bus ist wieder im Grundzustand und kann damit von einem anderen Prozessor verwendet werden.";

questions[questions.length] = "Was ist der Unterschied zwischen 32Bit und 64Bit-Rechnern?";
answers[answers.length] = "Es kann ein gr&ouml;&szlig;erer Adressraum angesprochen werden.";

questions[questions.length] = "Was ist CSMA-CD?";
answers[answers.length] = "Abk&uuml;rzungen: CS = Carrier Sense: vor dem Senden Lauschen auf der Leitung; MA= Multiple Access: mehrere Rechner haben Zugriff; CD = Collision Detect: Mith&ouml;ren w&auml;hrend der Sendung, um Kollisionen zu entdecken.<br><img src='pics/csma_cd.gif'>";

questions[questions.length] = "Wie werden Pr&uuml;fsummen ermittelt?";
answers[answers.length] = "x<sup>12</sup> + x<sup>11</sup> + x<sup>3</sup> + x<sup>2</sup> + x + 1 entspricht dem Bitmuster: 1100000001111<br><img src='pics/bsp_prufsumme.gif'>";

questions[questions.length] = "Wie hoch ist ungef&auml;hr die maximale Auslastung des Ethernets und wie kann es erh&ouml;hen?"
answers[answers.length] = "(wegen Kollisionen) 40%<br>Verbessern durch Switch-Ethernet, dadurch ist Voll-Duplex m&ouml;glich.";

questions[questions.length] = "Wie sieht das ISO/OSI Modell aus?";
answers[answers.length] = "<img src='pics/osi.gif'><br><i>Dienst (Service)</i> Ein Dienst ist eine Menge von Operationen die eine Schicht der Schicht &uuml;ber ihr anbietet. Es wird nichts &uuml;ber die Implementierung dieser Operationen ausgesagt.<br><i>Dienstprimitive</i> Die Dienstprimitive sind die Operation (Methoden), die eine Schicht der Schicht &uuml;ber ihr anbietet. Es herrscht einige Verwirrung dar&uuml;ber welche Schicht nun welche Primitive hat. Zum Beispiel wird manchmal behauptet, die Schicht 1 h&auml;tte die Primitiven SendBit und RecieveBit. Das stimmt so nicht. Das sind n&auml;mlich genau die Primitiven des Leiters und nicht der Schicht 1.<br><i>Protokoll</i> Protokolle definieren Regel f&uuml;r die Nachrichten die zwischen Instanzen der selben Schicht ausgetauscht werden. Zwei Instanzen auf der selben Schicht k&ouml;nnen, wenn Sie wollen sich f&uuml;r ein neues Protokoll entscheiden. Solange sie ihre Dienste nicht &auml;ndern, wird das Netz davon nicht beeinflusst.";

questions[questions.length] = "Welche Probleme treten beim Pipelining auf?";
answers[answers.length] = "(Probleme bei Spr&uuml;ngen) welche Probleme noch? verschiedene Operandenl&auml;ngen. L&ouml;sung dazu: RISC";

questions[questions.length] = "Wie funktionieren Seiten-Kacheltabellen?";
answers[answers.length] = "<img src='pics/virtuell3.gif'><br>Die Adressabbildung erfolgt mittels der Seiten-Kacheltabelle (SKT). D.h. wir ben&ouml;tigen Informationen &uuml;ber die zu verwaltenden Seiten. Dazu wird jede Seite eines Prozesses durch einen Seitendeskriptor beschrieben. Die Seiten-Kacheltabelle ist i.a. prozessspezifisch. Neben der Zuordnung Seite-Kachel enth&auml;lt ein Seitendeskriptor noch weitere Informationen, wie z.B. die Zugriffsrechte und den Zustand der Seite.<br>Die Seiten-Kacheltabelle kann sehr gro&szlig; werden, z.B. bei Seitengr&ouml;&szlig;e 4K(fr&uuml;her &uuml;blich!) ergeben sich f&uuml;r 32-bit Adressraum insgesamt 1 Million Seiten pro Prozess.<br>2<sup>12</sup> f&uuml;r den Offset innerhalb der Seite und damit 2<sup>20</sup>=1.048.567 f&uuml;r die Adressierung von Seiten. L&ouml;sung? Mehrstufige Tabellen:";

questions[questions.length] = "Wie findet sich TCP/IP im ISO/OSI-Modell wieder?";
answers[answers.length] = "<img src='pics/osi_tcpip.gif'>";

questions[questions.length] = "Welche Protokolle finden sich auf den jeweiligen Schichten des ISO/OSI-Modells?";
answers[answers.length] = "<img src='pics/osi_genau.gif'>";

questions[questions.length] = "Welche M&ouml;glichkeiten der Flusskontrolle gibt es?";
answers[answers.length] = "Sliding-Window, Stop-and-Wait";

questions[questions.length] = "Welche Bushierachien gibt es? Nenne Beispiele! Wie arbeiten die Busse zusammen?";
answers[answers.length] = "<img src='pics/vonNeumann2.gif><br>Die Komplexit&auml;t heutiger Computer-Systeme ist nur mit einer Aufteilung der Signalfl&uuml;sse auf verschiedene Teil- Busse zu gew&auml;hrleisten: man spricht vom: 1. Prozessorbus: im Innern des Prozessors  sowie heute meist zum cache; 2. Speicherbus: vom Prozessor zum Arbeitsspeicher; 3. Systembus; 4. Ger&auml;tebus: z.B. zur Verbindung der Massenspeicher  und 5. Ein-/Ausgabebus; siehe ferner 6. Peripheriebus; die Interkonnektion zwischen den genannten Hierarchiestufen vermitteln Controller, hier bridges  genannt; in der genannten Reihenfolge nehmen die Transferraten und Kosten ab, die Flexibilit&auml;t und Installationsbasis  zu; die Implementierung  und Benennung ist uneinheitlich.";

questions[questions.length] = "Wie funktioniert Ethernet?";
answers[answers.length] = "Ethernet ist eine LAN-Technologie, die durch IEEE 802.3 standardisiert ist und eine &Uuml;bertragungsrate von 10 MBit/s bietet. Ethernet kann mit Coax, Twisted-Pair und Glasfaser eingesetzt werden. Es handelt sich um ein Broadcastnetz, dass CSMA/CD als Zugriffsverfahren einsetzt und die Manchester-Codierung verwendet. Als Adressen verwendet Ethernet die weltweit eindeutigen 48 Bit MAC Adressen. Ethernet selbst bietet nur verbindungslose Kommunikation ohne Best&auml;tigung. Es kann aber durch die Logical Link Control (LLC)-Schicht erweitert werden, die auch verbindungsorientierte Kommunikation erlaubt. Dann ist die Sicherungsschicht in zwei Schichten, die MAC-Schicht und die LLC-Schicht zerlegt. Die Medium Access Control (MAC)-Schicht beinhaltet das Vielfachzugriffsverfahren. Die Logical Link Control (LLC)-Schicht bietet die verbindungsorientierte Kommunikation, die LLC ist durch IEEE 802.2 de niert. Ethernet ist sehr einfach und g&uuml;nstig und daher sehr weit verbreitet. Dies gilt insbesondere, da auch schnellere Varianten von Ethernet, Fast Ethernet und Gigabit Ethernet mit 100 bzw. 1000 MBit/s existieren.";

questions[questions.length] = "Wie werden LANs verkn&uuml;pft?";
answers[answers.length] = "<img src='pics/lans.gif'>";

questions[questions.length] = "Was sind die verschiedenen Eigenschaften von Hubs, Switches, Bridges, Routern";
answers[answers.length] = "Hub: Physische Schicht<br>Bridges: Sicherungsschicht<br>Switches: Sicherungsschicht<br>Router: Netzwerkschicht";

questions[questions.length] = "Wie bauen Router ihre Routing-Tabellen auf?";
answers[answers.length] = "Spanning Tree Algorithmen: Kruskal (&uuml;ber Kanten) oder Prim (&uuml;ber Knoten / Points)";

questions[questions.length] = "Haben Bridges eine IP Adresse?";
answers[answers.length] = "Nein, macht keinen Sinn";

questions[questions.length] = "Wie lautet der Befehlsgrundzyklus?";
answers[answers.length] = "<img src='pics/befehlsgrundzyklus.gif'>";

questions[questions.length] = "Wie l&auml;uft virtuelle Adressierung ab?";
answers[answers.length] = "<img src='pics/virtuell1.gif'><br><b>Vorteil:</b>verschoben werden,gr&ouml;&szlig;er als der Arbeitsspeicher sein,auch ausschnittsweise im Arbeitsspeicher sein.<br><img src='pics/virtuell2.gif'><br><img src='pics/virtuell3.gif'><br>Mehrstufige Seiten-Kachel-Tabellen<br><img src='pics/virtuell1.gif'><br>Schnelle Umrechnung der virtuellen auf realen Adressen erforderlich, da Berechnung bei jedem Zugriff notwendig ist! H&auml;ufig verwendete Adressen werden in einem Schnellzugriffspeicher (cache) der MMU gehalten, dem Translation Lookaside Buffer (TLB). Bei jedem Zugriff auf eine virtuelle Adresse wird &uuml;berpr&uuml;ft, ob sich die zugeh&ouml;rige Seite und damit die Kacheladresse im TLB befindet. TLB ist als assoziativer Cache organisiert  (vgl.TGI!), d.h. alle Eintr&auml;ge werden gleichzeitig auf &Uuml;bereinstimmung mit dem Seitenanteil der referenzierten Adresse verglichen. Ist kein entsprechender Eintrag in der TLB, erfolgt die Adressabbildung &uuml;ber den relevanten Deskriptor der Seiten-Kacheltabelle. Idee ist, dass der TLB wenige Eintr&auml;ge enth&auml;lt (ca. 8). Ein Eintrag enth&auml;lt eine virtuelle und zugeordnete reale Adresse -> kein aufw&auml;ndiges Page Table Lookup f&uuml;r TLB Eintr&auml;ge erforderlich. Designziel bei der Verwaltung der TLB-Eintr&auml;ge ist eine gute Trefferrate (cache hit).";

questions[questions.length] = "Was ist Routing?";
answers[answers.length] = "Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen f&uuml;r Nachrichtenstr&ouml;me bei der Nachrichten&uuml;bermittlung &uuml;ber vermaschte Nachrichtennetze. Insbesondere in paketvermittelten Datennetzen ist hierbei strenggenommen zwischen den beiden verschiedenen Prozessen Routing und Forwarding zu unterscheiden: Das Routing bestimmt den gesamten Weg eines Nachrichtenstroms durch das Netzwerk; das Forwarding beschreibt hingegen den Entscheidungsprozess eines einzelnen Netzknotens, &uuml;ber welchen seiner Nachbarn er eine vorliegende Nachricht weiterleiten soll.";

questions[questions.length] = "Was ist border gateway?";
answers[answers.length] = "Das Border Gateway Protocol (englisch, zu deutsch etwa Grenzknotenprotokoll) beschreibt, wie Router untereinander die Verf&uuml;gbarkeit von Verbindungswegen zwischen den Netzen autonomer Systeme (AS) propagieren.<br><img src='pics/as.gif'><br>BGP unterst&uuml;tzt Routing-Information auf der Ebene der autonomen Systeme.<br>Routen als Wege von autonomen Systemen.<br>Routing-Information zur Aktualisierung der Wege umfasst:<ul><li>AS_Path: Liste der autonomen Systeme, die auf demWeg beschritten werden.</li><li>NLRI: Liste aller Teilnetze, die nach Durchqueren des Weges in AS_Path erreicht werden k&ouml;nnen. NLRI steht f&uuml;r Network Layer Reachability Information.</li><li>Next_Hop: n&auml;chster Router, um die Teilnetze aus NLRI &uuml;ber den WegAS_Path zu erreichen.</li></ul><ul><li>BGP erlaubt die Festlegung von sicherheitstechnische Massnahmen, z.B. kein Transitverkehr durch bestimmte autonome Systeme.</li><li>vom Pentagon ausgehender Datenverkehr darf nicht &uuml;ber den Irak &uuml;bertragen werden.</li><li>Datenverkehr von einer SUN-Adresse zu einer anderen SUN-Adresse darf nicht &uuml;ber Microsoft f&uuml;hren.</li><ul><br>OSPF erm&ouml;glicht es einem Router, die Routen einzubinden, &uuml;ber die er durch andere Mittel (z.B. BGP) erfahren hat.";

questions[questions.length] = "Wie funktioniert der link-state-Algorithmus?";
answers[answers.length] = "<p><b>Distance Vector Routing</b></p><p>Ein verteiltes, adaptives Routing, welches als RIP fr&uuml;her im Internet benutzt wurde. Hierbei speichert jeder Router eine Tabelle mit der besten Entfernung (z.&#160;B.: Anzahl hops, Verz&ouml;gerung in ms) zu jedem Ziel und dem dazugeh&ouml;rigen Ausgang. In der Praxis hat dieses Verfahren eine zu langsame Konvergenz zu einem konsistenten Zustand f&uuml;r viele Router, auf Grund der 'Count-to-infinity'-Problematik.</p><p><b>Link State Routing</b></p><p>Ein verteiltes, adaptives Routing, welches als OSPF und IS-IS im Internet eingesetzt wird. Dabei findet folgender Algorithmus Anwendung:</p><ul><li>Entdecken neuer Nachbarn mittels Hello-Protokoll</li><li>Messung der Verz&ouml;gerung bzw. der Kosten zu jedem Nachbarn, mittels ECHO-Paket</li><li>Erstellung eines LINK-STATE-Pakets mit allen gelernten Daten (Sender,Liste der Nachbarn mit Verz&ouml;gerung, Alter, ...),welches periodisch oder ereignisgesteuert (z.&#160;B.: neuer Nachbar, Ausfall, ...) erzeugt wird</li><li>Versenden dieses Pakets an alle Nachbarn (prinzipiell mittels Fluten, aber mit Verfeinerung: Vernichten von Duplikationen, Zerst&ouml;ren der Information nach gewissem Alter etc.)</li><li>Berechnung des k&uuml;rzesten Pfades zu allen anderen Routern (z.&#160;B.: Dijkstra-Algorithmus)</li></ul>";

questions[questions.length] = "Was ist der Unterschied zwischen dem Distance Vector Algorithmus und dem Link-State-Algorithmus?";
answers[answers.length] = "<p>Es sind zwei verschiedene Algorithmen, die unterschiedlichen Prinzipien folgen, unterschiedlichen Traffic verursachen und unterschiedlich schnell auf &Auml;nderungen konvergieren. Nur die Aufgabe die sie erf&uuml;llen ist ann&auml;hernd gleich.<p><p>Prinzip Distance Vector-A.: Ich rede nur mit meinen Nachbarn und teile ihnen alles mit, was ich glaube zu wissen.<p><p>Prinzip Link-State-A.: Ich rede zu allen teile ihnen aber nur das mit was ich &uuml;ber meine Nachbarn mit Sicherheit wei&szlig;.<p><p>Insbesondere kann beim Bellmann-Algorithmus das count to infinity Problem durch die im Algorithmis angelegte Unsicherheit auftreten. Das kann durch split horizont (Variante in der der Rechner nicht &uuml;ber eine Ver&auml;nderung benachrichtigt wird, von dem die Nachricht kommt) zwar reduziert werden aber immer nur f&uuml;r 2 Partner, sind am count to infinity mehr als nur zwei Knoten beteiligt wird es schwierig. In der Praxis setzt man einen festen Wert, ab dem eine Route quasi als unendlich betrachtet wird, bei RIP ist es 16.<p><p>Mit dem LSR tritt dieses Problem nicht auf, daf&uuml;r ist die Implementation komplexer. In gro&szlig;en Netzwerken spielt das eine gr&ouml;&szlig;ere Rolle weill mit zunehmender Anzahl der beteiligten Rechner die Chancen eines count to infinity, der sich nicht durch split horizont korrigieren l&auml;sst steigen. Dort ist eine schnelle Konvergenz (nicht nur aius diesem Grund) w&uuml;nschenswert.<p><p>Die beiden Implementationen RIP und OSPF unterscheiden sich zus&auml;tzlich auch darin, dass in RIP die Verbindungen zwischen Nachbarknoten als gleichwertig angesehen werden k&ouml;nnen und nur die Anzahl der hops entscheidet, w&auml;hrend das auf den Disktrija-Algorithmus basierende OSPF eine Gewichtung der Kanten ber&uuml;cksichtigt und load-balacing F&auml;higkeiten einsetzt.<p><p>Man kann also sagen, f&uuml;r kleinere Netze, in denen dynamisches Routen notwendig ist, reicht das relativ einfache RIP mit dem sich prinzipiell recht einfach zu implementierenden Distance-Vector Algorithmus aus. F&uuml;r gr&ouml;&szlig;ere Netze in denen auch die dezidierten Kosten bestimmter Verbindungen wichtiger werden ist das OSPF mit dem etwas komplexeren, aber schneller konvergierenden und das count-to-infinity Problem ausschlie&szlig;enden Dikstrija-Algorithmus die bessere Wahl. <p>";

questions[questions.length] = "Wie l&auml;uft bei moderne Architekturen die Daten&uuml;bertragung genau ab?";
answers[answers.length] = "<img src='pics/befehlszyklus2.gif'>";

questions[questions.length] = "Welche M&ouml;glichkeiten der direkten Kommunikation gibt es bei moderne Architekturen?";
answers[answers.length] = "ASP/EA -> DMA <br> DMA steht f&uuml;r Direct Memory Access und wird benutzt um die CPU bei I/O-Zugriffen zu entlasten. Wenn DM eingesetzt wird, gibt es einen DMA-Controller. Will die CPU Daten von einem Ger&auml;te lesen, gibt sie dem DMA-Controller den entsprechenden Auftrag und wendet sich wieder ihrer Arbeit zu. Der DMA-Controller kopiert jetzt eigenst&auml;ndig Daten von dem Ger&auml;t in den Hauptspeicher. Dabei k&ouml;nnen Ger&auml;te nicht unterscheiden ob der Zugri  von der CPU oder dem DMA-Controller kommt. Wenn er damit fertig ist, schickt er eine Unterbrechung an die CPU. Damit kann die CPU vom einem Grossteil der I/O-Arbeit entlastet werden.";

questions[questions.length] = "Wo liegt L1?";
answers[answers.length] = "= OnDie / Chip";

questions[questions.length] = "Wo liegt L2?";
answers[answers.length] = "= OffDie/Chip, aber vor Bus";

questions[questions.length] = "Wie sind Cache aufgebaut?";
answers[answers.length] = "Array von Mengen, die wiederum Reihen enthalten, welche wiederum Bl&ouml;cke enthalten.";

questions[questions.length] = "Wie sind Assemblerbefehl aufgebaut?";
answers[answers.length] = "<img src='pics/befehlsaufbau.gif'><br>Man unterscheidet zwischen Rechen- (Add), Transport- (Mov) und Steuerbefehlen (Jump)";

questions[questions.length] = "Sind bei Assemblerbefehl verschieden lange Operanden m&ouml;glich?";
answers[answers.length] = "Ja";

questions[questions.length] = "Welche Anzahl an Operanden k&ouml;nnen Assemblerbefehl haben?";
answers[answers.length] = "K&ouml;nnen unterschiedlich bis zu vier sein.<br><img src='pics/befehlsaufbau.gif'>";

questions[questions.length] = "Was ist Cache freundlicher Code (Beispiel?";
answers[answers.length] = "<i>Zeilenweises Aufsummieren</i><br><img src='pics/zeilenweise.gif'><br>Fehlerrate der inneren Schleife = 1/4 = 25%. Ausgangspunkt ist ein leerer Cache. Der Zugriff a[0, 0] f&uuml;hrt zum Laden eine Blocks mit den ersten 4 Matrixelementen der 0-ten Zeile in den Cache. Die nachfolgenden Zugriffe auf a[0, 1], a[0, 2] und a[0, 3] k&ouml;nnen durch den Cache befriedigt werden. Erst der Zugriff auf a[0, 4] f&uuml;hrt einem Laden eines neuen Blocks in den Cache.<br><i>Spaltenweises Aufsummieren</i><br><img src='pics/spaltenweise.gif'><br>Fehlerrate der inneren Schleife = 100%. Beim Zugriff von a[0, 0] werden die ersten 4 Elemente der ersten Zeile in den Cache geholt. Als n&auml;chstes Element in der inneren Schleife wird a[1, 0] ben&ouml;tigt, was jedoch nicht im Cache ist. Jeder Zugriff auf eine Matrixelement in der inneren Schleife f&uuml;hrt zu einem Cache Miss.";

questions[questions.length] = "Was ist Pipelining (Vorteil, Takt?)?";
answers[answers.length] = "<img src='pics/pipeline1.gif'><br><img src='pics/pipeline2.gif'>";

questions[questions.length] = "Wie viele Assemblerl&auml;ufe m&uuml;ssen gemacht werden?";
answers[answers.length] = "Assembler muss 2x dr&uuml;ber.<br>Der Lauf 1 erzeugt ein Programm in einem Zwischenformat, das als Eingabe f&uuml;r Lauf 2 dient, insbesondere erfolgt eine Zuordnung von symbolischen Namen zu Maschinenadressen.<br>Lauf 2: Falls symbolischer Name in Operandenspezifikation auftritt, ersetze Name in Operand durch Adresse.";

questions[questions.length] = "Lehrerfrage: Wie w&uuml;rden Sie Schulnetz aufbauen?";
answers[answers.length] = "Trennen von Sch&uuml;ler- und Verwaltungsnetzt / Ethernet";

questions[questions.length] = "Wie ist bei CSMA/CD die Backoff-Strategie?";
answers[answers.length] = "Muss die &Uuml;bertragung wegen eines Konflikts abgebrochen werden, so k&auml;me es unmittelbar zu einem erneuten Konflikt, wenn die beteiligten Sendestationen sofort nach dem Abbruch erneut senden w&uuml;rden. Sie m&uuml;ssen daher im Idealfall eine unterschiedlich lange Pause einlegen, sodass die Stationen eine Sendereihenfolge zugeordnet bekommen. Das Verfahren ist also nicht echtzeitf&auml;hig, wie es etwa bei Token Ring der Fall ist.";

questions[questions.length] = "Was ist der Unterschied zwischen Hub, Switch und Bridge?";
answers[answers.length] = "Repeater/Hubs dienen dazu, nahe LAN-Segmente zu einem gro&szlig;en LAN zu verkn&uuml;pfen. Sie dienen dazu, die elektrischen Signale zu verst&auml;rken, und an alle angeschlossenen LAN-Segmente weiterzureichen.<br><br>Mit Repeater verbundene LAN-Segmente sind an Beschr&auml;nkungen f&uuml;r LANs gebunden, d.h. maximale Ausdehnung, Anzahl der Rechner. Diese Beschr&auml;nkungen werden durch Br&uuml;cken (Bridges) aufgehoben. Br&uuml;cken sind Level-2a-Gateways. Deshalb wird gerne der Einsatz von Bridges verfolgt, die als 'store-and-forward' Ger&auml;te agieren, d.h. jedes LAN-Segment wird als eigenes LAN interpretiert.<br><img src='pics/osi_tcpip.gif'><br><br>Ein Switch ist &auml;hnlich aufgebaut wie ein Hub, d.h. er verf&uuml;gt &uuml;ber eine Menge von Ports, an die die einzelnen Rechner angeschlossen werden. Jedoch unterscheiden sie sich in ihrer Betriebsweise:<br>ein Hub simuliert ein gemeinsames Medium.<br>ein Switch simuliert eine Menge von LAN-Segmenten (f&uuml;r jeden Rechner ein eigenes LAN-Segment), die &uuml;ber eine Bridge-Funktionalit&auml;t miteinander verbunden sind. &Auml;hnlich wie in einer Telefonvermittlung kann jedes LAN-Segment mit jedem anderen LAN-Segment verschalten werden, d.h. zwischen je zwei Rechnern ist eine &Uuml;bertragung m&ouml;glich.<br>Ein Switched-LAN erm&ouml;glicht die parallele &Uuml;bertragung zwischen einzelnen LAN-Segmenten. Da ein Hub ein einzelnes, von allen Rechnern gemeinsam benutztes Medium (LAN-Segment) simuliert, k&ouml;nnen jeweils nur zwei Rechner &uuml;ber einen Hub kommunizieren. In einem Switched-LAN verf&uuml;gt jeder Rechner &uuml;ber ein eigenes simuliertes Segment. Das Segment ist nur besetzt, wenn vom betreffenden Rechner ein Rahmen empfangen oder gesendet wird. Damit ist eine gleichzeitige &Uuml;bertragung von Rahmen zwischen zwei disjunkten Rechnerpaaren &uuml;ber einen Switch m&ouml;glich.";

questions[questions.length] = "Wo ist das Internet im ISO/OSI-Modell anzusiedeln?";
answers[answers.length] = "<img src='pics/osi_tcpip.gif'>";

questions[questions.length] = "Erl&auml;utere als Anwendung des ISO/OSI-Modells Client-Server-Modell, FTP, email und andere h&auml;ufige Anwendungen?";
answers[answers.length] = "<img src='pics/clientserver.gif'>";

questions[questions.length] = "Wie sind IP-Adressen aufgebaut? (Gib ein Beispiel)!";
answers[answers.length] = "127.0.0.1 W&auml;re der lokale Server.";

