Virtuaalimuisti käyttöjärjestelmässä: Mikä on, Demand Paging, Edut

Sisällysluettelo:

Anonim

Mikä on virtuaalimuisti?

Virtuaalimuisti on tallennusmekanismi, joka tarjoaa käyttäjälle illuusion erittäin suuresta päämuistista. Se tehdään käsittelemällä osa toissijaisesta muistista päämuistina. Virtuaalimuistiin käyttäjä voi tallentaa prosesseja, joiden koko on suurempi kuin käytettävissä oleva päämuisti.

Siksi sen sijaan, että yksi pitkä prosessi ladattaisiin päämuistiin, käyttöjärjestelmä lataa useamman kuin yhden prosessin eri osat päämuistiin. Virtuaalimuisti toteutetaan enimmäkseen kyselyhakulla ja kysynnän segmentoinnilla.

Tässä käyttöjärjestelmän opetusohjelmassa opit:

  • Mikä on virtuaalimuisti?
  • Kuinka virtuaalimuisti toimii?
  • Mikä on kysyntäsivu?
  • Sivunvaihtomenetelmien tyypit
  • FIFO-sivun vaihto
  • Optimaalinen algoritmi
  • LRU-sivun vaihto
  • Virtuaalimuistin edut
  • Virtuaalimuistin haitat

Miksi tarvitset virtuaalimuistia?

Tässä on syitä virtuaalimuistin käyttöön:

  • Aina kun tietokoneellasi ei ole tilaa fyysisessä muistissa, se kirjoittaa kiintolevylle vaihdettavan tiedoston virtuaalimuistiksi sen, mitä sen on muistettava.
  • Jos Windows-tietokone tarvitsee enemmän muistia / RAM-muistia ja asennettu sitten järjestelmään, se käyttää pientä osaa kiintolevystä tähän tarkoitukseen.

Kuinka virtuaalimuisti toimii?

Nykyaikaisessa maailmassa virtuaalimuistista on tullut melko yleistä näinä päivinä. Sitä käytetään aina, kun jotkut sivut on ladattava päämuistiin suoritusta varten, eikä muisti ole käytettävissä näille monille sivuille.

Joten siinä tapauksessa, sen sijaan, että estettäisiin sivujen pääsyä päämuistiin, käyttöjärjestelmä etsii RAM-tilaa, jota viime aikoina on käytetty vähän tai joihin ei viitata toissijaiseen muistiin, jotta tilaa uusille sivuille päämuisti.

Ymmärretään virtuaalimuistin hallinta yhden esimerkin avulla.

Esimerkiksi:

Oletetaan, että käyttöjärjestelmä vaatii 300 Mt muistia kaikkien käynnissä olevien ohjelmien tallentamiseen. RAM-muistiin on kuitenkin tällä hetkellä tallennettu vain 50 Mt vapaata fyysistä muistia.

  • Käyttöjärjestelmä määrittää sitten 250 Mt virtuaalimuistia ja käyttää Virtual Memory Manager (VMM) -ohjelmaa tämän 250 Mt: n hallintaan.
  • Joten tässä tapauksessa VMM luo kiintolevylle tiedoston, jonka koko on 250 Mt tarvittavan muistin tallentamiseksi.
  • Käyttöjärjestelmä siirtyy nyt osoitemuistiin, koska se katsoo, että RAM-muistiin on tallennettu 300 Mt todellista muistia, vaikka tilaa olisi vain 50 Mt.
  • VMM: n tehtävä on hallita 300 Mt muistia, vaikka todellista muistitilaa olisi vain 50 Mt.

Mikä on kysyntäsivu?

Kysyntähakujärjestelmä on hyvin samanlainen kuin hakujärjestelmä, jossa vaihdetaan, kun toissijaiseen muistiin tallennetut prosessit ja sivut ladataan vain pyynnöstä, ei etukäteen.

Joten, kun kontekstikytkentä tapahtuu, käyttöjärjestelmä ei koskaan kopioi mitään vanhan ohjelman sivuja levyltä tai mitään uuden ohjelman sivuja päämuistiin. Sen sijaan se aloittaa uuden ohjelman suorittamisen ensimmäisen sivun lataamisen jälkeen ja hakee ohjelman sivut, joihin viitataan.

Jos ohjelma viittaa ohjelman suorituksen aikana sivuun, joka ei ehkä ole käytettävissä päämuistissa, koska se on vaihdettu, prosessori pitää sitä virheellisenä muistiviitteenä. Tämä johtuu siitä, että sivuvika ja siirrot lähettävät ohjauksen takaisin ohjelmasta käyttöjärjestelmään, joka vaatii sivun tallentamista takaisin muistiin.

Sivunvaihtomenetelmien tyypit

Tässä on joitain tärkeitä sivunvaihtomenetelmiä

  • FIFO
  • Optimaalinen algoritmi
  • LRU-sivun vaihto

FIFO-sivun vaihto

FIFO (First-in-first-out) on yksinkertainen toteutusmenetelmä. Tässä menetelmässä muisti valitsee sivun korvaavalle, joka on ollut muistin virtuaalisessa osoitteessa pisimpään.

Ominaisuudet:

  • Aina kun uusi sivu ladataan, sivu, joka on äskettäin tullut muistiin, poistetaan. Joten on helppo päättää, mikä sivu on poistettava, koska sen tunnistenumero on aina FIFO-pinossa.
  • Päämuistin vanhin sivu on ensin valittava korvaavaksi.

Optimaalinen algoritmi

Optimaalinen sivunvaihtomenetelmä valitsee sivun korvaavalle, jonka aika seuraavaan viitteeseen on pisin.

Ominaisuudet:

  • Optimaalinen algoritmi johtaa vähiten sivuvikoja. Tätä algoritmia on vaikea toteuttaa.
  • Optimaalisella sivukorvausalgoritmimenetelmällä on kaikista algoritmeista matalin sivuvirhesuhde. Tämä algoritmi on olemassa ja sen tulisi olla MIN tai OPT.
  • Vaihda sivu, jota ei pidä käyttää pidempään. Se käyttää vain aikaa, jolloin sivua on käytettävä.

LRU-sivun vaihto

LRU: n koko muoto on Viimeisimmät käytetyt sivut. Tämä menetelmä auttaa käyttöjärjestelmää löytämään sivun käytön lyhyessä ajassa. Tämä algoritmi tulisi toteuttaa yhdistämällä laskuri parilliselle sivulle.

Kuinka se toimii?

  • Sivu, jota ei ole käytetty pisin aikaa päämuistissa, valitaan korvattavaksi.
  • Helppo toteuttaa, pitää luetteloa, korvata sivut ajassa taaksepäin.

Ominaisuudet:

  • LRU-korvausmenetelmällä on korkein määrä. Tätä laskuria kutsutaan myös ikääntymisrekistereiksi, jotka määrittelevät heidän ikänsä ja kuinka paljon heidän sivuihinsa tulisi myös viitata.
  • Sivu, jota ei ole käytetty pisin aikaa päämuistissa, on se, joka tulisi valita vaihdettavaksi.
  • Se pitää myös luetteloa ja korvaa sivut taaksepäin ajassa.

Vikaprosentti

Vikataajuus on taajuus, jolla suunniteltu järjestelmä tai komponentti epäonnistuu. Se ilmaistaan ​​epäonnistumisina aikayksikköä kohti. Se on merkitty kreikkalaisella kirjaimella λ (lambda).

Virtuaalimuistin edut

Tässä on virtuaalimuistin käytön etuja / etuja:

  • Virtuaalimuisti auttaa nopeutumaan, kun vain tietty segmentti ohjelmasta tarvitaan ohjelman suorittamiseen.
  • Se on erittäin hyödyllinen moniohjelmointiympäristön toteuttamisessa.
  • Sen avulla voit käyttää useampia sovelluksia kerralla.
  • Sen avulla voit sovittaa monia suuria ohjelmia pienempiin ohjelmiin.
  • Yhteiset tiedot tai koodi voidaan jakaa muistin kesken.
  • Prosessi voi tulla jopa suuremmaksi kuin koko fyysinen muisti.
  • Tiedot / koodi tulee lukea levyltä tarvittaessa.
  • Koodi voidaan sijoittaa mihin tahansa fyysiseen muistiin tarvitsematta uudelleensijoittamista.
  • Enemmän prosesseja tulisi säilyttää päämuistissa, mikä lisää suorittimen tehokasta käyttöä.
  • Jokainen sivu tallennetaan levylle, kunnes se vaaditaan sen jälkeen, se poistetaan.
  • Sen avulla voidaan käyttää useampia sovelluksia samanaikaisesti.
  • Moniohjelmoinnin määrälle ei ole erityistä rajoitusta.
  • Suuret ohjelmat tulisi kirjoittaa, koska käytettävissä oleva virtuaalinen osoitetila on enemmän kuin fyysinen muisti.

Virtuaalimuistin haitat

Tässä on virtuaalimuistin käytön haittoja / haittoja:

  • Sovellukset voivat toimia hitaammin, jos järjestelmä käyttää virtuaalimuistia.
  • Tarvitsee todennäköisesti enemmän aikaa siirtyä sovellusten välillä.
  • Tarjoaa vähemmän kiintolevytilaa omaan käyttöösi.
  • Se vähentää järjestelmän vakautta.
  • Sen avulla suuremmat sovellukset voivat toimia järjestelmissä, jotka eivät tarjoa riittävästi fyysistä RAM-muistia yksinomaan niiden suorittamiseen.
  • Se ei tarjoa samaa suorituskykyä kuin RAM.
  • Se vaikuttaa negatiivisesti järjestelmän yleiseen suorituskykyyn.
  • Varaa tallennustila, jota voidaan käyttää muuten tietojen pitkäaikaiseen tallentamiseen.

Yhteenveto:

  • Virtuaalimuisti on tallennusmekanismi, joka tarjoaa käyttäjälle illuusion erittäin suuresta päämuistista.
  • Virtuaalimuistia tarvitaan aina, kun tietokoneessa ei ole tilaa fyysisessä muistissa
  • Kysyntähakujärjestelmä on hyvin samanlainen kuin hakujärjestelmä, jossa vaihdetaan, kun toissijaiseen muistiin tallennetut prosessit ja sivut ladataan vain pyynnöstä, ei etukäteen.
  • Tärkeitä sivunvaihtomenetelmiä ovat 1) FIFO 2) Optimaalinen algoritmi 3) LRU-sivun vaihto.
  • FIFO (First-in-first-out) -menetelmässä muisti valitsee sivun korvaavalle, joka on ollut muistin virtuaalisessa osoitteessa pisimpään.
  • Optimaalinen sivunvaihtomenetelmä valitsee sivun korvaavalle, jonka aika seuraavaan viitteeseen on pisin.
  • LRU-menetelmä auttaa käyttöjärjestelmää löytämään sivunkäytön lyhyessä ajassa.
  • Virtuaalimuisti auttaa nopeutumaan, kun vain tietty segmentti ohjelmasta tarvitaan ohjelman suorittamiseen.
  • Sovellukset voivat toimia hitaammin, jos järjestelmä käyttää virtuaalimuistia.