Bei diesem Algorithmus werden die Anforderungen (in diesem Applet durch Zufallszahlen dargestellt) in der Reihenfolge abgearbeitet, in der sie eintreffen.
Der Algorithmus selektiert zu jedem Zeitpunkt, an dem ein Datentransfer angefordert wird, ausgehend von der momentanen Position des Kopfes denjenigen mit der geringsten Suchzeit (geringste "Entfernung").
Ausgehend vom Shortest Seektime First betrachtet der Algorithmus ferner auch
die gegenwärtige Richtung des Lesekopfes. Zunächst werden alle Anforderungen
bearbeitet, die in der momentanen Bewegungsrichtung des Kopfes liegen, bis keine
mehr vorhanden sind.
Anschließend wird die Richtung umgekehrt und der Vorgang beginnt von neuem.
Der Algorithmus bewegt seinen Lesekopf nur noch oben. Von seiner momentanen
Position arbeitet der Algorithmus alle darüber liegenden Anforderungen ab. Sind
keine realisierbaren Anforderungen mehr vorhanden, bewegt sich der Lesekopf
zum anderen Anfang der Festplatte
und beginnt seine Aufwärtsbewegung von vorne.
Wähle auf der rechten Seite die Puffergröße und den Algorithmus.
Drücke nun den Start Button, oben erscheinen jetzt die Lesekopf Startposition, und die 10 Zufallszahlen, die die vorgegebenen Anlaufpositionen darstellen. Der rote Pfeil auf der rechten Seite stellt die momentane Laufrichtung des Lesekopfes dar. Der Timer unten rechts beginnt zu zählen.
Bitte gib jetzt die Anlaufpositionen in der richtigen Reihenfolge oben in die weißen Labels ein.
Drücke nun den Stop Button. Der Timer hält an. In der grünen Zeile wird nun ausgegeben, ob die Lösung richtig war. Unten links wird als eine Prozentzahl das Verhältnis der gesamt gemachten Versuche und der richtigen Versuche dieser Algorithmus/Puffer Kombination angezeigt.
Du hast nun die Möglichkeit Dir eine Erklärung zur richtigen Lösung mit dem Druck auf den Why Button anzeigen zu lassen.
Mit dem Druck auf den Send Button werden alle bisherigen Algorithmus / Puffer Kombinationen
(nach dem letzten Senden) mit der gesamten Anzahl der Versuche im Verhältnis zu der Anzahl
richtiger Versuche und der besten Zeit der richtigen Versuche (ansonsten Wert 0) an den Server gesendet.
Hierfür ist die Eingabe eines 6 stelligen Namens und einer 6 stelligen ID notwendig.
This algorithm works step by step. All jobs are done in order.
The algorithm selects every time a job has to be done, if, according to the current position of the head. The nearest seek position compared to the current position is taken.
This algorithm uses the current direction of the head. At first, all jobs will be done which are in current reading direction. After finishing the head switches the direction and starts over again.
This algorithm moves the reading head only upwards. All jobs with a position number higher than the current position will be done. The smallest position number of them are then taken as the next one. If there no valid higher positions any more, the head will move to the beginning of the hard disk drive (position 0) and start its upmoving turn again.
Choose the size of the bufferand algorithm on the left hand side.
Push the START button. On top you will find the starting position as well
as the 10 random numbers, which show the given positions.
The red arrow on the right side shows the actual reading direction of the head.
The timer starts counting.
Enter your answer numbers in the right order into the blanks on top.
Hit the STOP-Button, the timer will stop. Your answer is compared to the correct solution. The green line will print out, if your answer is correct or not. Bottom left you find the comparison of your attempts and your correct answers of the algorithm/buffer combination. This value is displayed in a percentage format.
Now you get the possibility to see what the correct answer would have been, or - if your answer was correct - why your answer is correct. To do so, click on the WHY button.
To send your results to the server you have to click on the SEND button. All algorithm and buffer combinations, number of attempts, the comparison of your answers and the required time will be send. To use this function, you need a 6 digit user name as well as a 6 digit Id.
Puffergröße: 3
Vorgegebene Zahlenreihe: 66,13,6,48,1,83,15,77,100,94
Vorgegebene Anfangszahl: 53
Vorgegebene Lesekopfrichtung: hoch
Erklärung: Der Kopf steht auf der Position 53. Im Puffer befinden sich die Zahlen 66,13,6
Die Zahl 66 wird zuerst abgearbeitet, im Puffer sind jetzt die Zahlen 13,6,48
Als nächstes wird die Zahl 13 angelaufen, im Puffer die Zahlen 6,48,1
Als nächstes wird die Zahl 6 angelaufen, im Puffer die Zahlen 48,1,83
Als nächstes wird die Zahl 48 angelaufen, im Puffer die Zahlen 1,83,15
Als nächstes wird die Zahl 1 angelaufen, im Puffer die Zahlen 83,15,77
Als nächstes wird die Zahl 83 angelaufen, im Puffer die Zahlen 15,77,100
Als nächstes wird die Zahl 15 angelaufen, im Puffer die Zahlen 77,100,94
Als nächstes wird die Zahl 77 angelaufen, im Puffer die Zahlen 100,94
Als nächstes wird die Zahl 100 angelaufen, im Puffer steht nur noch die Zahl 94.
Diese Zahl wird angelaufen und der Algorithmus beendet.
Anlaufreihenfolge mit gegebenem Algorithmus und Puffergröße: 66,13,6,48,1,83,15,77,100,94
Puffergröße: 7
Vorgegebene Zahlenreihe: 98,43,47,92,89,64,81,80,29,55
Vorgegebene Anfangszahl: 66
Vorgegebene Lesekopfrichtung: hoch
Erklärung: Der Lesekopf steht auf der Position 66, im Puffer befinden sich die Zahlen 98,43,47,92,89,64,81.
Die kleinste Distanz von 66 wird für die Zahl 64 errechnet. Die Zahl wird ausgegeben, die Lesekopfrichtung änderte sich auf runter.
Im Puffer befinden sich nun 98,43,47,92,89,81,80
Die kleinste Distanz von 64 wird für die Zahl 80 errechnet. Die Zahl wird ausgegeben, die Lesekopfrichtung änderte sich auf hoch.
Im Puffer befinden sich nun 98,43,47,92,89,81,29
Die kleinste Distanz von 80 wird für die Zahl 81 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nun 98,43,47,92,89,29,55
Die kleinste Distanz von 81 wird für die Zahl 89 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nun 98,43,47,92,29,55
Die kleinste Distanz von 89 wird für die Zahl 92 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nun 98,43,47,29,55
Die kleinste Distanz von 92 wird für die Zahl 98 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nun 43,47,29,55
Die kleinste Distanz von 98 wird für die Zahl 55 errechnet. Die Zahl wird ausgegeben, die Lesekopfrichtung änderte sich auf runter.
Im Puffer befinden sich nun 43,47,29
Die kleinste Distanz von 55 wird für die Zahl 47 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nun 43,29
Die kleinste Distanz von 47 wird für die Zahl 43 errechnet. Die Zahl wird ausgegeben.
Im Puffer befinden sich nur noch die Zahl 29.
Der Algorithmus endet mit der Ausgabe von 29.
Anlaufreihenfolge mit gegebenem Algorithmus und Puffergröße: 64,80,81,89,92,98,55,47,43,29
Puffergröße: 3
Vorgegebene Zahlenreihe: 13,28,71,41,92,86,67,47,51,12
Vorgegebene Anfangszahl: 4
Vorgegebene Lesekopfrichtung: hoch
Erklärung: Der Lesekopf steht auf 4 und im Puffer stehen die Zahlen 13,28,71
Der Lesekopf läuft gerade aufwärts und hat hier als kleinste Distanz die 13, die Zahl wird ausgegeben und im Puffer stehen jetzt die Zahlen 28,71,41.
In der Aufwärtsbewegung folgt jetzt die 28, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 71,41,92
In der Aufwärtsbewegung folgt jetzt die 41, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 71,92,86
In der Aufwärtsbewegung folgt jetzt die 71, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 92,86,67
In der Aufwärtsbewegung folgt jetzt die 86, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 92,67,47
In der Aufwärtsbewegung folgt jetzt die 92, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 67,47,51
Da keine größere Zahl mehr im Puffer vorhanden ist ändert der Lesekopf seine Richtung.
In der Abwärtsbewegung folgt jetzt die 67, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 47,51,12
In der Abwärtsbewegung folgt jetzt die 51, die Zahl wird ausgegeben und im Puffer stehen die Zahlen 47,12
In der Abwärtsbewegung folgt jetzt die 47, die Zahl wird ausgegeben und im Puffer stehen nur noch die Zahl 12
Die Zahl wird ausgegeben und der Algorithmus endet.
Anlaufreihenfolge mit gegebenem Algorithmus und Puffergröße: 13,28,41,71,86,92,67,51,47,12
Puffergröße: 5
Vorgegebene Zahlenreihe: 62,61,56,98,27,52,22,47,21,34
Vorgegebene Anfangszahl: 99
Vorgegebene Lesekopfrichtung: hoch
Erklärung: Der Lesekopf steht auf der Position 99. Im Puffer befinden sich die Zahlen 62,61,56,98,27
Da keine größere Zahl mehr im Puffer steht springt der Lesekopf auf die kleinste Zahl im Puffer, die Zahl 27 und begibt sich in die Aufwärtsbewegung.
Im Puffer stehen die Zahlen 62,61,56,98,52
In der Aufwärtsbewegung folgt die Zahl 52, im Puffer stehen die Zahlen 62,61,56,98,22
In der Aufwärtsbewegung folgt die Zahl 56, im Puffer stehen die Zahlen 62,61,98,22,47
In der Aufwärtsbewegung folgt die Zahl 61, im Puffer stehen die Zahlen 62,98,22,47,21
In der Aufwärtsbewegung folgt die Zahl 62, im Puffer stehen die Zahlen 98,22,47,21,34
In der Aufwärtsbewegung folgt die Zahl 98, im Puffer stehen die Zahlen 22,47,21,34
Da keine größere Zahl mehr im Puffer steht springt der Lesekopf auf die kleinste Zahl im Puffer, die Zahl 21 und begibt sich in die Aufwärtsbewegung.
Im Puffer stehen die Zahlen 22,47,34
In der Aufwärtsbewegung folgt die Zahl 22, im Puffer stehen die Zahlen 47,34
In der Aufwärtsbewegung folgt die Zahl 34, im Puffer steht nur noch die Zahl 47
Die Zahl wird ausgegeben und der Algorithmus endet.
Anlaufreihenfolge mit gegebenem Algorithmus und Puffergröße: 27,52,56,61,62,98,21,22,34,47
Size of buffer: 3
Random numbers: 66,13,6,48,1,83,15,77,100,94
Random beginning: 53
head direction: upwards
Introduction:Head is at position 53. In the buffer are 66,13,6
Next number 66 is worked on. In the buffer are 13,6,48
Next number 13 is worked on. In the buffer are 6,48,1
Next number 6 is worked on. In the buffer are 48,1,83
Next number 48 is worked on. In the buffer are 1,83,15
Next number 1 is worked on. In the buffer are 83,15,77
Next number 83 is worked on. In the buffer are 15,77,100
Next number 15 is worked on. In the buffer are 77,100,94
Next number 77 is worked on. In the buffer are 100,94
Next number 100 is worked on. In the buffer is left 94.
This number is worked on and the algorithm ends.
Answer: 66,13,6,48,1,83,15,77,100,94
Size of buffer: 7
Random numbers: 98,43,47,92,89,64,81,80,29,55
Random beginning: 66
head direction: upwards
Introduction:Head is at position 66. In the buffer are 98,43,47,92,89,64,81
Shortest distance to 66 for 64. Head changes direction to down.
In the buffer are 98,43,47,92,89,81,80
Shortest distance to 64 for 80. Head changes direction to up.
In the buffer are 98,43,47,92,89,81,29
Shortest distance to 80 for 81.
In the buffer are 98,43,47,92,89,29,55
Shortest distance to 81 for 89.
In the buffer are 98,43,47,92,29,55
Shortest distance to 89 for 92.
In the buffer are 98,43,47,29,55
Shortest distance to 92 for 98.
In the buffer are 43,47,29,55
Shortest distance to 98 for 55. Head changes direction to down.
In the buffer are 43,47,29
Shortest distance to 55 for 47.
In the buffer are 43,29
Shortest distance to 47 for 43.
In the buffer is left 29.
This number is worked on and the algorithm ends.
Answer: 64,80,81,89,92,98,55,47,43,29
Size of Buffer: 3
Random numbers: 13,28,71,41,92,86,67,47,51,12
Random beginning: 4
head direction: upwards
Introduction:Head is at position 4. In the buffer are 13,28,71. Head direction up
Next number 13 is worked on. In the buffer are 28,71,41.
Next number 28 is worked on. In the buffer are 71,41,92
Next number 41 is worked on. In the buffer are 71,92,86.
Next number 71 is worked on. In the buffer are 92,86,67.
Next number 86 is worked on. In the buffer are 92,67,47.
Next number 92 is worked on. In the buffer are 67,47,51
The head changes direction to down, because there is no bigger number than 92 in the buffer.
Next number 67 is worked on. In the buffer are 47,51,12.
Next number 51 is worked on. In the buffer are 47,12.
Next number 47 is worked on. In the buffer is left number 12.
This number is worked on and the algorithm ends.
Answer: 13,28,41,71,86,92,67,51,47,12
Size of buffer: 5
Random numbers: 62,61,56,98,27,52,22,47,21,34
Random beginning: 99
head direction: upwards
Introduction: Head is at position 99. In the buffer are 62,61,56,98,27
Because there is no bigger number in the buffer, the head moves to the smallest number in the buffer 27 and moves on upwards.
In the buffer are 62,61,56,98,52
Next number 52 is worked on. In the buffer are 62,61,56,98,22.
Next number 56 is worked on. In the buffer are 62,61,98,22,47
Next number 61 is worked on. In the buffer are 62,98,22,47,21.
Next number 62 is worked on. In the buffer are 98,22,47,21,34.
Next number 98 is worked on. In the buffer are 22,47,21,34.
Because there is no bigger number in the buffer, the head moves to the smallest number in the buffer 21 and moves on upwards.
In the buffer are 22,47,34.
Next number 22 is worked on. In the buffer are 47,34.
Next number 34 is worked on. In the buffer is left number 47.
This number is worked on and the algorithm ends.
Answer: 27,52,56,61,62,98,21,22,34,47