Lag i UNIX -operativsystemet
UNIX -operativsystemet er strukturert i en lagdelt arkitektur, med hvert lag som gir tjenester til lagene over den. Her er en oversikt over nøkkellagene:
1. Maskinvare: Grunnlaget for systemet, bestående av fysiske komponenter som CPU, minne, lagringsenheter og nettverksgrensesnitt.
2. Kernel: Kjernen i operativsystemet, ansvarlig for å administrere maskinvaren og tilby viktige tjenester som minnestyring, prosessplanlegging, filsystemadministrasjon og enhetsdrivere.
3. Systemanrop: Et grensesnitt mellom brukerprogrammene og kjernen. Dette er funksjoner på lavt nivå som lar programmer be om kjernetjenester.
4. Systembiblioteker: Samling av funksjoner som gir abstraksjoner på høyere nivå over systemanrop. Disse bibliotekene gjør det lettere for programmerere å utvikle applikasjoner.
5. Shell: En kommandolinjetolk som lar brukere samhandle med systemet. Den mottar kommandoer fra brukeren, tolker dem og utfører dem ved å ringe de aktuelle systemprogrammene eller bibliotekene.
6. Brukerprogrammer: Bruksområder og verktøy som kjører på toppen av operativsystemet. De samhandler med kjernen gjennom systemanrop eller biblioteker.
interaksjon mellom skall og kjerne
La oss forstå samspillet ved å bruke `ls` -kommandoen som et eksempel:
1. Brukerinngang: Brukeren typer `ls` i skallet.
2. skalltolkning: Skallet gjenkjenner `ls` som en innebygd kommando eller et brukerdefinert program.
3. Programutførelse: Hvis `ls` er en innebygd kommando, utfører skallet den direkte. Hvis det er et brukerdefinert program, oppretter Shell en ny prosess for å kjøre det.
4. Systemanrop: Programmet (enten skallet eller `ls` -programmet) må få tilgang til filer på disken. Den bruker et systemanrop som `Open ()`, `lest ()`, eller `stat ()` for å be om denne tjenesten fra kjernen.
5. Kjernehandling: Kjernen håndterer systemanropsforespørselen ved å utføre de nødvendige operasjonene på filsystemet (f.eks. Lese filmetadata eller hente innhold av fil).
6. Resultat returnert: Kjernen returnerer den forespurte informasjonen til programmet.
7. Datavisning: Programmet (i dette tilfellet, `ls`) formater og viser utdataene til brukeren.
Derfor fungerer skallet som en mellommann mellom brukeren og kjernen, og gir et brukervennlig grensesnitt for å utføre programmer og få tilgang til systemressurser.
Sammendrag
Den lagdelte arkitekturen til UNIX muliggjør fleksibilitet, vedlikeholdbarhet og effektivitet. Skallet fungerer som kommandotolk, og samhandler med kjernen gjennom systemanrop for å utføre programmer og administrere ressurser. Dette samspillet lar brukerne administrere systemene sine og kjøre applikasjoner jevnt.