Što je raspored memorije?

Redoslijed memorije ili preuređivanje je proces kroz koji središnja procesorska jedinica (CPU) uzima zahtjeve za memorijom računala i raspoređuje ih u najoptimiraniji uzorak. Proces se mijenja oko zahtjeva, često se procesi ne dovršavaju, ali korisnici i programeri to ne vide. To se obično može vrlo jednostavno učiniti na jednom CPU sustavu, ali sustav s nekoliko CPU-a može imati problema prilikom naručivanja. Da se ovaj proces ne bi koristio, računala ne bi bila tako učinkovita pri ispunjavanju korisničkih zahtjeva.

Kad god netko radi bilo što na računalu – pomiče miš, otvara program ili uređuje sliku, na primjer – CPU mora odobriti korištenje memorije za zadatak. Ovi zahtjevi obično dolaze linearno, ali se rijetko obrađuju na taj način. Uz naručivanje memorije, zadaci se obrađuju na najbolji mogući način kako bi računalo bilo brže. Na primjer, ako se CPU može lako pobrinuti za drugi proces prije prvog, koristit će memoriju za taj proces prije nego što prijeđe na druge.

Zahtjevi se često izvršavaju neredovno, što bi moglo zbuniti korisnike i programere. Istodobno, CPU je programiran da zna da ih poredak memorije može zbuniti, pa sve izvodi na način da se čini kao da se procesi dovršavaju linearno, iako nisu. To korisnicima olakšava razumijevanje i obično sprječava programere da moraju unositi prekomjerno kodiranje kako bi se osiguralo da CPU radi učinkovito.

Redoslijed memorije obično se može vrlo jednostavno izvršiti na računalu s jednim CPU-om, ali može postojati problem s računalom koje ima nekoliko CPU-a. To je zato što je lakše odobriti i pravilno rasporediti pristupe memoriji s jednim CPU-om, ali dva ili više CPU-a mogu posustati kada pokušaju obraditi nekoliko zadataka. Ako postoji odgovarajuća komunikacija između dva ili više CPU-a, tada se ovaj problem obično ublažava.

Bez raspoređivanja memorije, zadaci bi mogli biti teži za računalo i programera. Na strani računala, CPU bi mogao zadovoljiti samo zahtjeve kako su stigli, što znači da se cijeli proces usporava i može natjerati korisnike da čekaju. Za programera bi morao napisati prekomjerno kodiranje kako bi osigurao da se CPU ispravno brine za sve zadatke, zbog čega bi stvaranje programa trajalo mnogo dulje.