Virtuālā atmiņa
Virtuālā atmiņa ir atmiņas pārvaldīšanas veids, kas ir jaunākā datoros izmantotās tehnoloģijas tendence. Uz aparatūras (datora fiziskās daļas, piemēram, centrālā procesora vai grafiskās kartes) darbojas programmatūra. Šai programmatūrai ir nepieciešama datora atmiņa, lai tā varētu darboties un veikt vajadzīgos uzdevumus. Lielākā daļa pašlaik izmantoto datoru var veikt vairāk nekā vienu darbību vienlaikus, tajos darbojas vairāk nekā viena lietojumprogramma. To sauc par daudzprocesoru darbību.
Šajā gadījumā visas programmas vai lietojumprogrammas, kas vienlaikus darbojas datorā, koplieto tā resursus. Datoram nav vairāk procesoru vai operatīvās atmiņas (RAM) tikai tāpēc, ka tajā darbojas vairāk programmu.
Virtuālā atmiņa ir ideja, ka lietojumprogramma redz noteikta lieluma atmiņas bloku. Šo atmiņu lietojumprogramma var izmantot pēc saviem ieskatiem. Šis atmiņas bloks ir virtuāls tādā nozīmē, ka tas nāk no dažādām daļām. Daļa no tā var atrasties datora galvenajā atmiņā, bet daļa var būt arī diskā. Procesoram ir īpaša daļa, ko sauc par aritmētiski loģisko bloku, kas veic daļu tulkojumu starp lietojumprogrammas atmiņu un sistēmas resursiem. Daļu šī darba veic arī modernās operētājsistēmas.
Ja programma mēģina piekļūt atmiņas blokam, kas neatrodas sistēmas atmiņā, programma tiek apturēta, un bloks tiek ielādēts sistēmas atmiņā. Tas, kas atradās šajā sistēmas atmiņas daļā, tiek ierakstīts diskā. To parasti sauc par lapu pārlādi.
Dažas datorsistēmas, piemēram, iegultās sistēmas, neizmanto virtuālo atmiņu, jo tām nepieciešams ļoti ātrs reakcijas laiks vai vienmēr nemainīgs reakcijas laiks. Viena no problēmām ir tā, ka, izmantojot virtuālo atmiņu, ir grūti paredzēt reakcijas laiku. Lietojumprogrammai, kas izmanto daļu atmiņas, kura jāielādē no diska, būs atšķirīgs reakcijas laiks nekā lietojumprogrammai, kas to neizmanto. Tāpēc virtuālās atmiņas koncepciju iegultajās sistēmās neizmanto.
Programmai šķiet, ka tai ir liels saistīto adrešu diapazons, taču patiesībā tās daļas, ko tā pašlaik izmanto, ir izkaisītas pa galveno atmiņu, un neaktīvās daļas ir saglabātas diska failā.
Jautājumi un atbildes
J: Kas ir virtuālā atmiņa?
A: Virtuālā atmiņa ir datora atmiņas pārvaldības veids, kas ļauj lietojumprogrammām piekļūt noteikta lieluma atmiņas blokam. Šis atmiņas bloks var nākt no dažādām atmiņas daļām, piemēram, no galvenās atmiņas vai diska.
J: Kā darbojas virtuālā atmiņa?
A: Virtuālā atmiņa darbojas, ļaujot procesora aritmētiski loģiskajam blokam veikt tulkojumus starp lietojumprogrammas un sistēmas resursiem. Daļu šī darba veic arī modernās operētājsistēmas. Ja lietojumprogramma mēģina piekļūt atmiņas blokam, kas neatrodas sistēmas atmiņā, tā tiek apturēta, un šis bloks tiek ielādēts sistēmas atmiņā.
J: Kādi ir piemēri datoriem, kuros neizmanto virtuālo Atmiņu?
A: Iegultās sistēmas ir viens no tādu datoru piemēriem, kas neizmanto virtuālo Atmiņu, jo tiem nepieciešams ātrs reakcijas laiks vai vienmēr nemainīgs reakcijas laiks. Izmantojot virtuālo Atmiņu, ir grūti paredzēt reakcijas laiku, tāpēc iegultajās sistēmās to neizmanto.
J: Kas ir daudzprocesoru apstrāde?
Atbilde: Daudzprocesoru darbība ir tad, ja dators var veikt vairākas darbības vienlaikus, vienlaicīgi darbinot vairākas lietojumprogrammas, kas kopīgi izmanto tā resursus.
J: Kas notiek, ja lietojumprogramma mēģina piekļūt atmiņas blokam, kas nav sistēmas atmiņā?
A: Ja lietojumprogramma mēģina piekļūt atmiņas blokam, kas neatrodas sistēmas atmiņā, tā tiks apturēta, un šis bloks tiks ielādēts sistēmas atmiņā.
J: Kas ir lapu izvietošana?
A.: Atvēršana attiecas uz to, kas notiek, kad tas, kas bija šajā sistēmas Atmiņas daļā, ir jāraksta atpakaļ uz diska, jo lietojumprogramma piekļūst citai daļai, kas sākotnēji tur nebija glabāta.