Kaj je naročanje pomnilnika?

Urejanje pomnilnika ali preureditev je proces, s katerim centralna procesna enota (CPU) sprejme zahteve za računalniški pomnilnik in jih razporedi v najbolj optimiziran vzorec. Proces se preklaplja okoli zahtev, pogosto se procesi zaključijo po nepravilnem redu, a uporabniki in programerji tega ne vidijo. To je običajno mogoče zelo enostavno narediti na enem CPE sistemu, vendar lahko sistem z več CPE pri naročanju naleti na težave. Če tega postopka ne bi uporabljali, potem računalniki ne bi bili tako učinkoviti pri izpolnjevanju uporabniških zahtev.

Kadarkoli nekdo naredi karkoli na računalniku – na primer premakne miško, odpre program ali uredi sliko – mora CPU odobriti uporabo pomnilnika za nalogo. Te zahteve običajno prihajajo linearno, vendar se tako redko obdelajo. Z razvrščanjem pomnilnika se naloge obdelajo na najboljši možni način, da je računalnik hitrejši. Na primer, če lahko CPU brez težav poskrbi za drugi proces pred prvim, bo za ta proces uporabil pomnilnik, preden se premakne na druge.

Zahteve se pogosto ne izvajajo, kar lahko zmede uporabnike in programerje. Hkrati je CPU programiran tako, da ve, da jih lahko razvrščanje pomnilnika zmede, zato vse izvede tako, da se zdi, kot da se procesi zaključujejo linearno, čeprav niso. To uporabnikom olajša razumevanje in običajno preprečuje, da bi programerji morali vnašati prekomerno kodiranje, da bi zagotovili učinkovito delovanje CPE.

Naročanje pomnilnika je običajno mogoče zelo enostavno izvesti na računalniku z enim CPE-jem, vendar lahko pride do težav pri računalniku, ki ima več CPE-jev. To je zato, ker je dostope do pomnilnika lažje odobriti in pravilno urediti z enim CPE-jem, vendar se lahko dva ali več CPE-jev zamaha, ko poskušata obdelati več nalog. Če obstaja ustrezna komunikacija med dvema ali več procesorji, se ta težava običajno ublaži.

Brez razporejanja pomnilnika bi bile naloge za računalnik in programerja težje. Na strani računalnika bi CPE lahko zadovoljil zahteve le, ko so prišle, kar pomeni, da se celoten proces upočasni in lahko uporabnike čaka. Za programerja bi moral napisati pretirano kodiranje, da bi zagotovil, da CPU pravilno poskrbi za vse naloge, zaradi česar bi ustvarjanje programa trajalo veliko dlje.