intro(2)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

intro(2) — Linux manual page

NAMN

intro – introduktion till systemanrop

BESKRIVNING

Avsnitt 2 i manualen beskriver Linux systemanrop. Ett systemanrop är en ingångspunkt till Linux-kärnan. Vanligtvis anropas inte systemanrop direkt; istället har de flesta systemanrop motsvarande C-biblioteksfunktioner som utför de nödvändiga stegen (t.ex. övergång till kärnläge) för att anropa systemanropet. Därför ser ett systemanrop ut som ett vanligt biblioteksanrop.

I många fall gör C-biblioteksfunktionen inget mer än att:

  • kopiera argument och det unika systemanropsnumret till de register där kärnan förväntar sig dem;
  • övergå till kärnläge, där kärnan utför själva systemanropet;
  • sätta `errno` om systemanropet returnerar ett felnummer när kärnan återgår till användarläge.

I vissa fall kan en biblioteksfunktion göra mer än detta, till exempel förbehandla argument innan övergång till kärnläge eller efterbehandla värden som returneras av systemanropet. När detta är fallet försöker manualens avsnitt 2 att notera detaljerna för både C-biblioteksgränssnittet och det råa systemanropet. Vanligtvis fokuserar huvudbeskrivningen på C-biblioteksgränssnittet, och skillnader för systemanropet täcks i avsnittet "NOTER".

För en lista över Linux systemanrop, se syscalls(2).

RETURNERAT VÄRDE

Vid fel returnerar de flesta systemanrop ett negativt felnummer (dvs. det negaterade värdet av en av konstanterna beskrivna i errno(3)). C-biblioteksfunktionen döljer denna detalj för anroparen: när ett systemanrop returnerar ett negativt värde kopierar funktionen det absoluta värdet till variabeln `errno` och returnerar -1 som returvärde.

Värdet som returneras av ett lyckat systemanrop beror på anropet. Många systemanrop returnerar 0 vid framgång, men vissa kan returnera andra värden. Detaljerna beskrivs i de individuella manualerna.

I vissa fall måste programmeraren definiera en funktionsmakro för att få deklarationen av ett systemanrop från header-filen som anges i manualens SYNOPSIS-sektion. (Där det krävs måste dessa funktionsmakron definieras innan några header-filer inkluderas.) I sådana fall beskrivs den nödvändiga makron i manualen. För mer information om funktionsmakron, se feature_test_macros(7).

STANDARDER

Vissa termer och förkortningar används för att indikera UNIX-varianter och standarder som anrop i detta avsnitt följer. Se standards(7).

NOTER

Direkt anrop

I de flesta fall är det onödigt att anropa ett systemanrop direkt, men det finns tillfällen då standard C-biblioteket inte implementerar en lämplig funktion för dig. I detta fall måste programmeraren manuellt anropa systemanropet med hjälp av syscall(2). Historiskt sett var detta också möjligt med hjälp av en av `_syscall`-makrona beskrivna i _syscall(2).

Författare och upphovsrättsvillkor

Se i början av manualens källkod för författare och upphovsrättsvillkor. Observera att dessa kan variera mellan olika sidor!

SE ÄVEN

COLOFON

Denna sida är en del av man-pages-projektet (dokumentation för Linux-kärnan och C-bibliotekets användargränssnitt). Information om projektet finns på ⟨https://www.kernel.org/doc/man-pages/⟩. Om du har en felrapport för denna manual, se ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. Denna sida hämtades från tarballen man-pages-6.9.1.tar.gz från ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ den 26 juni 2024.

Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man2/intro.2.html
PHP


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC Service som har sponsrat Linux.se med webbhotell.