Scroll to navigation

INTRO(2) Linux Programmer's Manual INTRO(2)

NOME

intro - Introduzione alle chiamate di sistema

DESCRIZIONE

La sezione 2 del manuale descrive le chiamate di sistema di Linux. Una chiamata di sistema è un punto d'ingresso nel kernel Linux. Di solito le chiamate di sistema non vengono invocate direttamente: invece, la maggior parte delle chiamate di sistema hanno corrispondenti funzioni wrapper nella libreria C che compiono i passi richiesti (per esempio, bloccare in modalità kernel) per invocare la chiamata di sistema. Così, effettuare una chiamata di sistema assomiglia ad invocare una normale libreria di sistema.

Per una lista delle chiamate di sistema di Linux vedere syscalls(2).

VALORE RESTITUITO

In caso di errore la maggior parte delle chiamate di sistema restituisce un numero di errore negativo (cioè il valore opposto di una delle costanti definite in errno(3)). Il wrapper della libreria C nasconde questo dettaglio al chiamante: quando una chiamata di sistema restituisce un valore negativo, il wrapper copia il valore assoluto nella variabile errno , e restituisce -1 come valore restituito dal wrapper.

Il valore restituito da una chiamata di sistema eseguita con successo dipende dalla chiamata stessa. Molte chiamate di sistema restituiscono 0, ma alcune possono restituire valori diversi da zero in caso di successo. I dettagli sono descritti nelle singole pagine di manuale.

In alcuni casi il programmatore deve definire una macro con funzione di test per ottenere la dichiarazione di una chiamata di sistema dal file di intestazione specificato nella sezione SINTASSI della pagina di manuale. In questi casi la macro richiesta è descritta nella pagina di manuale. Per maggiori informazioni sulle macro con funzione di test si veda feature_test_macros(7).

CONFORME A

Alcuni termini e abbreviazioni vengono usati per indicare varianti di Unix e standard ai quali le chiamate descritte in questa sezione si adeguano. Vedere standards(7).

NOTE

Chiamata diretta

In molti casi, non è necessario invocare direttamente una chiamata di sistema, ma alcune volte la libreria C Standard non implementa una funzione che soddisfi le proprie necessità. In questo caso il programmatore deve invocare manualmente la chiamata di sistema usando syscall(2). Storicamente era possibile farlo anche usando una delle macro di _syscall descritte in _syscall(2).

Si veda l'intestazione del sorgente della pagina di manuale per l'autore e per le condizioni di copyright. Si noti che possono essere diversi da pagina a pagina.

VEDERE ANCHE

_syscall(2), syscall(2), errno(3), feature_test_macros(7), standards(7)

23 ottobre 2007 Linux