Njaaeee, eller så...
Det fungerar på ungefär samma sätt i Linux, MacOS, Windows och de allra flesta andra operativsystem. Programmet du installerar består oftast av flera olika komponenter, det är inte bara ett enda program rakt upp och ner även om det finns undantag.
Lite grann kan man kanske jämföra det med att koppla in/installera en DVD till TV:n. Det händer inte särskilt mycket om du bara tar en lös DVD och ställer under TV:n utan för att det ska funka måste du koppla ihop den med vägguttaget, antennen och TV:n plus eventuellt övriga boxar. Sedan måste du dessutom ställa in DVD:n på lite olika sätt för att det ska funka och på ungefär samma sätt funkar det med ett program.
Programmet brukar lägga sig på en bestämd plats, t.ex /usr/bin i Linux eller c:\program i Windows och när det ligger där så har du så att säga "ställt det under TV:n". Därefter ska det ofta "kopplas ihop med" det befintliga operativsystemet, vilket många gånger innebär att man använder sig av att programmet är länkat ihop med någon form av bibliotek som brukar bestå av operstivsystemsspecifika rutiner för att göra olika saker. Detta bibliotek heter ofta filnamn.so i Linux, där "so" står för shared object. I MacOS (BSD) kommer jag inte ihåg säker vad det heter, men i gammal Unix (som BSD härstammar ifrån) så heter det bara filnamn.o och i Windows är det filnamn.dll.
Så, nu är programmet på plats och ihopkopplat med systemet, nu är det bara konfigurationsfiler och lite parametrar som behövs, precis som för DVD:n under TV:n...
Och sedan är det bara att tuta och köra, enkelt förklarat alltså...
[Edit] Kärnan är det ganska få program som påverkar eller är en del av, ett exempel på ett sådant progam är Virtualbox. Övriga program kör helt skilda från kärnan, även om det är just kärnan som hanterar deras körning. Däremot har de möjlighet att anropa funktioner, varav vissa kan finnas i just kärnan eller iallafall utgöra en del av den... Nu blev det ännu lättare va!!?
