For at behandle opgaver mest effektivt bruger computersystemer forskellige metoder til at planlægge opgaver, fremskynde beregninger og forbedre webbrowsing. Spooling, buffering og caching er udtryk, der ofte bruges om hverandre for at beskrive denne type ressourceplanlægning, selvom datalogi skelner mellem dem. Alle tre kan bruges på samme tid med det formål at fremskynde computerprocesser.
Spoling
Spooling, et akronym af Simultan Peripheral Operation On-line (SPOOL), placerer data i et midlertidigt arbejdsområde, så de kan tilgås og behandles af et andet program eller en anden ressource. For eksempel i situationer, hvor en ressource såsom en printer deles mellem brugerne, styrer spooling opgaverne effektivt og placerer det arbejde, der skal udskrives, i det midlertidige område, så printeren kan få adgang til det i den rækkefølge, det blev sendt. Når arbejdet er sendt til spooleren, kan computeren fortsætte med andre opgaver uden at vente på, at printeren er færdigbehandlet.
Buffering
Buffering gør det muligt at gemme data midlertidigt i et reserveret hukommelsesområde (bufferen). For eksempel fungerer CPU'er hurtigere end diskdrev, så placering af data i et reserveret hukommelsesområde, mens et program arbejder på det betyder, at programmet kan få adgang til det hurtigere, end hvis det skulle hente det fra diskdrevet hver gang. Buffering bruges også til at gemme data midlertidigt, mens de flyttes fra et sted til et andet. For eksempel sikrer en tastaturbuffer, at dine bogstaver vises på skærmen i den rækkefølge, de blev skrevet i. Med videobuffering kan små sektioner af en video downloades ad gangen, så du kan begynde at se videoen med det samme uden at vente på, at hele filmen downloades.
Caching
Caching er et højhastighedslagringssystem, der kan være en speciel, reserveret sektionshukommelse (som en buffer) eller en separat lagerenhed. For eksempel, når du bruger en browser, gemmer webcaching elementer på siden, så den næste gang du besøger siden, indlæses hurtigere. Et program, der udfører beregninger, kan placere resultatet af tidligere beregninger i en hukommelsescache, så det kan fås hurtigere.
Forskelle
Under spooling kan input / output fra et job overlappe beregningerne for et andet. Buffering tillader input / output af en opgave kun at overlappe sine egne beregninger og ikke andre programmer. Cache bruges til datalagring og -hentning med høj hastighed, selvom det muligvis har adgang til det reserverede bufferplads for at gøre det.