oracular (2) intro.2.gz

Provided by: manpages-it_4.23.1-1_all bug

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-contenitore nella libreria C che
       compiono i passi richiesti (per esempio, passare in modalità kernel) per invocare la chiamata di sistema.
       Così, effettuare una chiamata di sistema assomiglia ad invocare una normale libreria di sistema.

       In molti casi, la funzione contenitore della libreria C non fa niente di più che:

       •  copiare  argomenti  e  il  numero  che individua la chiamata di sistema nei registri dove il kernel si
          aspetta che siano;

       •  passare in modalità kernel, a quel punto il kernel fa il lavoro reale della chiamata di sistema; e

       •  impostare errno se la chiamata di sistema restituisce un numero di errore quando il kernel fa  tornare
          la CPU alla modalità utente (user mode).

       Comunque,  in  alcuni  casi,  una funzione contenitore può fare molto di più, per esempio, può effettuare
       alcune  pre-elaborazioni  degli  argomenti  prima  di  passare  in  modalità  kernel,  o  può  effettuare
       post-elaborazioni  di  valori  restituiti  attraverso  la  chiamata di sistema. Se del caso, le pagine di
       manuale della Sezione 2 normalmente cercano di far rilevare i dettagli  sia  dell'interfaccia  API  della
       libreria  C  (di  solito  GNU)  che  della  chiamata  di sistema diretta. Più comunemente, la DESCRIZIONE
       principale verterà sull'interfaccia della libreria C, e le differenze per la chiamata di sistema verranno
       trattare nella sezione NOTE.

       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  contenitore  (wrapper)  della
       libreria  C  nasconde questo dettaglio al chiamante: quando una chiamata di sistema restituisce un valore
       negativo, il contenitore copia il valore assoluto nella variabile errno, e  restituisce  -1  come  valore
       restituito dal contenitore.

       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 funzionalità di test per ottenere la
       dichiarazione di una chiamata di sistema dal file di  intestazione  specificato  nella  sezione  SINTASSI
       della  pagina  di  manuale.  (Ove richieste, queste macro con funzionalità di test devono essere definite
       prima di includere un qualsiasi file di intestazione). In questi casi  la  macro  richiesta  è  descritta
       nella pagina di manuale. Per maggiori informazioni sulle macro di test si veda feature_test_macros(7).

CONFORME A

       Alcuni  termini  e abbreviazioni sono usati per indicare varianti UNIX e standard  ai quali si conformano
       le chiamate in questa sezione. See 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).

   Autori e condizioni di copyright
       Si  vedano  le intestazioni delle pagine di manuale per l'autore(i) e le condizioni di copyright. Si noti
       che questi possono differire da pagina a pagina!

VEDERE ANCHE

       _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)

TRADUZIONE

       La traduzione italiana di questa pagina di manuale è stata creata da Giovanni Bortolozzo
       <borto@dei.unipd.it>, Alessandro Rubini <rubini@linux.it>, Giulio Daprelà <giulio@pluto.it>, Elisabetta
       Galli <lab@kkk.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.  Non ci
       assumiamo alcuna responsabilità.

       Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a ⟨pluto-
       ildp@lists.pluto.it⟩.