lagen van het UNIX -besturingssysteem
Het UNIX -besturingssysteem is gestructureerd in een gelaagde architectuur, waarbij elke laag diensten biedt aan de lagen erboven. Hier is een uitsplitsing van de belangrijkste lagen:
1. Hardware: De basis van het systeem, bestaande uit fysieke componenten zoals de CPU, geheugen, opslagapparaten en netwerkinterfaces.
2. Kernel: De kern van het besturingssysteem, verantwoordelijk voor het beheren van de hardware en het leveren van essentiële services zoals geheugenbeheer, procesplanning, bestandssysteembeheer en apparaatdrivers.
3. Systeemoproepen: Een interface tussen de gebruikersprogramma's en de kernel. Dit zijn functies op laag niveau waarmee programma's mogelijk kerneldiensten aanvragen.
4. Systeembibliotheken: Collecties van functies die abstracties op hoger niveau bieden over systeemoproepen. Deze bibliotheken maken het voor programmeurs gemakkelijker om applicaties te ontwikkelen.
5. Shell: Een opdrachtregel-tolk waarmee gebruikers met het systeem kunnen communiceren. Het ontvangt opdrachten van de gebruiker, interpreteert ze en voert ze uit door de juiste systeemprogramma's of bibliotheken aan te roepen.
6. Gebruikersprogramma's: Toepassingen en hulpprogramma's die bovenop het besturingssysteem worden uitgevoerd. Ze interageren met de kernel via systeemoproepen of bibliotheken.
interactie tussen shell en kernel
Laten we de interactie begrijpen met behulp van de opdracht `ls` als een voorbeeld:
1. Gebruikersinvoer: De gebruiker typt `ls` in de shell.
2. Shell -interpretatie: De shell herkent `ls` als een ingebouwde opdracht of een door de gebruiker gedefinieerd programma.
3. Uitvoering van het programma: Als `ls` een ingebouwde opdracht is, voert de shell deze rechtstreeks uit. Als het een door de gebruiker gedefinieerd programma is, maakt de shell een nieuw proces om het uit te voeren.
4. Systeemaanroep: Het programma (de shell of het `ls` -programma) moet toegang krijgen tot bestanden op de schijf. Het maakt gebruik van een systeemoproep zoals `open ()`, `lees ()` of `stat ()` om deze service van de kernel aan te vragen.
5. kernelactie: De kernel behandelt het systeemoproepverzoek door de benodigde bewerkingen in het bestandssysteem uit te voeren (bijv. Bestandsmetadata lezen of bestandsinhoud ophalen).
6. Resultaat geretourneerd: De kernel retourneert de gevraagde informatie naar het programma.
7. Gegevensweergave: Het programma (in dit geval `ls`) formaten en geeft de uitvoer weer aan de gebruiker.
Daarom fungeert de shell als een intermediair tussen de gebruiker en de kernel, die een gebruiksvriendelijke interface biedt om programma's uit te voeren en middelen van het systeem te openen.
Samenvatting
De gelaagde architectuur van UNIX zorgt voor flexibiliteit, onderhoudbaarheid en efficiëntie. De shell fungeert als de command -tolk, interactie met de kernel via systeemoproepen om programma's uit te voeren en bronnen te beheren. Met deze interactie kunnen gebruikers hun systemen beheren en soepel applicaties uitvoeren. |