Swapping on muistinhallintamalli, jossa mikä tahansa prosessi voidaan vaihtaa väliaikaisesti päämuistista toissijaiseen muistiin, jotta päämuisti voidaan asettaa muiden prosessien käyttöön. Sitä käytetään parantamaan päämuistin käyttöä. Toissijaisessa muistissa paikkaa, johon vaihdettu prosessi on tallennettu, kutsutaan swap-tilaksi.
Käyttöjärjestelmän vaihdon tarkoituksena on päästä käsiksi kiintolevyllä olevaan dataan ja tuoda se RAM-muistiin, jotta sovellusohjelmat voivat käyttää sitä. Muista, että vaihtoa käytetään vain, kun RAM-muistissa ei ole tietoja.
Vaikka vaihtoprosessi vaikuttaa järjestelmän suorituskykyyn, se auttaa ajamaan laajempaa ja useampaa kuin yhtä prosessia. Tästä syystä vaihtoa kutsutaan myös muistin pakkaamiseksi.
Vaihtamisen käsite on jaettu kahteen muuhun käsitteeseen: Swap-in ja Swap-out.
- Swap-out on tapa poistaa prosessi RAM-muistista ja lisätä se kiintolevylle.
- Swap-in on tapa poistaa ohjelma kiintolevyltä ja laittaa se takaisin päämuistiin tai RAM-muistiin.
Esimerkki: Oletetaan, että käyttäjäprosessin koko on 2048 kt ja se on tavallinen kiintolevy, jonka vaihtamisen tiedonsiirtonopeus on 1 Mbps. Nyt lasketaan kuinka kauan kestää siirtyminen päämuistista toissijaiseen muistiin.
User process size is 2048Kb Data transfer rate is 1Mbps = 1024 kbps Time = process size / transfer rate = 2048 / 1024 = 2 seconds = 2000 milliseconds Now taking swap-in and swap-out time, the process will take 4000 milliseconds.
Vaihtamisen edut
- Se auttaa CPU:ta hallitsemaan useita prosesseja yhdessä keskusmuistissa.
- Se auttaa luomaan ja käyttämään virtuaalimuistia.
- Vaihdon avulla CPU voi suorittaa useita tehtäviä samanaikaisesti. Siksi prosessien ei tarvitse odottaa kovin kauan ennen kuin ne suoritetaan.
- Se parantaa päämuistin käyttöä.
Vaihtamisen haitat
- Jos tietokonejärjestelmästä katkeaa virta, käyttäjä voi menettää kaikki ohjelmaan liittyvät tiedot merkittävän vaihtotoiminnan yhteydessä.
- Jos vaihtoalgoritmi ei ole hyvä, yhdistelmämenetelmä voi lisätä sivuvirheiden määrää ja heikentää kokonaiskäsittelyn suorituskykyä.
Huomautus:
- Yksittäistehtäväkäyttöjärjestelmässä vain yksi prosessi vie käyttäjän ohjelma-alueen muistista ja pysyy muistissa, kunnes prosessi on valmis.
- Multitasking-käyttöjärjestelmässä syntyy tilanne, jossa kaikki aktiiviset prosessit eivät voi koordinoida päämuistissa, jolloin prosessi vaihdetaan päämuistista, jotta muut prosessit pääsevät siihen.