Habt ihr auch 25 Takteinheiten gebraucht? (also um 1 mehr, als zeilen da waren?)
Habt ihr auch 25 Takteinheiten gebraucht? (also um 1 mehr, als zeilen da waren?)
Wurde schon im Tuwel gefragt, Zeile 0 haben sie vergessen.
Wobei ich sogar noch ne Zeile mehr bräuchte, weshalb irgendwas falsch sein muss.
Unabhängig vom Scheduling ist der Ablauf ja
P1: 1-2-4-5-6-4-5-6-4-5-6-4-7-7-7-7(?)-3
P2: 1-2-4-5-6-4-7-7(?)-3
Das geht sich mit 23 nicht aus. Hab ich beim rückspringen in P1 irgendwas falsch? Er springt doch einmal in Zeile 6 mit i=2, 7 kommt aufn Stack, dann wieder Zeile 6 mit i=1, 7 kommt aufn Stack, dann wieder Zeile 6 mit i=0, 7 kommt aufn Stack... somit sind auf dem Stack 7 7 7 3, und die muss er ja alle einzeln zurückspringen?
Last edited by Zaru; 08-06-2012 at 20:12.
Ich hab:
p1: 1-2-4-5-6-4-5-6-4-5-6-4-7-7-7-7-3
p2: 1-2-4-5-6-4-7-7-3
hab bei beiden um einen siebener mehr! ... das sind bei mir die siebener wo man noch die Bedingung überprüfen muss, ob i > 0 ist, deshalb noch ein 7er zum Rückspringen extra.
also den ablauf hab ich genauso, aber bei mir dauerts 28 takte,
wobei ich mir nicht sicher bin, ob der scheduler sich auch aktiviert wenn ein prozess zu ende ist oder ob dann noch die restliche zeit gewartet wird (was ja irgendwie schwachsinnig wäre aber ka)
also bei mir ist p2 nach dem takt 21 aus und dann wären noch 3 takte bis zum nächsten wechsel...
also daher entweder 25 oder 28 takte
Ich hab bei P1 sogar noch um einen 7er mehr am Schluss..![]()
"The only way to get rid of a temptation is to yield to it."
- Oscar Wilde
wenn der scheduler nachdem ein prozess, also p2, endet sofort den anderen prozess weiterführt hätt ichs genauso, nur dass bei mir immer 7 statt 6 am stack liegt...
Hab ich auch so, und bei mir liegt auch immer 7 am Stack, und i wird immer erst eine Zeile später dekrementiert
"The only way to get rid of a temptation is to yield to it."
- Oscar Wilde
ich hab jimb0 und dommi zusammen vereint in einem!also immer später dekrementiert (ist auch logisch, da man immer den Stand VOR der Ausführung angeben soll) und im Stack liegt bei mir statt 6 auch immer 7, da wir ja die RÜCKSPRUNGADRESSEN auf den Stack legen sollen und ned die Zeile von der wir kommen
, sprich meine Lösung steht eh im 2.Post!, ich vermute mal schon, dass wen P2 fertig ist, man zu P1 springt, wenn man sich die Folien ansieht, dann ist glaub ich P2 auch fertig und springt sofort zu P1 => geh ich mal davon aus, dass das hier mit Schedulerscheibe auch so ist
... außerdem wenn man noch 3 wartet, dann bräuchten wir ja noch mehr zeilen als da stehen
D
Laut Tuwel Forum ist die Tabelle wirklich zu klein bemessen, also nicht wundern dass man mehr Zeilen braucht.
Da die Zeitscheibenlänge 4 ist, ist es nicht möglich, dass der 2te Prozess an der Stelle 20 nur eine Einheit lang dauert oder? Man müsste halt trotzallem 3 leere Zeiteinheiten einplanen, oder?
wieso beginnt ihr alle bei zeit 0 schon mit PC=1, i=3,...
zur zeit null ist ja noch gar nichts passiert, somit hab ich weder i noch einen PC oder denk ichda falsch
Ich würd sagen, du liegst richtig mit deiner Tabelle, weil sonst braucht man noch drei zusätzliche ZE, und die Tabelle wird wieder um einiges größer
nicht alle, i=3 erst bei ZE=1.
edit: also bei Zeit 0 kommt schon PC1 hin, aber i sieht man erst in Zeit 2 (obwohl das schon bei erster befehl ausgeführt wurde). Die angabe sagt dass die Werte "am begin" des jeweiligen schrittes eintragen soll.
Last edited by teolavu; 13-06-2012 at 20:59.
in der angabe steht, dass p1 zum zeipunkt 0 startet. dh zum zeitpunkt 0 wird zeile 1 (= PC 1) von p1 ausgeführt.
da man die einträge für die situation vor ausführung des schrittes machen soll, wird i erst zur ZE 1 in die tabelle eingetragen
oder muss man PC 1 auch erst zur zeiteinheit 2 reinschreiben? iwie verwirrt mich das mit "am Beginn des jeweiligen Schrittes"
Bookmarks