Provided by: manpages-sv_4.24.0-2_all
NAMN
intro — introduktion till systemanrop
BESKRIVNING
Avsnitt 1 av manualen beskriver Linux systemanrop. Ett systemanrop är en ingång in i Linuxkärnan. Vanligen anropas inte systemanrop direkt; de flesta systemanrop har en motsvarande omslagsfunktion i C-biblioteket vilken utför stegen som behövs (t.ex., att göra en trap in i kärnläge) för att anropa systemanropet. Alltså ser det ut på samma sätt när man gör ett systemanrop som när man anropar en normal funktion. I många fall gör inte omslagsfunktionen i C-biblioteket mer än att: • kopiera argumenten och systemanropets unika nummer till registren där kärnan förväntar sig dem; • gör en trap till kärnläge, vid den punkten gör kärnan systemanropets verkliga arbete; • sätter errno om systemanropet returnerar ett felnummer när kärnan returnerar CPU:n till användarläget. Dock, i några fall kan en omslagsfunktion göra betydligt mer än detta, till exempel, utföra någon förbearbetning av argumenten före den gör en trap in i kärnläge, eller efterbearbetning av värden som returnerats av systemanropet. Där detta är fallet försöker manualsidorna i avsnitt 2 i allmänhet notera detaljerna både om (vanligen GNU) C-bibliotekets API-gränssnitt och det råa systemanropet. Vanligen fokuserar den huvudsakliga BESKRIVNINGen på C-bibliotekets gränssnitt, och skillnader mot systemanropet täcks i avsnittet NOTERINGAR. För en lista över Linux systemanrop, se syscalls(2).
RETURVÄRDE
Vid fel returnerar de flesta systemanrop ett negativt felnummer (d.v.s. det negativa värdet av en av konstanterna som beskrivs i errno(3)). C-bibliotekets omslag döljer denna detalj från anroparen: när ett systemanrop returnerar ett negativt värde kopierar omslaget det absoluta värdet in i variabeln errno, och returnerar -1 som returvärde från omslaget. Värdet som returnerar av ett lyckat systemanrop beror på anropet. Många systemanrop returnerar 0 när det går bra, men en del kan returnera värden skilda från noll vid ett lyckat anrop. Detaljerna beskrivs i de individuella manualsidorna. I några fall måste programmeraren definiera ett funktionstestmakro för att få tillgång till deklarationen av ett systemanrop från huvudfilerna som anges i manualsidans SYNOPSIS-avsnitt. (Där de behövs måste dessa funktionstestmakron definieras före inkluderingen av några huvudfiler.) I sådana fall beskrivs det nödvändiga makrot i manualsidan. För ytterligare information om funktionstestmakron, se feature_test_macros(7).
STANDARDER
Vissa termer och förkortningar används för att indikera UNIX-varianter och -standarder vilka anropen i detta avsnitt följer. Se standards(7).
NOTERINGAR
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 trevlig omslagsfunktion åt en. I sådana fall måste programmeraren manuellt anropa systemanropet med syscall(2). Historiskt var detta även möjligt genom att använda ett av _syscall-makrona som beskrivs i _syscall(2). Författare och copyright-villkor Se i huvudet av manualsidans källkod för författarna och copyright-villkor. Observera att dessa kan skilja från sida till sida!
SE ÄVEN
_syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7), time(7)
ÖVERSÄTTNING
Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se> Denna översättning är fri dokumentation; läs GNU General Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR. Om du hittar fel i översättningen av denna manualsida, skicka ett mail till ⟨Tp- sv@listor.tp-sv.se⟩.