1. Virtuellt minne:
- Operativsystemet delar upp det fysiska minnet i sidor , och tilldelar varje sida en unik adress i det virtuella minnet.
- När en process behöver minne tilldelar operativsystemet ett virtuellt adressområde för den. Om det inte finns tillräckligt med fysiskt minne, flyttar operativsystemet vissa sidor från fysiskt till diskminne (känd som paging ), frigör utrymme för nya sidor.
2. Sidersättningsalgoritmer:
- För att hantera sidbyten effektivt använder operativsystemet olika algoritmer. Vanliga inkluderar:
- Last Recently Used (LRU): Ersätter sidan som har varit inaktiv (oanvänd) under längst tid.
- Först in först ut (FIFO): Ersätter den äldsta sidan, oavsett användning.
- Andra chansen: Variant av FIFO som ger sidor en "andra chans" om den nyligen har refererats.
3. Begär personsökning:
- OS tar med en sida till det fysiska minnet bara när det verkligen behövs. Detta minskar minnesanvändningen och snabbar upp exekveringen genom att undvika onödiga sidladdningar.
4. Minnestilldelningsmetoder:
- Fast tilldelning: Delar upp minnet i partitioner med fast storlek, vilka processer enbart kan använda.
- Variabeltilldelning: Tilldelar olika mängder minne baserat på de specifika behoven för varje process. Detta optimerar minnesanvändningen och förhindrar fragmentering och slöseri med utrymme.
5. Byta:
- När allt fysiskt minne är slut och mer behövs, kan operativsystemet flytta hela processer från fysiskt minne till disklagring (byt utrymme ) med en process som kallas byte.
- Utbytta processer återställs till fysiskt minne när de behöver köras igen.
6. Cacheminne:
- CPU:n använder litet, snabbt minne som kallas cache för att lagra nyligen använda data och instruktioner för snabb åtkomst.
- Olika cachenivåer fungerar nära CPU:n med ökande hastighet och minskande storlek.
7. Minnesskydd:
- OS använder minnesskyddstekniker för att förhindra processer från att komma åt begränsade minnesområden eller skriva över varandra.
– Detta säkerställer dataintegritet och ökar säkerheten.
8. Segmentering:
- Ett alternativt tillvägagångssätt för minneshantering där minnet delas upp i segment baserat på logisk funktionalitet, snarare än sidor med fast storlek.
9. Buddy Memory Allocation:
- En minnesallokeringsstrategi som delar upp minnet i lika stora block, som kan delas upp ytterligare efter behov.
10. Sidtabeller och inverterade sidtabeller:
- Sidtabeller är datastrukturer som mappar virtuella minnesadresser till fysiska minnesadresser, vilket gör att operativsystemet effektivt kan hantera sidbyten och minnesåtkomst.
- Inverterade sidtabeller lagrar mappningar mellan fysiska minnesadresser och virtuella minnesadresser, vilket förbättrar effektiviteten i minneshanteringsoperationer.
Dessa tekniker och algoritmer utvecklas kontinuerligt när datorsystem strävar efter förbättrad effektivitet och prestanda för minneshantering.