Virtuaalinen muisti käyttöjärjestelmässä: Mikä on, kysyntähaku, edut

Mikä on virtuaalimuisti?

Virtuaalimuistia on tallennusmekanismi, joka tarjoaa käyttäjälle illuusion erittäin suuresta keskusmuistista. Se tehdään käsittelemällä toissijaisen muistin osaa päämuistina. Virtuaalimuistiin käyttäjä voi tallentaa prosesseja, jotka ovat suurempia kuin käytettävissä oleva keskusmuisti.

Siksi sen sijaan, että käyttöjärjestelmä lataaisi yhden pitkän prosessin päämuistiin, se lataa useamman kuin yhden prosessin eri osat päämuistiin. Virtuaalimuisti toteutetaan useimmiten kysyntähakulla ja kysyntäsegmentoinnilla.

Miksi tarvitset virtuaalimuistia?

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

  • Aina kun tietokoneesi fyysisessä muistissa ei ole tilaa, se kirjoittaa kiintolevylle sivutustiedostoon virtuaalimuistiksi sen, mitä sen tarvitsee muistaa.
  • Jos tietokone on käynnissä Windows tarvitsee enemmän muistia/RAM-muistia, sitten asennettuna järjestelmään, se käyttää pientä osaa kiintolevystä tähän tarkoitukseen.

Kuinka virtuaalimuisti toimii?

Nykymaailmassa virtuaalimuisti on tullut melko yleiseksi nykyään. Sitä käytetään aina, kun jotkin sivut on ladattava päämuistiin suorittamista varten, eikä muistia ole käytettävissä näille monille sivuille.

Joten siinä tapauksessa, sen sijaan, että se estäisi sivujen pääsyn päämuistiin, käyttöjärjestelmä etsii RAM-tilaa, jota on käytetty viime aikoina vähiten tai joita ei ole viitattu toissijaiseen muistiin tehdäkseen tilaa uusille sivuille. päämuisti.

Ymmärretään virtuaalisen muistin hallinta yhden esimerkin avulla.

Esimerkiksi

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

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

Mikä on kysyntähaku?

Kysyntähaku

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

Joten kun kontekstin vaihto tapahtuu, käyttöjärjestelmä ei koskaan kopioi 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 ohjelman suorituksen aikana viittaa sivuun, joka ei ehkä ole käytettävissä päämuistissa, koska se on vaihdettu, prosessori pitää sitä virheellisenä muistiviittauksena. Tämä johtuu siitä, että sivuvika ja siirrot lähettävät ohjauksen takaisin ohjelmasta käyttöjärjestelmälle, joka vaatii sivun tallentamisen takaisin muistiin.

Sivujen korvausmenetelmien tyypit

Tässä on joitain tärkeitä sivun vaihtomenetelmiä

  • FIFO
  • Optimaalinen algoritmi
  • LRU-sivun vaihto

FIFO-sivun vaihto

FIFO (First-in-first-out) on yksinkertainen toteutustapa. Tässä menetelmässä muisti valitsee korvaavan sivun, joka on ollut muistin virtuaaliosoitteessa pisimpään.

Ominaisuudet

  • Aina kun uusi sivu ladataan, muistiin äskettäin tullut sivu poistetaan. On siis helppo päättää mikä sivu pitää poistaa, sillä sen tunnusnumero on aina FIFO-pinossa.
  • Päämuistin vanhin sivu tulee valita korvattavaksi ensin.

Optimaalinen algoritmi

Optimaalinen sivunvaihtotapa valitsee vaihtoa varten sen sivun, jonka aika seuraavaan viittaukseen on pisin.

Ominaisuudet

  • Optimaalinen algoritmi tuottaa vähiten sivuvirheitä. Tämä algoritmi on vaikea toteuttaa.
  • Optimaalisella sivunkorvausalgoritmimenetelmällä on alhaisin sivuvirheprosentti kaikista algoritmeista. Tämä algoritmi on olemassa ja sitä pitäisi kutsua MIN tai OPT.
  • Vaihda sivu, jota et halua käyttää pidempään. Se käyttää vain aikaa, jolloin sivua on käytettävä.

LRU-sivun vaihto

LRU:n täysi muoto on vähiten käytetty -sivu. Tämä menetelmä auttaa käyttöjärjestelmää löytämään sivun käytön lyhyen ajan kuluessa. Tämä algoritmi tulisi toteuttaa yhdistämällä laskuri parilliseen sivuun.

Miten tämä toimii?

  • Sivu, jota ei ole käytetty pisimpään aikaan päämuistissa, valitaan korvattavaksi.
  • Helppo toteuttaa, pitää luetteloa, korvata sivuja katsomalla ajassa taaksepäin.

Ominaisuudet

  • LRU-korvausmenetelmällä on suurin määrä. Tätä laskuria kutsutaan myös ikääntymisrekistereiksi, jotka määrittelevät ikänsä ja kuinka paljon niihin liittyviä sivuja tulisi myös viitata.
  • Sivu, jota ei ole käytetty pisimpään päämuistissa, tulee valita korvattavaksi.
  • Se myös pitää luetteloa ja korvaa sivuja katsomalla ajassa taaksepäin.

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 edut/edut:

  • Virtuaalimuisti auttaa nopeuttamaan, kun ohjelman suorittamiseen tarvitaan vain tietty osa ohjelmasta.
  • Se on erittäin hyödyllinen moniohjelmointiympäristön toteuttamisessa.
  • Sen avulla voit ajaa useampia sovelluksia kerralla.
  • Sen avulla voit sovittaa monia suuria ohjelmia pienempiin ohjelmiin.
  • Yhteiset tiedot tai koodit voidaan jakaa muistin välillä.
  • Prosessista voi tulla jopa koko fyysistä muistia suurempi.
  • Tiedot/koodi tulee lukea levyltä aina tarvittaessa.
  • Koodi voidaan sijoittaa mihin tahansa fyysiseen muistiin ilman, että sitä tarvitsee siirtää.
  • Päämuistissa tulisi säilyttää enemmän prosesseja, mikä lisää prosessorin tehokasta käyttöä.
  • Jokainen sivu tallennetaan levylle, kunnes sitä tarvitaan sen jälkeen, se poistetaan.
  • Sen avulla voidaan suorittaa useampia sovelluksia samanaikaisesti.
  • Moniohjelmoinnin astetta ei ole rajoitettu.
  • Suuria ohjelmia 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.
  • Todennäköisesti sovellusten välillä vaihtaminen vie enemmän aikaa.
  • Tarjoaa vähemmän kiintolevytilaa käyttöösi.
  • Se heikentää järjestelmän vakautta.
  • Se mahdollistaa suurempien sovellusten ajamisen järjestelmissä, jotka eivät tarjoa riittävästi fyysistä RAM-muistia niiden suorittamiseen.
  • Se ei tarjoa samaa suorituskykyä kuin RAM.
  • Se vaikuttaa negatiivisesti järjestelmän yleiseen suorituskykyyn.
  • Varaa tallennustila, jota voidaan muuten käyttää pitkäaikaiseen tietojen tallentamiseen.

Yhteenveto

  • Virtuaalimuisti on tallennusmekanismi, joka tarjoaa käyttäjälle illuusion erittäin suuresta päämuistista.
  • Virtuaalimuistia tarvitaan aina, kun tietokoneesi fyysisessä muistissa ei ole tilaa
  • Tarvehakumekanismi on hyvin samankaltainen kuin sivutusjärjestelmä, jossa toissijaiseen muistiin tallennetut prosessit ja sivut ladataan vain pyynnöstä, ei etukäteen.
  • Tärkeitä sivun korvausmenetelmiä ovat 1) FIFO 2) Optimaalinen algoritmi 3) LRU-sivun vaihto.
  • FIFO-menetelmässä (First-in-first-out) muisti valitsee korvaavalle sivun, joka on ollut pisimpään muistin virtuaaliosoitteessa.
  • Optimaalinen sivunvaihtotapa valitsee vaihtoa varten sen sivun, jonka aika seuraavaan viittaukseen on pisin.
  • LRU-menetelmä auttaa käyttöjärjestelmää löytämään sivun käytön lyhyellä aikavälillä.
  • Virtuaalimuisti auttaa nopeuttamaan, kun ohjelman suorittamiseen tarvitaan vain tietty osa ohjelmasta.
  • Sovellukset voivat toimia hitaammin, jos järjestelmä käyttää virtuaalimuistia.