bionic (2) intro.2.gz

Provided by: manpages-it_3.73-2_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, nel punto in cui 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  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).

   Autori e termini di copyright
       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), 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), svipc(7), symlink(7), time(7)

COLOPHON

       Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages.  Una descrizione del progetto, le
       istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su
       http://www.kernel.org/doc/man-pages/.

       La versione italiana fa parte del pacchetto man-pages-it v. 3.73, a cura di: ILDP "Italian Linux
       Documentation Project" http://www.pluto.it/ildp
       Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it