Virtualioji atmintis
Virtualioji atmintis - tai atminties valdymo būdas, kuris yra naujausia kompiuteriuose naudojamų technologijų tendencija. Techninė įranga (fizinė kompiuterio dalis, pvz., procesorius ar vaizdo plokštė) naudoja programinę įrangą. Šiai programinei įrangai reikia kompiuterio atminties, kad ji veiktų ir atliktų reikiamus veiksmus. Dauguma šiandien naudojamų kompiuterių vienu metu gali atlikti daugiau nei vieną veiksmą, juose veikia daugiau nei viena programa. Tai vadinama daugiaprocesoriumi.
Tokiu atveju visos vienu metu kompiuteryje veikiančios programos ar taikomosios programos dalijasi jo ištekliais. Kompiuteris neturi daugiau procesorių ar operatyviosios atminties (RAM) vien todėl, kad jame veikia daugiau programų.
Virtualioji atmintis - tai idėja, kad programa mato tam tikro dydžio atminties bloką. Programa gali naudoti šią atmintį savo nuožiūra. Šis atminties blokas yra virtualus ta prasme, kad jis yra iš skirtingų dalių. Dalis jo gali būti pagrindinėje kompiuterio atmintyje, tačiau dalis gali būti ir diske. Procesorius turi specialią dalį, vadinamą aritmetiniu loginiu bloku, kuris atlieka kai kuriuos vertimus tarp taikomosios programos atminties ir sistemos išteklių. Šiuolaikinės operacinės sistemos taip pat atlieka dalį šio darbo.
Kai programa bando pasiekti atminties bloką, kurio nėra sisteminėje atmintyje, programa sustabdoma, o blokas įkeliamas į sisteminę atmintį. Tai, kas buvo toje sisteminės atminties dalyje, įrašoma į diską. Tai paprastai vadinama puslapiavimu.
Kai kuriose kompiuterių sistemose, pavyzdžiui, įterptinėse sistemose, virtualioji atmintis nenaudojama, nes joms reikia labai greito atsako arba tokio, kuris visada išliktų toks pat. Viena iš problemų yra ta, kad naudojant virtualiąją atmintį sunku numatyti atsako laiką. Programos, kuri naudoja dalį atminties, kurią reikia įkelti iš disko, atsako laikas skirsis nuo tos, kuri to nedaro. Todėl virtualiosios atminties koncepcija nenaudojama įterptinėse sistemose.
Programa galvoja, kad turi didelį gretimų adresų diapazoną, tačiau iš tikrųjų jos šiuo metu naudojamos dalys yra išsibarsčiusios po pagrindinę atmintį, o neaktyvios dalys yra išsaugotos disko faile.
Klausimai ir atsakymai
K: Kas yra virtualioji atmintis?
A: Virtualioji atmintis - tai kompiuterio atminties valdymo būdas, leidžiantis programoms naudotis tam tikro dydžio atminties bloku. Šis atminties blokas gali būti iš skirtingų dalių, pavyzdžiui, pagrindinės atminties arba disko.
K: Kaip veikia virtualioji atmintis?
A: Virtualioji atmintis veikia taip, kad procesoriaus aritmetinis loginis blokas gali atlikti vertimus tarp taikomųjų programų ir sistemos išteklių. Šiuolaikinės operacinės sistemos taip pat atlieka dalį šio darbo. Kai programa bando pasiekti atminties bloką, kurio nėra sisteminėje atmintyje, ji sustabdoma ir blokas įkeliamas į sisteminę atmintį.
Klausimas: Kokie yra kompiuterių, kuriuose nenaudojama virtualioji Atmintis, pavyzdžiai?
A: Įterptinės sistemos yra vienas iš kompiuterių, kurie nenaudoja virtualiosios Atminties, pavyzdžių, nes jiems reikia greito atsako laiko arba tokio, kuris visada išliktų toks pat. Naudojant virtualiąją Atmintį sunku numatyti atsako laiką, todėl ji nenaudojama įterptinėse sistemose.
K: Kas yra daugiaprocesorinis apdorojimas?
A: Daugiaprocesorinis apdorojimas yra tada, kai kompiuteris vienu metu gali atlikti daugiau nei vieną veiksmą, vienu metu paleisdamas kelias programas, kurios dalijasi jo ištekliais.
K: Kas atsitinka, kai programa bando pasiekti ne sisteminėje atmintyje esantį Atminties bloką?
A: Kai programa bando pasiekti ne sisteminėje atmintyje esantį Atminties bloką, ji bus sustabdyta, o blokas bus įkeltas į sisteminę Atmintį.
K: Kas yra puslapiavimas?
A: Paging reiškia tai, kas nutinka, kai tai, kas buvo toje sistemos Atminties dalyje, turi būti įrašyta atgal į diską dėl to, kad programa kreipiasi į kitą dalį, kuri iš pradžių ten nebuvo saugoma.