Kernel & Userland er ikke synkronisert

Kernel & Userland er ikke synkronisert


Tre deler utgjør et datasystem: maskinvaren, systemet kjernen og Userland. Userland søknader må kjernen å gjøre maskinvaren utføre de oppgavene som trengs for å spille av en musikkfil, tilgang til Internett eller skrive en rapport. Når en Userland program og kjernen bruker en annen versjon av en nøkkel kompilator eller systembiblioteket, er systemet sies å være "ute av sync." I BSD Unix-systemer, kan du få en "Userland og kjernen er ute av sync" feilmelding.

Kernel og Userland interaksjoner

En Userland program du må installere og bruke kan kreve en tjeneste eller et bibliotek-fil som bare finnes i den nyeste oppdateringen til en bestemt kjerne bibliotek eller maskinvaredriveren. Noen Userland applikasjonsprogrammer statisk lenke bibliotek på sine søknader. En statisk linket søknaden ikke kompilere hvis et bibliotek den trenger er ikke til stede. Hvis et program er dynamisk knyttet til et bibliotek versjon trenger du ikke, men kompilerer programmet, og du kan ikke vite systemet er ute av sync før du faktisk kjøre programmet.

BSD Approach

BSD systemer er distribuert som en komplett pakke som inkluderer kernel og et stort antall Userland applikasjoner. Fordelen til denne tilnærmingen er at alle programmer, verktøy, biblioteker og drivere er tilpasset en bestemt kernel versjon. I tillegg er alle kernel og Userland kildefilene utarbeidet etter de samme kompilator versjon og kompilatoren biblioteker. Eventuelle versjon avvik mellom en Userland program og kjerne tjenestene det er behov behandles før en BSD fordeling blir tilgjengelig for allmennheten.

Linux Approach

I motsetning til BSD, er kildekoden for Linux-kjernen utgitt separat fra eventuelle Userland applikasjoner. Linux-distribusjoner som Fedora eller Debian kan bruke samme versjon av kjernen, men strukturere Userland miljø i ulike og ofte inkompatible måter. Det er mulig for en Linux-distribusjon til å inneholde noen Userland søknader som ble satt sammen for en kernel versjon og andre som ble kompilert mot en annen kernel versjon.

Gjenoppbygging Verden

En måte BSD brukere kan unngå "Userland og kjernen er ute av sync" feil er å gjenoppbygge hele systemet når behovet oppstår å oppgradere kjernen eller bruke den nyeste versjonen av en maskinvaredriver eller Userland program. Denne prosessen kalles "gjenoppbygging verden". Den nøyaktige rekkefølgen av trinn varierer mellom BSD distribusjoner. Ifølge FreeBSD Handbook, men trinnene inkluderer sikkerhetskopiering dagens system, anskaffe kildekoden til ønsket BSD-versjonen, og bygge en ny kildekoden kompilator, kompilere og installere den nye kjernen, deretter opprette en ny, fullstendig synkronisert Userland.