X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=d066e9f740bab38b377eae1b8f6b9e5412dceb54;hp=d981ad5e57853ad47af970894e69e408da52455f;hb=bf81ce9ec539254693a8c41641a99af1aa1d886f;hpb=406973e35011347c3812c671511ce738378a525b diff --git a/intro.tex b/intro.tex index d981ad5..d066e9f 100644 --- a/intro.tex +++ b/intro.tex @@ -1,6 +1,6 @@ %% intro.tex %% -%% Copyright (C) 2000-2004 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2005 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -62,16 +62,17 @@ 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}\index{scheduler}, si occupa di -stabilire, ad intervalli fissi e sulla base di un opportuno calcolo delle -priorità, quale ``\textsl{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{\textit{scheduler}}, si +occupa di stabilire, ad intervalli fissi e sulla base di un opportuno calcolo +delle priorità, quale ``\textsl{processo}'' deve essere posto in esecuzione +(il cosiddetto \textit{preemptive + scheduling}\index{\textit{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 +\textsl{memoria virtuale}\index{memoria~virtuale}, che consente di assegnare a ciascun processo uno spazio di indirizzi ``\textsl{virtuale}'' (vedi sez.~\ref{sec:proc_memory}) che il kernel stesso, con l'ausilio della unità di gestione della memoria, si incaricherà di rimappare automaticamente sulla @@ -315,9 +316,9 @@ di libreria da esso previste. Queste sono dichiarate in una serie di 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 tab.~\ref{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. +riportati i principali \textit{header file} definiti nello standard POSIX ed +ANSI C, che sono anche quelli definiti negli altri standard descritti nelle +sezioni successive. \begin{table}[htb] \footnotesize @@ -331,18 +332,24 @@ successive. & ANSI C& POSIX& \\ \hline \hline - \file{assert.h}&$\bullet$&$\bullet$& Verifica le asserzioni fatte in un - programma.\\ - \file{errno.h} &$\bullet$&$\bullet$& Errori di sistema.\\ - \file{fcntl.h} &$\bullet$&$\bullet$& Controllo sulle opzioni dei file.\\ - \file{limits.h}&$\bullet$&$\bullet$& Limiti e parametri del sistema.\\ - \file{} &$\bullet$&$\bullet$& .\\ - \file{} &$\bullet$&$\bullet$& .\\ - \file{} &$\bullet$&$\bullet$& .\\ - \file{} &$\bullet$&$\bullet$& .\\ - \file{} &$\bullet$&$\bullet$& .\\ - \file{stdio.h} &$\bullet$&$\bullet$& I/O bufferizzato in standard ANSI C.\\ - \file{stdlib.h}&$\bullet$&$\bullet$& definizioni della libreria standard.\\ + \file{assert.h}&$\bullet$& & Verifica le asserzioni fatte in un + programma.\\ + \file{ctype.h} &$\bullet$& & Tipi standard.\\ + \file{dirent.h}& &$\bullet$& Manipolazione delle directory.\\ + \file{errno.h} & &$\bullet$& Errori di sistema.\\ + \file{fcntl.h} & &$\bullet$& Controllo sulle opzioni dei file.\\ + \file{limits.h}& &$\bullet$& Limiti e parametri del sistema.\\ + \file{malloc.h}&$\bullet$& & Allocazione della memoria.\\ + \file{setjmp.h}&$\bullet$& & Salti non locali.\\ + \file{signal.h}& &$\bullet$& Gestione dei segnali.\\ + \file{stdarg.h}&$\bullet$& & .\\ + \file{stdio.h} &$\bullet$& & I/O bufferizzato in standard ANSI C.\\ + \file{stdlib.h}&$\bullet$& & definizioni della libreria standard.\\ + \file{string.h}&$\bullet$& & Manipolazione delle stringhe.\\ + \file{time.h} & &$\bullet$& Gestione dei tempi.\\ + \file{times.h} &$\bullet$& & Gestione dei tempi.\\ + \file{unistd.h}& &$\bullet$& Unix standard library.\\ + \file{utmp.h} & &$\bullet$& Registro connessioni utenti.\\ \hline \end{tabular} \caption{Elenco dei vari header file definiti dallo standard POSIX.}