Hallo,
ich lern gerade für T3-T4-Prüfung und hab* folgende Fragen (aus Prüfungsprotokollen):
-Was ist eine Zeitscheibe?
-Was passiert, wenn ich 6 Zeitscheiben, aber nur 5 Prozesse habe?
-Werden Funktionen des Betriebssystems auch per Zeitscheibe ausgeführt?
ich lern gerade für T3-T4-Prüfung und hab folgende Fragen
Wizo? T3/4 macht doch garnicht Möller…
[img]
http://www.fb18.de/gfx/15.gif[/img]SCNR
-Was ist eine Zeitscheibe?
Das ist ein Stück Zeit [img]
http://www.fb18.de/gfx/15.gif[/img] Prinzipiell teilt man die Zeit in Zeitscheiben, ein Prozess darf dann wenn er will eine Zeitscheibe lang was tun, bevor der nächste gesucht wird.
-Was passiert, wenn ich 6 Zeitscheiben, aber nur 5 Prozesse habe?
Dann wird nach der 5ten Zeitscheibe, wenn jeder mal dran war (gleiche Priorität für alle Prozesse vorausgesetzt) wieder der erste genommen. Wenn kein Prozess will, gibts ne idle-Zeit.
-Werden Funktionen des Betriebssystems auch per Zeitscheibe ausgeführt?
Nichtkritische Dinge kann man durchaus auch als Tasks ausführen, ja.
-Was ist eine Zeitscheibe?
Das ist ein Stück Zeit [img]http://www.fb18.de/gfx/15.gif[/img] Prinzipiell teilt man die Zeit in Zeitscheiben, ein Prozess darf dann wenn er will eine Zeitscheibe lang was tun, bevor der nächste gesucht wird.
Auch wenn ich damit überhaupt noch nix zu tun hab…stellt sich mir die Frage: Wie lang ist dann so eine Zeitscheibe? Sechs Minuten? [img]
http://www.fb18.de/gfx/15.gif[/img]
Auch wenn ich damit überhaupt noch nix zu tun hab…stellt sich mir die Frage: Wie lang ist dann so eine Zeitscheibe? Sechs Minuten? [img]http://www.fb18.de/gfx/15.gif[/img]
Ja, so wie das Multitasking auf den lahmen Sparcs im großen RZ-Raum läuft… [img]
http://www.fb18.de/gfx/15.gif[/img]
Afair sind so 10 ms auf den bekannten OS üblich
Vielen Dank (an Triphoenix)
Wie lang ist dann so eine Zeitscheibe?
Die Frage würde mich aber auch interessieren.
Sind die Zeitscheiben aus dem Thema "Scheduling"? Weiss jemand, wie dieser Algorithmus richtig heisst??? Ich würde ihn gerne nachlesen, weiss aber nicht, wo ich suchen soll:)
Ich hab* da noch *ne Frage zum Thema Synchronisation:
Wie funktionieren Exchange-Befehl und Copy-and-Set?
Wie funktionieren Exchange-Befehl
Damit vertauschst Du zwei Register oder Speicherinhalte
exchange(a, b) = {c = a; a = b; b = c}
und Copy-and-Set?
copy-and-set(a, b) = {a = b; b = 1}
Wie lang ist dann so eine Zeitscheibe?
Die Frage würde mich aber auch interessieren.
Wie gesagt, das ist Algorithmusabhängig, hängt davon ab, welchen Grad von Pseudomultitasking du haben willst und was die Maschine hergibt. Zu lange Zeitscheiben sorgen dafür, dass das Multitasking immer mehr verschwimmt. Bei zu kurzen Zeitscheiben wird der Overhead für einen Prozesswechsel so groß, dass die Maschine z.B. 90% der Zeit für Prozesswechsel aufwendet.
Sind die Zeitscheiben aus dem Thema "Scheduling"? Weiss jemand, wie dieser Algorithmus richtig heisst??? Ich würde ihn gerne nachlesen, weiss aber nicht, wo ich suchen soll:)
Ich hoffe die sind zum Thema "Scheduling", ansonsten erzähle ich hier ziemlich viel Kram [img]
http://www.fb18.de/gfx/15.gif[/img] Zeitscheiben sind ein grundsätzliches Konzept zum Scheduling, welchen Algorithmus man dann noch draufsetzt um zu bestimmen, wer nächster ist, ist eine eigene Sache.
Was ich immer noch nicht verstehe:
-Wie synchronisiert man denn Prozesse mit dem Exchange-Befehl und mit dem Copy-and-set???
-was bringt das, wenn ich 2 Register austausche?
-oder beide auf 1 setzte (beim Copy-and-set)?
-Wie synchronisiert man denn Prozesse mit dem Exchange-Befehl und mit dem Copy-and-set???
-was bringt das, wenn ich 2 Register austausche?
-oder beide auf 1 setzte (beim Copy-and-set)?
Algorithmen dafür stehen ansich im Skript afair. Anyway, das interessante an diesen speziellen Befehlen ist, dass sie atomar sind, also nicht unterbrochen werden können. Z.B. möchte man einen kritischen Bereich schützen, es soll also etwas bestimmtes nur durch einen Prozess bearbeitet werden. Da legt man dann irgendwo in den Speicher ne 1. Wer auch immer den Kritischen Abschnitt betreten will, legt in ein Register R eine 0 und vertauscht mit der gegebenen Stelle. Hat er ne 0 dann hat sich jemand anders die 1 gepackt, hat er ne 1 dann hat er exklusiven Zugriff. Das ist nur ein möglicher Algorithmus, für Copy-and-set könnte man das umgekehrt spielen denke ich, also 1 = belegt, 0 = frei.
Mit 0 oder 1 sind also Prioritäten gemeint, also dasselbe wie ein Vorrang-Algorithmus (beim Exchange-Befehl) und ein Nachrang-Algorithmus (beim Copy-and-set)??? Stimmt*s???
Mit 0 oder 1 sind also Prioritäten gemeint, also dasselbe wie ein Vorrang-Algorithmus (beim Exchange-Befehl) und ein Nachrang-Algorithmus (beim Copy-and-set)??? Stimmt*s???
Jein, Priorität kann man das natürlich nennen. Wer die 1 hat im ersten Beispiel kommt rein, der andere muss warten, bis er die 1 bekommt.
Kann mir jemand erklären, was ein TLB bei der Adressumsetzung genau macht?
und der Zusammenhang zw. MMU und TLB ist mir auch nicht klar:(
Kann mir jemand erklären, was ein TLB bei der Adressumsetzung genau macht?
Kurz gefasst: biem Adressumsetzen musst du ja jedesmal in der Seitentabelle etc. nachgucken um die Adresse zu übersetzen. Liegen die Seitentabellen im Speicher, so resultiert ein Speicherzugriff dann in jeweils 2, 3 oder mehr Zugriffen (je nach Tabellenform), das wäre sehr übel für die Performance. Der TLB ist ein einfacher Cache für Tabelleneinträge, mehr nicht. So spart man sich nach dem ersten Speicherzugriff in eine bis dato unbekannte Seite das nachgucken in der Seitentabelle, weil der TLB die Infos zwischenspeichert.
und der Zusammenhang zw. MMU und TLB ist mir auch nicht klar:(
Die MMU ist für die Adressumsetzung zuständig, benutzt also den TLB wie oben genannt [img]
http://www.fb18.de/gfx/28.gif[/img]
Danke, TriPhoenix!!!!!!!!
Du antwortest aber schnell:)))))) Vielen Daaaaaaaaaank!!!!!!!!
Danke, TriPhoenix!!!!!!!!
Du antwortest aber schnell:)))))) Vielen Daaaaaaaaaank!!!!!!!!
Bitteschön…soviele Dinge zu tun, aber ich muss ja unbedingt im Forum lesen…[img]
http://www.fb18.de/gfx/22.gif[/img]
Danke, TriPhoenix!!!!!!!!
Du antwortest aber schnell:)))))) Vielen Daaaaaaaaaank!!!!!!!!
Bitteschön…soviele Dinge zu tun, aber ich muss ja unbedingt im Forum lesen…[img]http://www.fb18.de/gfx/22.gif[/img]
Das Verantwortungsgefühl eine T3 Übungsgruppenleiters, dagegen kann man nix machen [img]
http://www.fb18.de/gfx/15.gif[/img]
Was ist eine Verzögerung bei Sprungbefehlen?
Was ist ein NOP-Befehl???
Wozu braucht man sie???
Danke:)
Was ist eine Verzögerung bei Sprungbefehlen?
Das bedeutet, dass der Befehl nach dem Sprungbefehl noch ausgeführt wird, bevor gesprungen wird. Das hat mit Pipelining zu tun.
Was ist ein NOP-Befehl???
Dieser Befehl macht einfach gar nichts (ausser Rechenzeit zu verbrauchen).
Was ist eine Verzögerung bei Sprungbefehlen?
Was ist ein NOP-Befehl???
Wozu braucht man sie???
Zum Thema Wozu: Wenn du Pipelining betreibst, wie Fred sagte, dann hast du wenn du feststellst, dass das eine Springen ist, oft den nächsten schon zur hälfte durchgekaut (insbesondere bedingte Sprünge). Also entweder den ganzen Kram wieder rückgängig machen, den man schon angerichtet hat, oder per Konvention sagen, dass das danach noch ausgeführt wird. Wenn man nun partout nichts da ausführen will, dann packt man einfach ein NOP dahin, dann wird halt einmal NICHTS ausgeführt nachm Sprung.
Was ist ein NOP-Befehl???
steht sogar im MÖLLERBUCH !!! [img]
http://www.fb18.de/gfx/verdaechtig.gif[/img] [img]
http://www.fb18.de/gfx/sensationell.gif[/img]
Im Kapitel 5 über die von Neumann Rechenschieber ;)
Was ist eine Kaskadierung bei Interrupts???
Wozu ist sie gut?
-Wie wird ein MTBF ermittelt?
-Was ist ein Fiber-Channel?
-Was ist ein HIPPI?
Danke:)
Was ist eine Kaskadierung bei Interrupts???
Ihc denke das einzig praktische Beispiel was mir gerade einfällt ist Intel. So, da hat die CPU einen Eingang, dass ein Interrupt ist und dann eine "welcher wars?" Leitung (8 Bit, also 256 Interrupts). Das ist aber ja unpraktsich, wenn man jedem Gerät seine eigene Interruptleitung geben will. Also bastelt man den PIC (Programmable Interrupt Controlle). Der hat 8 Eingänge, für jeden Interrupt einen und gibt einmal die "Ist ein Interrupt"-Leitung und kann sagen wers war. Das unpraktische ist nun, dass man schnell merkt, wie wenig 8 Interrupts sind. Man könnte sicher einen 16-zu-1-Chip bauen, aber da würde man ja die Abwärtskompatibilität gefährden. Also was macht man? Man hängt einen zweiten Chip an die Interruptleitung 2 des ersten und nenn diese neuen 8 Interrupt 9-15. Dass man den 2er dafür verloren hat, ist Schicksal. Dafür hat man aus zwei kleinen Chips sozusagen einen großen gebaut. Das kann man immerhin mit bis zu 9 Chips machen (8 kaskadierte und einen Hauptchip) und so 248 Interrupts rausholen. So oder ähnlich schätze ich hat sichs entwickelt. Heute verwendet man übrigens eher nen APIC, der das ganze humaner macht und jetzt (wo keiner mehr als 10 Interrupts mehr braucht) auch mehr als 16 Interrupts zur verfügung stellt [img]
http://www.fb18.de/gfx/28.gif[/img]
Wozu ist sie gut?
s.o. [img]
http://www.fb18.de/gfx/28.gif[/img]
PS: Die anderen Fragen lieber in einen Thread "Fragen zu T4"
In einem Prüfungsprotokoll kommt so*ne Frage vor:
Wie ich dann mit 2 Interrupts 4 serielle Schnittstellen ansprechen?
—geht*s dann um die Kaskadierung?
—mit serieller Schnittstelle ist ein Gerät (Tastatur und so) gemeint???
Andere Frage:
Bei einer TastaturEingabe kommt das Datum in den Speicher. Woher weiss man, unter welcher Adresse es gespeichert wird??
Wie ich dann mit 2 Interrupts 4 serielle Schnittstellen ansprechen?
—geht*s dann um die Kaskadierung?
Jein. Man könnte sowas bauen wie man hängt an jeden der Interrupteingägne einen Interruptcontroller wie ich ihn beschrieben habe, nur mit 2 anstatt 8 Eingängen. Bei einem Interrupt auf Leitung 1 z.B. fragt man dann den 1ten Controller, welcher Eingang es nun wirklich war. Ebenso mit dme zweiten. Schon hat man 4 Interrupts die man auf 2 abbildet.
—mit serieller Schnittstelle ist ein Gerät (Tastatur und so) gemeint???
Mit serieller Schnittstelle ist eine schnittstelle gemeint, über die man seriell Daten überträgt [img]
http://www.fb18.de/gfx/24.gif[/img] Da _kann_ z.B. ein Terminal mit Tastatur dranhängen, vielleicht aber auch ein Modem oder was ganz anderes.
Andere Frage:
Bei einer TastaturEingabe kommt das Datum in den Speicher. Woher weiss man, unter welcher Adresse es gespeichert wird??
Das hängt ganz davon ab. Afair fragt man auf üblichen x86ern den Tastaturcontroller nach dem nächsten Wert und legt den dahin ab, wo immer man will. Die Adresse des Tastaturcontrollers ist entweder vorher per Dingen wie PLlug&Play-Mechanismen festzustellen oder feste Konvention für die Architektur. Fazit: Effektiv gibt es nicht "die eine" Speicherstelle, sondenr ist immer eine Frage der Architektur.
…aber da würde man ja die Abwärtskompatibilität gefährden.
Was ist mit Abwärtskompatilität gemeint?
Kompatibilität zu alten Geräten, die nur einen Interrupt-Controller haben.