Chci najít celkovou vnější a vnitřní fragmentaci. Chápu, že k externí fragmentaci dochází, když jsou procesy načteny a odebrány z paměti, což způsobí, že paměť bude rozdělena na malé kousky, a že vnitřní fragmentace je nevyužitá paměť interně v oddílu.

Jako příklad řekněme, že jsem měl následující paměťové díry: 50 kB, 400 kB, 130 kB, 300 kB, 150 kB a 70 kB (v tomto pořadí). Teď mám následující procesy, které potřebují následující paměťový prostor (v pořadí): A = 230 KB, B = 180 KB, C = 130 KB, D = 120 KB, E = 200 KB.

Pomocí metody first fit jsem určil následující alokaci:

50 KB díra je přiřazena 0 procesů -> 50 KB volná
400 KB díra je přiřazena procesům A a C -> 40 KB volná je přiřazena proces D -> 10 KB volná díra je přiřazena procesu B -> 120 KB zdarma
150 KB díře je přiřazeno 0 procesů -> 150 KB zdarma
70 KB díře je přiřazeno 0 procesů -> 70 KB zdarma

Takže na základě mého chápání definic:

Celková interní fragmentace = 50 KB + 150 KB + 70 KB = 270 KB
Celková externí fragmentace = 40 KB + 10 KB + 120 KB = 170 KB

Je to správné? Děkujeme.

Komentáře

  • Nedoporučujeme " zkontrolovat, zda je moje odpověď správná " otázky, protože jsou možné pouze " ano / ne " odpovědi, které ' Pomáháme vám ani budoucím návštěvníkům. Viz zde a zde . Můžete upravit svůj příspěvek a zeptat se na konkrétní koncepční problém, o kterém ' si nejste jisti? Obecně platí, že dobrá koncepční otázka by měla být užitečná i pro někoho, kdo ' t při pohledu na problém, na kterém náhodou pracujete. Pokud potřebujete někoho, kdo by zkontroloval vaši práci, můžete vyhledat přítele, spolužáka nebo učitele.
  • Ano, koncepční otázkou je nalezení celkové vnější a vnitřní fragmentace. ' s názvem otázky. Uvedl jsem příklad jako pokus o odpověď na svou vlastní otázku.
  • Co " fragmentace " ve skutečnosti měří ? Ani ' nevím, jaké jednotky jsou vhodné k popisu veličiny s tímto názvem – zdá se však velmi nepravděpodobné, že by to byl prostě počet bajtů vytvořeno sečtením velikosti každého fragmentu, jednoduše proto, že " by fragmentace " jedné díry o velikosti 270 kB byla stejná jako " fragmentace " 270 děr, z nichž každá má velikost 1 kB, přičemž jasně by každé smysluplné opatření přidělovalo větší počet.

Odpověď

Podle problému je proces A přidělen 400 MB paměti, takže paměť je rozdělena do dvou částí, jedna k uspokojení požadavku a zbývající (170 KB) je typ externí fragmentace označený (170 KB E).

Podobně pro proces B s použitím 300 KB, což má za následek 120 KB E.

Podobně pro proces c s použitím (170 KB E) výsledků (40 KB E).

Podobně pro proces D us ing (130 KB) results (10 KB E) request of process E can „t be completed So total external fragmentation = 40 + 10 + 120 = 170 KB

Celková interní fragmentace = 50 + 150 + 70 = 270 kB

Odpověď

NE! Celková interní fragmentace je 40 + 10 + 120 = 170 kB a celková externí fragmentace je 50 +150 + 70 = 270 kB

Odpověď

Nejprve musíte určit, zda mají oddíly pevnou nebo proměnnou velikost. V případě, že používají dynamické dělení (proměnná velikost), bude vnitřní fragmentace vždy 0, protože je definována pouze pro dělení s pevnou velikostí. Nyní za předpokladu, že je vaše rozdělení statické, bude celková vnitřní fragmentace součtem všech vnitřních fragmentací. A pro externí fragmentaci se rovná celkové dostupné volné paměti (díry plus souvislá volná paměť). Proto zde bude externí fragmentace (50 + 40 + 10 + 120 + 150 + 70) KB = celková dostupná volná paměť = celková nevyužitá paměť. Zatímco interní fragmentace bude (40 + 10 + 120) KB, oddíly, které se nepoužívají, se nepočítají, protože nejsou přiděleny žádnému procesu. Vnější fragmentace je nadmnožinou vnitřní fragmentace v případě rozdělení na pevnou velikost.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *