Virtuālā atmiņa ir uzglabāšanas shēma, kas nodrošina lietotājam ilūziju, ka viņam ir ļoti liela galvenā atmiņa. Tas tiek darīts, sekundārās atmiņas daļu apstrādājot kā galveno atmiņu.
Šajā shēmā lietotājs var ielādēt lielākus procesus nekā pieejamā galvenā atmiņa, radot ilūziju, ka atmiņa ir pieejama procesa ielādei.
Tā vietā, lai galvenajā atmiņā ielādētu vienu lielu procesu, operētājsistēma galvenajā atmiņā ielādē vairāk nekā viena procesa dažādās daļas.
To darot, tiks palielināta daudzprogrammēšanas pakāpe un līdz ar to arī CPU noslodze.
Kā darbojas virtuālā atmiņa?
Mūsdienu vārdiem runājot, virtuālā atmiņa mūsdienās ir kļuvusi diezgan izplatīta. Šajā shēmā ikreiz, kad dažas lapas izpildei ir jāielādē galvenajā atmiņā un atmiņa šīm daudzajām lapām nav pieejama, tādā gadījumā tā vietā, lai apturētu lapu ienākšanu galvenajā atmiņā, OS meklē RAM apgabals, kas pēdējā laikā tiek izmantots vismazāk vai uz kuriem nav atsauces, un kopējiet to sekundārajā atmiņā, lai galvenajā atmiņā atbrīvotu vietu jaunajām lapām.
Tā kā visa šī procedūra notiek automātiski, tas rada datoram sajūtu, ka tam ir neierobežots RAM.
Pieprasījuma peidžeru
Pieprasījuma peidžeru meklēšana ir populāra virtuālās atmiņas pārvaldības metode. Pieprasījuma peidžeru gadījumā vismazāk izmantotās procesa lapas tiek saglabātas sekundārajā atmiņā.
Lapa tiek kopēta galvenajā atmiņā, kad tā tiek pieprasīta vai rodas lapas kļūda. Ir dažādi lapu aizstāšanas algoritmi, kas tiek izmantoti, lai noteiktu, kuras lapas tiks aizstātas. Par katru no tiem mēs runāsim vēlāk sīkāk.
Virtuālās atmiņas pārvaldības sistēmas momentuzņēmums
Pieņemsim, ka 2 procesi, P1 un P2, katrs satur 4 lapas. Katras lapas izmērs ir 1 KB. Galvenajā atmiņā ir 8 kadri, katrs pa 1 KB. OS atrodas pirmajos divos nodalījumos. Trešajā nodalījumā 1stP1 lapa tiek saglabāta, un arī pārējie kadri tiek parādīti kā piepildīti ar dažādām procesu lapām galvenajā atmiņā.
Abu lapu lappušu tabulas ir katras 1 KB lielas, tāpēc tās var ievietot vienā rāmī. Abu procesu lappušu tabulās ir ietverta dažāda informācija, kas redzama arī attēlā.
CPU satur reģistru, kurā ir lapas tabulas bāzes adrese, kas ir 5 P1 gadījumā un 7 P2 gadījumā. Šī lapas tabulas bāzes adrese tiks pievienota loģiskās adreses lappuses numuram, kad runa ir par piekļuvi faktiskajam atbilstošajam ierakstam.
Virtuālās atmiņas priekšrocības
- Multiprogrammēšanas pakāpe tiks palielināta.
- Lietotājs var palaist lielu lietojumprogrammu ar mazāk reālu RAM.
- Nav nepieciešams iegādāties vairāk RAM.
Virtuālās atmiņas trūkumi
- Sistēma kļūst lēnāka, jo maiņa prasa laiku.
- Pārslēgšanās starp lietojumprogrammām aizņem vairāk laika.
- Lietotājam tā lietošanai būs mazāk vietas cietajā diskā.