Sukeitimas yra atminties valdymo schema, kurioje bet kurį procesą galima laikinai pakeisti iš pagrindinės atminties į antrinę atmintį, kad pagrindinė atmintis būtų prieinama kitiems procesams. Jis naudojamas pagrindinės atminties panaudojimui pagerinti. Antrinėje atmintyje vieta, kurioje saugomas sukeistas procesas, vadinama apsikeitimo erdve.
Operacinės sistemos keitimo tikslas – pasiekti standžiajame diske esančius duomenis ir perkelti juos į RAM, kad taikomosios programos galėtų jais naudotis. Reikėtų prisiminti, kad keitimas naudojamas tik tada, kai RAM nėra duomenų.
Nors keitimo procesas turi įtakos sistemos veikimui, jis padeda vykdyti didesnį ir daugiau nei vieną procesą. Dėl šios priežasties keitimas dar vadinamas atminties sutankinimu.
Apsikeitimo sąvoka suskirstyta į dar dvi sąvokas: Swap-in ir Swap-out.
- Swap-out yra proceso pašalinimo iš RAM ir įtraukimo į standųjį diską būdas.
- Swap-in yra būdas pašalinti programą iš standžiojo disko ir grąžinti ją į pagrindinę atmintį arba RAM.
Pavyzdys: Tarkime, kad vartotojo proceso dydis yra 2048 KB ir tai yra standartinis standusis diskas, kuriame duomenų perdavimo sparta yra 1 Mbps. Dabar apskaičiuosime, kiek laiko užtruks persikėlimas iš pagrindinės atminties į antrinę.
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.
Keitimo privalumai
- Tai padeda CPU valdyti kelis procesus vienoje pagrindinėje atmintyje.
- Tai padeda kurti ir naudoti virtualiąją atmintį.
- Sukeitimas leidžia CPU atlikti kelias užduotis vienu metu. Todėl procesų nereikia laukti labai ilgai, kol jie bus vykdomi.
- Tai pagerina pagrindinės atminties panaudojimą.
Keitimo trūkumai
- Kompiuterinei sistemai nutrūkus maitinimui, vartotojas gali prarasti visą su programa susijusią informaciją, jei bus atlikta esminė keitimo veikla.
- Jei keitimo algoritmas nėra geras, sudėtinis metodas gali padidinti puslapio gedimų skaičių ir sumažinti bendrą apdorojimo našumą.
Pastaba:
- Vienoje užduočių operacinėje sistemoje tik vienas procesas užima vartotojo programos atminties sritį ir lieka atmintyje, kol procesas bus baigtas.
- Daugiafunkcinėje operacinėje sistemoje susidaro situacija, kai pagrindinėje atmintyje negali koordinuoti visų aktyvių procesų, tada procesas iškeičiamas iš pagrindinės atminties, kad į ją galėtų patekti kiti procesai.