
Vertailukaavio
Vertailu perustuu | Yhteensopiva muistin jakaminen | Muistiton muistin jakaminen |
---|---|---|
perustiedot | Määrittää peräkkäiset muistilohkot prosessiin. | Määrittää erilliset muistilohkot prosessiin. |
kiinteät kustannukset | Toisen muistin allokoinnilla ei ole osoitteen kääntämistä, kun prosessia suoritetaan. | Ei-yhteensopivalla muistin allokaatiolla on osoitteen kääntäminen, kun prosessia suoritetaan. |
Toteutusaste | Prosessi suorittaa fatser-toiminnon viereisessä muistin allokoinnissa | Prosessi suorittaa melko hitaammin verrattaessa ei-yhteensopivaa muistin allokointia. |
Ratkaisu | Muistitila on jaettava kiinteän kokoiseen osioon ja jokainen osio on allokoitu vain yhdelle prosessille. | Jaa prosessi useisiin lohkoihin ja sijoita ne muistin eri osiin käytettävissä olevan muistitilan mukaan. |
Pöytä | Taulukkoa ylläpitää käyttöjärjestelmä, joka ylläpitää muistitilassa käytettävissä olevien ja käytössä olevien osioiden luetteloa | Jokaista prosessia varten on säilytettävä taulukko, joka sisältää kunkin lohkon perusosoitteet, jotka on hankittu muistin prosessissa. |
Määritelmä vierekkäisen muistin allokointiin
Käyttöjärjestelmä ja käyttäjän prosessit on sijoitettava päämuistiin. Tällöin päämuisti on jaettu kahteen osioon: toisessa osiossa käyttöjärjestelmä sijaitsee ja muuten käyttäjän prosessit sijaitsevat. Tavanomaisissa olosuhteissa useiden käyttäjäprosessien täytyy sijaita muistissa samanaikaisesti, ja siksi on tärkeää harkita muistin kohdentamista prosesseihin.
Yhteensopiva muistin allokointi on yksi muistin allokointimenetelmistä. Kun muistiin kohdistetaan prosessipyyntöjä, muistissa on yhtenäinen muistinlohkojen yhtenäinen osa, joka vaaditaan prosessissa sen vaatimuksen mukaisesti.

Muuttujaosiointijärjestelmässä käyttöjärjestelmä ylläpitää taulukkoa, joka osoittaa, mikä muistin osio on vapaa ja jota prosessit käyttävät. Jatkuva muistin allokointi vahvistaa prosessin suorittamisen vähentämällä osoitteen kääntämisen yleiskustannuksia.
Määritelmä Ei-vierekkäinen muistin jakaminen
Ei-vierekkäinen muistin allokointi sallii prosessin hankkia useita muistilohkoja muistin eri sijainnista sen vaatimuksen mukaisesti. Ei-yhteensopiva muistin allokointi vähentää myös sisäisen ja ulkoisen pirstoutumisen aiheuttamaa muistin tuhlausta . Koska se hyödyntää sisäisen ja ulkoisen pirstoutumisen aikana luotuja muistiaukkoja.

Hakeminen ja segmentointi ovat kaksi tapaa, joiden avulla prosessin fyysinen osoitetila voi olla ei-vierekkäinen. Muissa kuin vierekkäisissä muistin allokoinneissa prosessi on jaettu lohkoihin (sivuja tai segmenttejä), jotka sijoitetaan muistitilan eri alueelle muistin saatavuuden mukaan.
Ei-yhteensopivalla muistin allokoinnilla on etu vähentää muistin tuhlausta, mutta se lisää osoitteen kääntämisen yleiskustannuksia . Koska prosessin osat sijoitetaan muuhun paikkaan muistissa, se hidastaa muistin suorittamista, koska aika kuluu osoitteen muuntamisessa.
Tässä käyttöjärjestelmä tarvitsee ylläpitää taulukkoa kullekin prosessille, joka sisältää kunkin lohkon perusosoitteen, jonka prosessi hankkii muistitilassa.
Keskeiset erot vierekkäisen ja epäsuhtaisen muistin jakamisen välillä
- Periaatteellinen ero vierekkäisen ja epäsuhtaisen muistin allokointiin on, että vierekkäinen allokointi jakaa prosessille yhden yhtenäisen muistilohkon, kun taas ei-yhteensopiva allokointi jakaa prosessin useisiin lohkoihin ja sijoittaa ne muistin eri osoitetilaan eli ei-toisiinsa. .
- Jatkuvassa muistin allokoinnissa prosessi tallennetaan viereiseen muistitilaan; joten ei ole ylimääräistä osoitteen kääntämistä suorituksen aikana. Mutta ei-yhteensopivassa muistin allokaatiossa on osoitteen muuntaminen, kun prosessi suoritetaan, kun prosessilohkot leviävät muistitilaan.
- Jatkuvaan muistiin tallennettu prosessi suorittaa nopeammin verrattuna ei-yhteensopivaan muistitilaan tallennettuun prosessiin.
- Ratkaisu vierekkäiselle muistin allokointiin on jakaa muistitila kiinteän kokoiseen osioon ja jakaa osio vain yhdelle prosessille. Toisaalta prosessi on jaettu useaan lohkoon, ja jokainen lohko asetetaan muistiin eri paikkoihin muistin saatavuuden mukaan.
- Jatkuvassa muistin allokoinnissa käyttöjärjestelmän on ylläpidettävä taulukkoa, joka osoittaa, mikä osio on käytettävissä prosessissa ja jota prosessi käyttää. Ei-yhteensopivassa muistin allokaatiossa ylläpidetään taulukkoa kullekin prosessille, joka ilmaisee muistipaikalle sijoitetun prosessin jokaisen lohkon perusosoitteen.
johtopäätös:
Yhdenmukaista muistin allokointia ei synny mitään yleiskustannuksia ja vahvistetaan prosessin suoritusnopeus, mutta lisää muistin tuhlausta . Kääntymättömän muistin allokointi puolestaan luo osoitteen muuntamisen yleiskustannuksia, vähentää prosessin suoritusnopeutta, mutta lisää muistin käyttöä . Joten molemmat jakomenetelmät ovat hyviä ja huonoja.