Kopier på Skriv

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. januar 2016; checks kræver 12 redigeringer .

Kopier - på -skriv-mekanismen ( engelsk  Copy-On-Write, COW ) bruges til at optimere mange processer, der forekommer i operativsystemet , som for eksempel at arbejde med RAM eller filer på disk.

Ideen med kopi-på-skriv- tilgangen er, at når en dataregion læses, bruges en delt kopi, og hvis dataene ændres, oprettes en ny kopi.

For eksempel, når du bruger UNIX fork() - funktionen , i stedet for ægte kopiering, hvortil der skal allokeres hukommelse, ændrer kernen deskriptorerne for hukommelsessiderne i den overordnede proces , hvilket forbyder enhver skrivning til datasider (programkodesider er allerede forbudt at skrive; selvom der er nogle finesser - men de påvirker ikke yderligere ræsonnement). Derefter oprettes en underordnet proces, hvortil den overordnede process hukommelsessidebeskrivelser kopieres. Kernen markerer derefter disse sider som delte.

Et forsøg på at skrive til tilknyttede sider (uanset om det er fra den overordnede eller underordnede proces) kaster en undtagelse , som overfører kontrol til kernen. Kernen ser, at denne adgang var lovlig og opretter en kopi af den ændrede side. Det er således muligt at reducere mængden af ​​fysisk hukommelse, der forbruges af programmer. COW-mekanismen er ret kompliceret at implementere, især i multi-core-systemer, og fejl i den kan føre til sårbarheder, for eksempel Dirty COW Vulnerability (Linux, 2007-oktober 2016)

Mekanismen er blevet udbredt i skabelsen af ​​de nyeste filsystemer , såsom ZFS og Btrfs . Takket være ham sker oprettelsen af ​​snapshots i disse systemer næsten øjeblikkeligt uden at optage store ressourcer på lagermediet .

Se også

Litteratur