Mis on mälu tellimine?

Mälu järjestamine või ümberjärjestamine on protsess, mille käigus keskprotsessor (CPU) võtab vastu arvutimälu päringuid ja järjestab need kõige optimeeritud mustri järgi. Protsess lülitub taotluste ümber, sageli lõpetatakse protsessid korrast ära, kuid kasutajad ja programmeerijad seda ei näe. Tavaliselt saab seda teha väga lihtsalt ühe CPU süsteemiga, kuid mitme protsessoriga süsteemil võib tellimisel tekkida probleeme. Kui seda protsessi ei kasutataks, poleks arvutid kasutaja taotluste täitmisel nii tõhusad.

Kui keegi teeb arvutis midagi – liigutab hiirt, avab programmi või redigeerib näiteks pilti –, peab protsessor ülesande jaoks mälukasutuse heaks kiitma. Need päringud tulevad tavaliselt lineaarselt, kuid harva töödeldakse neid sel viisil. Mälu tellimisega töödeldakse ülesandeid parimal võimalikul viisil, et arvuti oleks kiirem. Näiteks kui protsessor saab hõlpsasti hoolitseda teise protsessi eest enne esimest, kasutab ta enne teistele protsessidele üleminekut selle protsessi jaoks mälu.

Päringuid tehakse sageli korrast ära, mis võib kasutajaid ja programmeerijaid segadusse ajada. Samal ajal on protsessor programmeeritud teadma, et mälu järjestamine võib neid segadusse ajada, nii et see teeb kõike viisil, mis jätab mulje, et protsessid viiakse lõpule lineaarselt, kuigi see pole nii. See muudab kasutajate jaoks hõlpsamini mõistetavaks ja tavaliselt ei pea programmeerijad CPU tõhusa töö tagamiseks liigselt kodeerima.

Mälu tellimist saab tavaliselt teha väga lihtsalt ühe protsessoriga arvutis, kuid mitme protsessoriga arvutiga võib esineda probleeme. Selle põhjuseks on asjaolu, et ühe protsessoriga on lihtsam mälule juurdepääsu heaks kiita ja õigesti korraldada, kuid kaks või enam protsessorit võivad mitme ülesande töötlemisel tõrkuda. Kui kahe või enama protsessori vahel on piisav side, siis see probleem tavaliselt leevendatakse.

Ilma mällu järjestamiseta võivad ülesanded olla arvutile ja programmeerijale raskemad. Arvuti poolel suudaks protsessor taotlusi rahuldada ainult nende saabumisel, mis tähendab, et kogu protsess aeglustub ja võib jätta kasutajad ootama. Programmeerija jaoks peaks ta kirjutama liigset kodeeringut, et tagada CPU korralikult kõigi ülesannete eest hoolitsemine, mis muudaks programmi loomise palju kauem aega.