1. Virtuel hukommelse:
- Operativsystemet opdeler fysisk hukommelse i sider , og tildeler hver side en unik adresse i virtuel hukommelse.
- Når en proces har brug for hukommelse, tildeler OS et virtuelt adresseområde til den. Hvis der ikke er tilstrækkelig fysisk hukommelse tilgængelig, flytter operativsystemet nogle sider fra fysisk til diskhukommelse (kendt som paging ), frigør plads til nye sider.
2. Algoritmer til sideerstatning:
- For at administrere sideerstatning effektivt bruger operativsystemet forskellige algoritmer. Almindelige inkluderer:
- Last Recently Used (LRU): Erstatter den side, der har været inaktiv (ubrugt) i længst tid.
- First In First Out (FIFO): Erstatter den ældste side, uanset brug.
- Anden chance: Variant af FIFO, der giver sider en "anden chance", hvis den er blevet refereret for nylig.
3. Efterspørgsel efter personsøgning:
- Operativsystemet bringer kun en side ind i den fysiske hukommelse, når det rent faktisk er nødvendigt. Dette reducerer hukommelsesforbruget og fremskynder eksekveringen ved at undgå unødvendig sideindlæsning.
4. Hukommelsestildelingsmetoder:
- Fast tildeling: Opdeler hukommelse i partitioner med fast størrelse, som processer udelukkende kan bruge.
- Variabelallokering: Tildeler varierende mængder hukommelse baseret på de specifikke behov for hver proces. Dette optimerer hukommelsesforbruget og forhindrer fragmentering og spild af plads.
5. Bytte:
- Når al fysisk hukommelse er opbrugt, og der er brug for mere, kan operativsystemet flytte hele processer fra fysisk hukommelse til disklager (bytte plads ) ved hjælp af en proces kaldet swapping.
- Udskiftede processer gendannes til den fysiske hukommelse, når de skal køre igen.
6. Cachehukommelse:
- CPU'en bruger lille, hurtig hukommelse kaldet cache at gemme nyligt brugte data og instruktioner for hurtig adgang.
- Forskellige cache-niveauer fungerer tæt på CPU'en med stigende hastighed og faldende størrelse.
7. Hukommelsesbeskyttelse:
- OS anvender hukommelsesbeskyttelsesteknikker for at forhindre processer i at få adgang til begrænsede hukommelsesområder eller overskrive hinanden.
- Dette sikrer dataintegritet og øger sikkerheden.
8. Segmentering:
- En alternativ tilgang til hukommelseshåndtering, hvor hukommelsen er opdelt i segmenter baseret på logisk funktionalitet, frem for sider i fast størrelse.
9. Buddy Memory Allocation:
- En hukommelsesallokeringsstrategi, der opdeler hukommelsen i lige store blokke, som kan opdeles yderligere efter behov.
10. Sidetabeller og omvendte sidetabeller:
- Sidetabeller er datastrukturer, der kortlægger virtuelle hukommelsesadresser til fysiske hukommelsesadresser, hvilket gør det muligt for OS effektivt at administrere sideudskiftninger og hukommelsesadgang.
- Inverterede sidetabeller gemmer tilknytninger mellem fysiske hukommelsesadresser og virtuelle hukommelsesadresser, hvilket forbedrer effektiviteten af hukommelseshåndteringsoperationer.
Disse teknikker og algoritmer udvikler sig løbende, efterhånden som computersystemer stræber efter forbedret hukommelsesstyringseffektivitet og ydeevne.