X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=cc730a2014e6b5cdbecbc57174bbb3e25e00a698;hp=06bc9572a80a9d9d5f50d86dcc4496ae67b97792;hb=fe017ba5da165123761dbb85036ad3ed8bbd7ad2;hpb=52f9927779abf41607e5f7741a9aa978ac23d6e1 diff --git a/intro.tex b/intro.tex index 06bc957..cc730a2 100644 --- a/intro.tex +++ b/intro.tex @@ -52,13 +52,13 @@ all'hardware, mentre i programmi normali vengono eseguiti in modalit (e non possono accedere direttamente alle zone di memoria riservate o alle porte di input/output). -Una parte del kernel, lo \textit{scheduler}, si occupa di stabilire, ad -intervalli fissi e sulla base di un opportuno calcolo delle priorità, quale -``processo'' deve essere posto in esecuzione (il cosiddetto \textit{preemptive - scheduling}\index{preemptive scheduling}). Questo verrà comunque eseguito in -modalità protetta; quando necessario il processo potrà accedere alle risorse -hardware soltanto attraverso delle opportune chiamate al sistema che -restituiranno il controllo al kernel. +Una parte del kernel, lo \textit{scheduler}\index{scheduler}, si occupa di +stabilire, ad intervalli fissi e sulla base di un opportuno calcolo delle +priorità, quale ``processo'' deve essere posto in esecuzione (il cosiddetto +\textit{preemptive scheduling}\index{preemptive scheduling}). Questo verrà +comunque eseguito in modalità protetta; quando necessario il processo potrà +accedere alle risorse hardware soltanto attraverso delle opportune chiamate al +sistema che restituiranno il controllo al kernel. La memoria viene sempre gestita dal kernel attraverso il meccanismo della \textsl{memoria virtuale}\index{memoria virtuale}, che consente di assegnare a @@ -293,11 +293,16 @@ qualunque sistema operativo. Per questo motivo, anche se lo standard non ha alcun riferimento ad un sistema di tipo Unix, GNU/Linux (per essere precisi le \acr{glibc}), come molti Unix moderni, provvede la compatibilità con questo standard, fornendo le funzioni -di libreria da esso previste. Queste sono dichiarate in quindici header file -(anch'essi provvisti dalla \acr{glibc}), uno per ciascuna delle quindici aree -in cui è stata suddivisa una libreria standard. In -\tabref{tab:intro_posix_header} si sono riportati questi header, insieme a -quelli definiti negli altri standard descritti nelle sezioni successive. +di libreria da esso previste. Queste sono dichiarate in una serie di +\textit{header file}\footnote{i file di dichiarazione di variabili, tipi e + funzioni, usati normalmente da un compilatore C. Per poter accedere alle + funzioni occorre includere con la direttiva \code{\#include} questi file nei + propri programmi; per ciascuna funzione che tratteremo in seguito + indicheremo anche gli \textit{header file} necessari ad usarla.} (anch'essi +provvisti dalla \acr{glibc}), In \tabref{tab:intro_posix_header} si sono +riportati i principali \textit{header file} definiti nello standard POSIX, +insieme a quelli definiti negli altri standard descritti nelle sezioni +successive. \begin{table}[htb] \footnotesize @@ -309,9 +314,8 @@ quelli definiti negli altri standard descritti nelle sezioni successive. \hline \file{assert.h}& Verifica le asserzioni fatte in un programma.\\ \file{cpio.h} & .\\ - \file{} & .\\ - \file{} & .\\ - \file{} & .\\ + \file{dirent.h}& .\\ + \file{errno.h} & .\\ \file{} & .\\ \file{} & .\\ \file{} & .\\ @@ -320,9 +324,10 @@ quelli definiti negli altri standard descritti nelle sezioni successive. \file{} & .\\ \file{stdio.h} & I/O bufferizzato in standard ANSI C.\\ \file{stdlib.h}& definizioni della libreria standard.\\ + \file{unistd.h}& .\\ \hline \end{tabular} - \caption{Elenco dei vari file di include definiti dallo standard POSIX.} + \caption{Elenco dei vari header file definiti dallo standard POSIX.} \label{tab:intro_posix_header} \end{table}