Förklara skiktad struktur i operativsystemet?

Förklara skiktad struktur i operativsystemet?

Struktur av ett operativsystem
Ett operativsystem består av en kärna, möjligen vissa servraroch posssibly några användarnivå bibliotek. Kärnan innehåller operativsystemtjänster genom en uppsättning förfaranden, som kan åberopas av användarens processer genom systemanrop. Systemet samtal ser ut som proceduranrop när de visas i ett program, men överföring kontroll till kärnan när de anropas vid körning. (Läs är ett exempel på ett system samtal i Unix).
I vissa operativsystem kan köra kärnan och användaren-processer i ett enda (fysisk eller virtuell). I dessa system är ett system samtal helt enkelt ett proceduranrop. I mer robusta system kör kärnan i dess egna adressutrymmet och i ett särskilt privilegierade läge där den kan utföra instruktionerna inte tillgängliga för vanliga användarprocesser. I sådana system startar ett system samtal en fälla som diskuteras nedan.
En trap är en hårdvara händelse som åberopar en trap handler i kärnan. Fällan anger, i lämplig maskinvara status fält, vilken typ av fälla. Fällor kan skapas implicit av hårdvara för att signalera evenemang som division med noll och åtgärda fel (som vi kommer att diskutera senare) eller uttryckligen av en process när det utför en särskild instruktion. Uttryckliga eller användarinitierad fällor används för att hantera systemet samtal. Ett systemanrop lagrar namnet på samtalet och dess argument på stacken och genererar en användarinitierad fälla. Den fälla hanteraren i kärnan vet, från vilken typ av fällan, att det är en användarinitierad fälla ber om ett systemanrop, hittar namnet på anropet system och kräver lämplig kernel förfarandet för att hantera samtal passerar det argument lagras på stacken.
Senare kommer vi att överväga de olika teknikerna för att strukturera kärnan. Som vi skall se, kanske kärnor skiktad, objektorienterad eller nedbrutet i kernel processer.
Inte alla tjänster måste tillhandahållas av kärnan. Moderna operativsystem också definiera servrar, som är användarens processer som erbjuder operativsystemtjänster till andra processer. Dessa tjänster anropas av kunder genom kommunikation mellan processer (IPC) primitiver. Vi skall se senare den logiska grunden för att överföra funktionalitet från kärnan till servrar. Vi skall också se den minsta funktionen som måste stödjas i kärnan. I micorkernel-baserade system ger kärnan denna minsta funktion.
Åberopa system samtal och IPC primitiver kostar mer än kostnaden för åberopa en enkel procedure call när flera adressutrymmen stöds av systemet. Därför, som vi skall se senare, några av de traditionella OS funktioner ges ibland också av användarnivå bibliotek.