1

Bild von Problem: enter image description hereOS: Speicherzuordnung

In Anbetracht der oben beschriebene Problem habe ich ein paar Fragen haben. Erstens nimmt proc0 die Stelle eines Lochs ein, das größer ist als das, was passiert mit dem verbleibenden Raum?

Zum Beispiel in Q1 ich: nach dem Einführen in Proc0 ist es a. 10->15->15->25->30. Wenn die 15 die 20 ersetzt, bleibt die Theres 5 übrig, was passiert damit und wie würde ich darstellen, was mit ihr passiert? Wäre es ein. 10-> 5-> 15-> 15-> 25-> 30 oder a. 10-> 15-> 5-> 15-> 25-> 30?

+0

Diese ist nicht Notation außerhalb der Wissenschaft verwendet, so ist es mir nicht klar, was die Frage hier ist. – user3344003

+0

Dies ist eine Frage über einen bestimmten Speicherzuweisungsalgorithmus (der scheinbar darum kümmert, von welchem ​​Prozessor eine Anfrage stammt), von dem wir nichts wissen. Wie könnten wir antworten? (Oder steht "Proc" für etwas anderes als Prozessor? Prozess? Wie sollten wir wissen?) –

+0

@DavidSchwartz - Es ist ein typisches Betriebssystemproblem, das keinen Prozessor zu beantworten braucht; es ist eine theoretische Frage, die ideale Situationen voraussetzt. –

Antwort

1

gegeben, Größen des proc

sz (proc 0) -> 15 sz (proc 1) -> 5

Von dem, was ich bin in der Lage zu verstehen, die Änderung der Free List (10 -> 20 -> 15 -> 25 -> 30) beschrieben unten:

Q1: First Fit (die Größe der Freiliste Abnahme beginnen würde)

When proc 0 (size=15) is brought to the list, 
Free List converts to (10 -> 5 -> 15 -> 25 -> 30) 
// the freelist size would decrease wherever the first biggest hole is found, 
// so, hole of size 20 is replaced by a hole of size 5 to allocate memory to proc 0 

When proc 1 (size=5) is brought to the list, 
Free List converts to (5 -> 5 -> 15 -> 25 -> 30) 
// the freelist size would decrease wherever the first biggest hole is found, 
// so, hole of size 10 is replaced by a hole of size 5 to allocate memory to proc 1 

die Freiliste ist wieder die gleichen (10 -> 20 -> 15 -> 25 -> 30) vor der ersten Fit Zuweisung Durchführung Unter der Annahme:

Q2: Next Fit (Die Größe der Freiliste Abnahme beginnen würde)

When proc 0 (size=15) is brought to the list, 
Free List converts to (10 -> 5 -> 15 -> 25 -> 30) 
// the freelist size would decrease wherever the next biggest hole is found, 
// so, hole of size 20 is replaced by a hole of size 5 to allocate memory to proc 0 

When proc 1 (size=5) is brought to the list, 
Free List converts to (10 -> 0 -> 15 -> 25 -> 30), or better 
Free List converts to (10 -> 15 -> 25 -> 30) // the size of the freelist decreases. 
// the freelist size would decrease wherever the next biggest hole is found, 
// so, hole of size 5 is replaced by a hole of size 0 
// (or, rather no hole left, so list becomes continuous) to allocate memory to proc 1 
Verwandte Themen