Opis

Glavna operacija upravljanja memorijom je donošenje procesa u glavnu memoriju kako bi ih procesor izvršio. Jedna od tehnika upravljanja memorijom je dinamičko deljenje na particije. Kod nje se particije stvaraju dinamički, tako da se svaki proces učitava u particiju koja je tačno iste veličine kao i taj proces. Postoje tri algoritma smeštanja koji se mogu iskoristiti kod dinamičkog particionisanja. To su najbolji odgovarajući, prvi odgovarajući i sledeći odgovarajući (best-fit, first-fit, next-fit). Najbolji odgovarajući traži najmanju 'rupu' u memoriji u koju proces može da stane. Prvi odgovarajući traži prvu slobodnu rupu u koju proces može da stane. Sledeći odgovarajući traži prvu slobodnu rupu od onog mesta gde je poslednji put stavljen neki proces.

Ovaj program predstavlja simulaciju ta tri algoritma smeštanja.

Podešavanje programa

U fajlu scripts/sketch.js se mogu menjati sledeće promenljive:

var DEBUG = false;
var fps = 60;
var processCount = 100;
var execTime = [20, 60];

Performanse

Best-fit algoritam je najsporiji od ova tri algoritma zato što svaki put mora proći kroz celu memoriju kako bi našao najbolje mesto za proces.

First-fit i next-fit su dosta brži od best-fit algoritma. Next-fit ima najbolje performanse jer first-fit svaki put kreće da traži od početka gde često neće biti dovoljno mesta za proces.

Na prvom grafiku je prikazan broj iteracija po algoritmu. Pri svakoj iteraciji se proverava da li je trenutno mesto (byte) na koje se gleda slobodno.

Na drugom grafiku je prikazano koliko često svaki algoritam nije uspeo da nadje slobodno mesto za proces.

Podaci iz kojih je urađena statistika prikazana na dijagramimna, kao i R skripta koja crta dijagrame mogu se preuzeti ovde.