Kas ir virtuālā atmiņa?
Virtuālā atmiņa ir glabāšanas mehānisms, kas lietotājiem piedāvā ilūziju par ļoti lielu galveno atmiņu. To veic, apstrādājot sekundārās atmiņas daļu kā galveno atmiņu. Virtuālajā atmiņā lietotājs var saglabāt procesus ar lielāku izmēru nekā pieejamā galvenā atmiņa.
Tāpēc tā vietā, lai galveno atmiņā ielādētu vienu garu procesu, OS galvenajā atmiņā ielādē vairāk nekā viena procesa dažādas daļas. Virtuālā atmiņa lielākoties tiek realizēta ar pieprasījuma lapošanu un pieprasījuma segmentēšanu.
Šajā operētājsistēmas apmācībā jūs uzzināsiet:
- Kas ir virtuālā atmiņa?
- Kā darbojas virtuālā atmiņa?
- Kas ir pieprasījuma peidžers?
- Lappušu aizstāšanas metožu veidi
- FIFO lapas nomaiņa
- Optimālais algoritms
- LRU lapas nomaiņa
- Virtuālās atmiņas priekšrocības
- Virtuālās atmiņas trūkumi
Kāpēc nepieciešama virtuālā atmiņa?
Šeit ir virtuālās atmiņas izmantošanas iemesli:
- Ikreiz, kad datora fiziskajā atmiņā nav vietas, tas maiņas failā cietajā diskā kā virtuālā atmiņa raksta to, kas tam jāatceras.
- Ja datoram, kurā darbojas sistēma Windows, nepieciešams vairāk atmiņas / operatīvās atmiņas, pēc tam tas ir jāinstalē sistēmā, tas šim nolūkam izmanto nelielu daļu cietā diska.
Kā darbojas virtuālā atmiņa?
Mūsdienu pasaulē virtuālā atmiņa mūsdienās ir kļuvusi diezgan izplatīta. To izmanto ikreiz, kad izpildei dažas lapas ir jāielādē galvenajā atmiņā, un atmiņa šīm daudzajām lappusēm nav pieejama.
Tātad šajā gadījumā tā vietā, lai neļautu lapām iekļūt galvenajā atmiņā, OS meklē RAM vietu, kas pēdējā laikā ir vismazāk izmantota vai uz kuru nav atsauces sekundārajā atmiņā, lai atbrīvotu vietu jaunajām lappusēm. galvenā atmiņa.
Sapratīsim virtuālās atmiņas pārvaldību, izmantojot vienu piemēru.
Piemēram:
Pieņemsim, ka operētājsistēmai ir nepieciešami 300 MB atmiņas, lai saglabātu visas darbojošās programmas. Tomēr pašlaik RAM ir saglabāta tikai 50 MB pieejamās fiziskās atmiņas.
- Pēc tam OS izveidos 250 MB virtuālās atmiņas un izmantos programmu, ko sauc par virtuālās atmiņas pārvaldnieku (VMM), lai pārvaldītu šo 250 MB.
- Tātad šajā gadījumā VMM cietajā diskā izveidos failu, kura lielums ir 250 MB, lai uzglabātu nepieciešamo papildu atmiņu.
- OS tagad turpinās adresēt atmiņu, jo tā uzskata, ka RAM ir saglabāta 300 MB reālās atmiņas, pat ja ir pieejama tikai 50 MB vieta.
- VMM uzdevums ir pārvaldīt 300 MB atmiņu, pat ja ir pieejama tikai 50 MB reālās atmiņas vietas.
Kas ir pieprasījuma peidžers?
Pieprasījuma peidžeru mehānisms ir ļoti līdzīgs peidžeru sistēmai ar maiņu, kur sekundārajā atmiņā un lapās saglabātie procesi tiek ielādēti tikai pēc pieprasījuma, nevis iepriekš.
Tātad, kad notiek konteksta pārslēgšanās, OS nekad nekopē nevienu no vecās programmas lapām no diska vai nevienu no jaunajām programmām galvenajā atmiņā. Tā vietā pēc pirmās lapas ielādes tā sāks izpildīt jauno programmu un ienes programmas lapas, uz kurām ir atsauce.
Programmas izpildes laikā, ja programma atsaucas uz lapu, kas, iespējams, nav pieejama galvenajā atmiņā, jo tā tika nomainīta, tad procesors to uzskata par nederīgu atmiņas atsauci. Tas ir tāpēc, ka lappuses kļūda un pārsūtīšana atgriež vadību no programmas uz OS, kas prasa lapu atpakaļ atmiņā.
Lappušu nomaiņas metožu veidi
Šeit ir dažas svarīgas lapas aizstāšanas metodes
- FIFO
- Optimālais algoritms
- LRU lapas nomaiņa
FIFO lapas nomaiņa
FIFO (First-in-first-out) ir vienkārša ieviešanas metode. Šajā metodē atmiņa izvēlas aizstājēja lapu, kas visilgāk bijusi atmiņas virtuālajā adresē.
Iespējas:
- Ikreiz, kad tiek ielādēta jauna lapa, nesen atmiņā esošā lapa tiek noņemta. Tātad, ir viegli izlemt, kura lapa ir jānoņem, jo tās identifikācijas numurs vienmēr atrodas FIFO kaudzē.
- Vecākā lapa galvenajā atmiņā ir tā, kas vispirms jāizvēlas nomaiņai.
Optimālais algoritms
Optimālā lapas aizstāšanas metode aizstāj lapu, kurai ir visilgākais laiks līdz nākamajai atsaucei.
Iespējas:
- Optimāls algoritms rada vismazāk lapu kļūdu. Šo algoritmu ir grūti īstenot.
- Optimālai lapas aizstāšanas algoritma metodei ir viszemākais lapas kļūdu līmenis no visiem algoritmiem. Šis algoritms pastāv un to vajadzētu nosaukt par MIN vai OPT.
- Nomainiet lapu, kas atšķirībā no izmantošanas ilgāku laiku. Tas izmanto tikai laiku, kad ir jāizmanto lapa.
LRU lapas nomaiņa
Pilna LRU forma ir Vismazāk izmantotā lapa. Šī metode palīdz OS īsā laika posmā atrast lapu lietojumu. Šis algoritms būtu jāievieš, sasaistot skaitītāju ar pāra lapu.
Kā tas darbojas?
- Lapa, kura galvenajā atmiņā nav izmantota visilgāk, ir tā, kuru izvēlēsies nomaiņai.
- Viegli ieviest, saglabāt sarakstu, aizstāt lapas, atskatoties uz laiku.
Iespējas:
- LRU aizstāšanas metodei ir vislielākais skaitlis. Šo skaitītāju sauc arī par novecošanās reģistriem, kas norāda viņu vecumu un to, cik daudz būtu jāatsaucas arī uz saistītajām lapām.
- Lapa, kura galvenajā atmiņā nav izmantota visilgāk, ir tā, kas jāizvēlas nomaiņai.
- Tas arī uztur sarakstu un aizstāj lapas, atskatoties uz laiku.
Bojājumu līmenis
Bojājumu biežums ir biežums, ar kuru projektētā sistēma vai komponents neizdodas. To izsaka neveiksmēs laika vienībā. To apzīmē ar grieķu burtu λ (lambda).
Virtuālās atmiņas priekšrocības
Šeit ir virtuālās atmiņas izmantošanas priekšrocības / priekšrocības:
- Virtuālā atmiņa palīdz iegūt ātrumu, ja programmas izpildei ir nepieciešams tikai noteikts programmas segments.
- Tas ir ļoti noderīgi daudzprogrammu vides ieviešanā.
- Tas ļauj vienlaikus palaist vairāk lietojumprogrammu.
- Tas palīdz jums ievietot daudzas lielas programmas mazākās programmās.
- Atmiņā var koplietot kopīgus datus vai kodu.
- Process var kļūt pat lielāks nekā visa fiziskā atmiņa.
- Dati / kods, kad vien nepieciešams, jālasa no diska.
- Kodu var ievietot jebkurā vietā fiziskajā atmiņā, neprasot pārvietošanu.
- Galvenajā atmiņā būtu jāuztur vairāk procesu, kas palielina CPU efektīvu izmantošanu.
- Katra lapa tiek glabāta diskā, līdz pēc tam tā ir nepieciešama, tā tiks noņemta.
- Tas ļauj vienlaikus palaist vairāk lietojumprogrammu.
- Daudzprogrammēšanas pakāpei nav noteikta ierobežojuma.
- Būtu jāraksta lielas programmas, jo pieejamā virtuālās adreses vieta ir vairāk salīdzinājumā ar fizisko atmiņu.
Virtuālās atmiņas trūkumi
Šeit ir virtuālās atmiņas izmantošanas trūkumi / trūkumi:
- Lietojumprogrammas var darboties lēnāk, ja sistēma izmanto virtuālo atmiņu.
- Visticamāk, lai pārslēgtos starp lietojumprogrammām, nepieciešams vairāk laika.
- Piedāvā mazāku vietu cietajā diskā jūsu lietošanai.
- Tas samazina sistēmas stabilitāti.
- Tas ļauj lielākām lietojumprogrammām darboties sistēmās, kas nepiedāvā pietiekami daudz fiziskas operatīvās atmiņas, lai tās palaistu.
- Tas nepiedāvā tādu pašu veiktspēju kā RAM.
- Tas negatīvi ietekmē sistēmas kopējo veiktspēju.
- Aizņemiet krātuves vietu, kuru citādi var izmantot ilgtermiņa datu glabāšanai.
Kopsavilkums:
- Virtuālā atmiņa ir glabāšanas mehānisms, kas lietotājiem piedāvā ilūziju par ļoti lielu galveno atmiņu.
- Virtuālā atmiņa ir nepieciešama ikreiz, kad datora fiziskajā atmiņā nav vietas
- Pieprasījuma peidžeru mehānisms ir ļoti līdzīgs peidžeru sistēmai ar maiņu, kur sekundārajā atmiņā un lapās saglabātie procesi tiek ielādēti tikai pēc pieprasījuma, nevis iepriekš.
- Svarīgas lapu aizstāšanas metodes ir 1) FIFO 2) Optimālais algoritms 3) LRU lapas aizstāšana.
- FIFO (First-in-first-out) metodē atmiņa izvēlas aizstājēja lapu, kas visilgāk bijusi atmiņas virtuālajā adresē.
- Optimālā lapas aizstāšanas metode aizstāj lapu, kurai ir visilgākais laiks līdz nākamajai atsaucei.
- LRU metode palīdz OS īsā laika posmā atrast lapu lietojumu.
- Virtuālā atmiņa palīdz iegūt ātrumu, ja programmas izpildei ir nepieciešams tikai noteikts programmas segments.
- Lietojumprogrammas var darboties lēnāk, ja sistēma izmanto virtuālo atmiņu.