«a2» e «a3», ovvero «appunti di informatica libera», «appunti linux» e «from the ground up»
«a2», prima «appunti di informatica libera» e prima ancora «appunti linux» è il risultato di un lavoro di studio dell'informatica --ormai conclusosi-- che ha occupato gli anni dal 1997 al 2013 e che ha richiesto anche la produzione di strumenti tipografici adatti alla sua realizzazione, partendo da un formato SGML ad hoc che si è sviluppato assieme all'opera. A fianco del lavoro principale in italiano c'è stato anche uno studio relativo alla logica digitale, denominato «from the ground up», abbreviabile come «a3», scritto però in inglese.
Tutte le edizioni disponibili di questo lavoro sono conservate presso archive.org:
https://archive.org/download/AppuntiDiInformaticaLibera (PDF dell'ultima edizione)
https://archive.org/download/from_the_ground_up (PDF dell'ultima edizione)
Il sito informaticalibera.net, indicato nell'edizione 2013.11.11 di «a2» e nell'edizione I-2013b di «a3», che avrebbero dovuto essere il punto di riferimento dell'opera, non è più disponibile. I file contrassegnati con la data di edizione 2013.11.11a e I-2013c sono stati ritoccati a mano, per togliere quel riferimento ora non più valido. Al suo posto appare l'indirizzo del profilo professionale, contenente anche tutti i riferimenti a questo lavoro (linkedin.com/in/appunti2).
From the ground up: table of context
Download the latest edition (20130819c) from Archive.org
Part i Logic circuits
1 Logic functions and logic gates
1.1 NOT
1.2 .not-inverter. or .buffer.
1.3 AND
1.4 OR
1.5 XOR
1.6 Logic networks
1.7 Operator precedence
1.8 Irrelevant values inside the truth table
1.9 Equivalence
1.10 Sum of products
1.11 Karnaugh maps
1.12 Logic gates and multiple lines
1.13 Electronic logic gates
1.14 HDL
2 Introduction to Verilog
2.1 Minimal notions
2.2 Hello world!
2.3 Compiler directives
2.4 Signal values
2.5 Literal constants
2.6 Data types
2.7 Ports
2.8 Parameters
2.9 Module declaration
2.10 Module instance
2.11 Fully qualified path names
2.12 Primitives
2.13 Expressions
2.14 Vector and array addressing
2.15 Strings
2.16 Functions
2.17 Netlist modules: combinational circuits
2.18 Behavioural modules
2.19 Procedural assignments
2.20 Blocking delays
2.21 Wait for a level event
2.22 Wait for an event expressions
2.23 Event variables
2.24 System tasks and functions
2.25 Control structures
2.26 Thread control
3 Combinational circuits
3.1 Decoder
3.2 Demultiplexer
3.3 Multiplexer
3.4 Multiplexer and demultiplexer with parallel I/O
3.5 Binary encoder
3.6 Priority encoder
3.7 Logic units
3.8 Shift and rotation
3.9 Addition
3.10 Subtraction
3.11 Addition and subtraction together
3.12 Carry lookahead
3.13 Increment and decrement
3.14 2's complement
3.15 Multiplication
3.16 Division
3.17 Magnitude comparator
4 Arithmetic-logic unit
4.1 Status flags
4.2 Size truncation
4.3 Sign inversion
4.4 Addition and subtraction
4.5 Shift and rotation
4.6 Magnitude comparison
4.7 Multiplication
4.8 Division
4.9 Logic unit
4.10 Joining all the modules together
4.11 Bit sliced ALU
5 Latch and flip-flop
5.1 Propagation delay
5.2 Truth tables
5.3 SR latch
5.4 Bounce-free switch
5.5 Gated SR latches
5.6 SR flip-flop
5.7 Time: setup/hold and recovery/removal
5.8 D latch and D flip-flop
5.9 T flip-flop
5.10 JK flip-flop
5.11 Troublesome JK flip-flops
6 Registers
6.1 Multiplexer
6.2 Simple data register
6.3 Shift register
6.4 Asynchronous counter with T flip-flop
6.5 Synchronous T flip-flop counters
6.6 Synchronous counters with D flip-flops
6.7 Synchronous counters with parallel load
7 Bus and control unit
7.1 Tri-state buffer
7.2 Hardcoded bus control unit
7.3 Microcode
8 TKGate 2 introduction and troubleshooting
8.1 Modules
8.2 Module library or cut and paste between files
8.3 Bit-size
8.4 Cut and paste troubles
8.5 File PostScript and EPS
8.6 Multiplexers, demultiplexers and encoders depiction
u1 Traditional logic integrated circuits
u1.1 Data distributors or demultiplexers
i1.1.1 74138 3-to-8 data distributor or demultiplexer
i1.1.2 74139 dual 2-to-4 data distributor or demultiplexer
i1.1.3 74154 4-to-16 data distributor or demultiplexer
i1.1.4 74238 3-to-8 data distributor or demultiplexer
u1.2 Data selectors or multiplexers
i1.2.1 74150 1-of-16 data selector or multiplexer
i1.2.2 74151 1-of-8 data selector or multiplexer
i1.2.3 74153 dual 1-of-4 data selector or multiplexer
i1.2.4 74157 quad 1-of-2 data selector or multiplexer
u1.3 Special circuits
i1.3.1 74148 8-to-3 priority encoder
u1.4 Arithmetic units
i1.4.1 7483 4-bit binary full-adder
i1.4.2 7485 4-bit magnitude comparator
i1.4.3 74181 .a. ALU
i1.4.4 74181 .b. ALU
i1.4.5 74182 carry lookahead generator
i1.4.6 74381 4-bit ALU
i1.4.7 74382 4-bit ALU
u2 References
Part ii Simple CPU
9 A simple 8-bit CPU: version *A*
9.1 Version *A1*: fetch and execution
9.2 Version *A2*: memory index
9.2.1 Loading instructions
9.2.2 Storing instructions
9.3 Version *A3*: general purpose registers
9.4 Version *A4*: ALU
9.4.1 Instruction *not*
9.4.2 Instruction *and*
9.4.3 Instruction *or*
9.4.4 Instruction *xor*
9.4.5 Instruction *lshl* and *lshr*
9.4.6 Instruction *ashl* and *ashr*
9.4.7 Instruction *rotl* and *rotr*
9.4.8 Instruction *add*
9.4.9 Instruction *sub*
9.5 Version *A5*: flags
9.5.1 Instruction *rotcl* and *rotcr*
9.5.2 Instruction *add.carry*
9.5.3 Instruction *sub.borrow*
9.6 Version *A6*: branching
9.7 Version *A7*: stack
9.7.1 Instruction *push* and *pop*
9.7.2 Instruction *call* and *return*
9.8 Version *A8*: I/O
9.8.1 Communication with asynchronous devices
9.8.2 I/O devices implementation
9.8.3 External appearance of the synchronous interfaces
9.8.4 Synchronous keyboard interface
9.8.5 Synchronous display interface
9.8.6 The CPU data bus with the I/O interfaces
9.8.7 Instruction *out*
9.8.8 Instruction *in*
10 Version *B*: optimization
10.1 Uniform registers
10.2 Module *RAM*
10.3 Module *SEL*
10.4 Module *ALU*
10.5 Module *TTY*: the terminal
10.6 Module *CTRL*: control unit
10.7 Memories, fields, arguments and opcodes
10.8 Microcode
10.9 Macrocode: routine call
10.10 Macrocode: keyboard input and screen output
10.11 Version *B2*
11 Version *C*: 16-bit little-endian
11.1 General purpose 16-bit registers
11.2 Module *BUS*
11.3 Module *ALU*
11.4 Module *SEL*
11.5 Module *RAM*
11.6 Module *IRQ*
11.7 Module *IVT*
11.8 Module *CTRL*
11.9 Opcodes
11.10 Microcode
11.11 Interrupts management
11.12 Module *RTC*: real time clock
11.13 Module *TTY*
11.14 Module *HDD*
11.15 Macrocode: terminal usage example, through interrupts
12 Version *D*
12.1 General purpose registers
12.1.1 Module *RANK*
12.1.2 Modules *D.select* and *Q.select*
12.2 Module *VRn*
12.3 Module *RAM*
12.4 Module *ALU* and related submodules
12.5 Module *BUS*
12.6 Module *IRQ*
12.7 Modules *Dn*
12.8 Module *IVT*
12.8.1 Module *DRn*
12.9 Module *RTC*: real time clock
12.10 Module *TTY*
12.11 Module *HDD*
12.12 Module *CTRL*
12.12.1 Modules *Fn*
12.12.2 Module *CLK.CLR*
12.13 Memory and microcode fields
12.14 Opcodes
12.15 Microcode
12.16 Macrocode
13 Version *E*
13.1 General purpose modules
13.2 Module *MEM*
13.2.1 Module *MAR*
13.2.2 Module *MIR*
13.2.3 Module *MDR*
13.3 General purpose registers
13.4 Module *ALU* and related submodules
13.5 Module *BUS*
13.6 Module *IRQ*
13.7 Module *IVT*
13.8 Module *RTC*: real time clock
13.9 Module *TTY*
13.10 Module *HDD*
13.11 Module *CTRL*
13.11.1 Modules *Fn*
13.11.2 Module *CLK.CLR*
13.12 Memory and microcode fields
13.13 Opcodes
13.14 Microcode
13.15 Macrocode
14 Version *F*: 32-bit registers, big-endian, privileges
14.1 General purpose modules
14.2 Addition modules
14.3 Multiple clock lines
14.4 Bus
14.5 Registers: simple and with post-increment
14.6 Memory segmentation
14.7 Module *DA*
14.8 Module *CA*
14.9 Modules *M* and *RAM*
14.10 Module *IR*
14.11 Module *MD*
14.12 Module *IRQ*
14.13 Module *IVT*
14.14 Module *ALU*
14.15 Module *FL*
14.16 Module *TTY*
14.17 Module *HDD*
14.18 Module *CTRL*
14.19 Memory and microcode fields
14.20 Opcodes
14.21 Data initialization
14.22 Microcode
14.23 Process mode and interrupts
14.24 Macrocode example: .memcpy.
14.25 Macrocode example: TTY with interrupt
14.26 Macrocode example: user and supervisor
u3 References
«a2», ex «appunti di informatica libera»: indice dei contenuti
Scarica l'ultima edizione (20131111a) da Archive.org
i1 Premessa
i2 Caratteristiche della versione elettronica dell'opera
Volume I Sistemi GNU/Linux
Parte i Uso e amministrazione generale
1 Software e libertà
1.1 Software libero
1.2 Software non libero
1.3 Software commerciale
1.4 Dal software all'arte in generale: Creative Commons
1.5 Origini del software libero
1.5.1 BSD
1.5.2 GNU
1.5.3 Minix
1.5.4 Linux
1.5.5 Debian
1.5.6 Internet Archive
1.5.7 Open Source
1.5.8 Creative Commons
1.5.9 Open Invention Network
1.5.10 Standard Unix
1.6 Riferimenti
2 Aritmetica elementare
2.1 Sistemi di numerazione
2.1.1 Sistema decimale
2.1.2 Sistema binario
2.1.3 Sistema ottale
2.1.4 Sistema esadecimale
2.2 Conversioni numeriche di valori interi
2.2.1 Numerazione ottale
2.2.2 Numerazione esadecimale
2.2.3 Numerazione binaria
2.2.4 Conversione tra ottale, esadecimale e binario
2.3 Conversioni numeriche di valori non interi
2.3.1 Conversione da base 10 ad altre basi
2.3.2 Conversione a base 10 da altre basi
2.3.3 Conversione tra ottale, esadecimale e binario
2.4 Le operazioni elementari e il sistema binario
2.4.1 Complemento alla base di numerazione
2.4.2 Complemento a uno e complemento a due
2.4.3 Addizione binaria
2.4.4 Sottrazione binaria
2.4.5 Moltiplicazione binaria
2.4.6 Divisione binaria
2.5 Riferimenti
3 Introduzione all'uso
3.1 L'elaboratore
3.2 Dispositivi
3.2.1 Tastiera
3.2.2 Schermo
3.2.3 Stampante
3.2.4 Dispositivi di memorizzazione
3.3 File e file system
3.4 Sistema operativo
3.5 Kernel
3.6 Shell
3.7 Programmi
3.8 Distinzione tra lettere maiuscole e lettere minuscole
3.9 Root
3.10 Utenti
3.11 Avvio
3.12 Inizializzazione e gestione dei processi
3.13 Demoni
3.14 Gestione dei servizi di rete
3.15 Registrazione e controllo degli accessi
3.16 Strumenti di sviluppo software
3.17 Arresto o riavvio del sistema
3.18 File e directory in un sistema Unix
3.19 Collegamenti
3.20 Nomi dei file
3.21 Permessi
3.21.1 Permessi speciali: S-bit
3.22 Date
3.23 Utenza e accesso
3.24 Interpretazione dei comandi
3.25 Ridirezione e condotti
3.26 Comandi e programmi di servizio di uso comune
3.27 Programma o eseguibile
3.28 ABC dei comandi Unix
3.28.1 ls: ''list''
3.28.2 cd: ''change directory''
3.28.3 mkdir: ''make directory''
3.28.4 cp: ''copy''
3.28.5 ln: ''link''
3.28.6 rm: ''remove''
3.28.7 mv: ''move''
3.28.8 cat: ''concatenate''
3.29 Glossario introduttivo
3.29.1 Sistema operativo in generale
3.29.2 Utenza
3.29.3 File e file system
3.29.4 Rete
3.29.5 Programmi, esecuzione e processi elaborativi
3.29.6 Varie
3.30 Unità di misura
3.31 Riferimenti
4 Esercizi pratici
4.1 Console virtuali
4.2 Accesso al sistema e conclusione dell'attività
4.2.1 Cambiamento di identità
4.2.2 Chi sono?
4.2.3 Terminare una sessione di lavoro
4.2.4 Spegnimento
4.2.5 Diventare temporaneamente amministratore
4.2.6 Conclusione
4.3 Gestione delle parole d'ordine
4.3.1 L'utente ''root'' che cambia la parola d'ordine di un utente comune
4.3.2 L'utente comune che cambia la propria parola d'ordine
4.3.3 Conclusione
4.4 Navigazione tra le directory
4.4.1 Directory corrente
4.4.2 Spostamenti assoluti e relativi
4.4.3 Spostamenti a ritroso
4.4.4 Riferimento preciso alla directory corrente
4.4.5 Directory corrente e ''.''
4.4.6 Directory personale, o directory ''home''
4.4.7 Conclusione
4.5 Contenuti
4.5.1 Contenuto delle directory
4.5.2 Contenuto dei file
4.5.3 Determinazione del tipo
4.5.4 Spazio utilizzato e spazio disponibile
4.5.5 Conclusione
4.6 Creazione, copia ed eliminazione di file
4.6.1 Creazione di un file
4.6.2 Copia di file
4.6.3 Eliminazione di file
4.6.4 Conclusione
4.7 Creazione, copia ed eliminazione di directory
4.7.1 Creazione di una directory
4.7.2 Copia di directory
4.7.3 Eliminazione di directory
4.7.4 Eliminazione di directory il cui nome inizia con un punto
4.7.5 Conclusione
4.8 Spostamenti e collegamenti di file e directory
4.8.1 Spostamento e ridenominazione
4.8.2 Collegamenti
4.8.3 Conclusione
4.9 La shell
4.9.1 Completamento automatico
4.9.2 Sostituzione
4.9.2.1 Asterisco
4.9.2.2 Punto interrogativo
4.9.2.3 Parentesi quadre
4.9.3 Protezione
4.9.4 Verifica della sostituzione
4.9.5 Ridirezione
4.9.6 Condotti
4.9.7 Alias
4.9.8 Conclusione
4.10 Controllo dei processi
4.10.1 Visualizzazione dello stato dei processi
4.10.2 Eliminazione dei processi
4.10.3 Processi sullo sfondo
4.10.4 Conclusione
4.11 Permessi
4.11.1 Permessi sui file
4.11.2 Permessi sulle directory
4.11.3 Maschera dei permessi: umask
4.11.4 Conclusione
4.12 Creazione e modifica di file di testo
4.12.1 Modalità di comando e di inserimento
4.12.2 Creazione
4.12.3 Inserimento di testo
4.12.4 Spostamento del cursore
4.12.5 Cancellazione
4.12.6 Salvataggio e conclusione
4.12.7 Apertura di un file esistente
4.12.8 Conclusione
4.13 File eseguibili
4.13.1 Avvio di un programma e variabile di ambiente ''PATH''
4.13.2 Comandi interni di shell
4.13.3 Script e permessi di esecuzione
4.13.4 Conclusione
4.14 Ricerche
4.14.1 Find
4.14.2 Grep
4.14.3 Conclusione
4.15 Memoria di massa e file system con i dischetti
4.15.1 Inizializzazione a basso livello
4.15.2 Predisposizione del file system
4.15.3 Innestare e staccare i dischetti
4.15.4 Conclusione
4.16 Dispositivi
4.16.1 File ''/dev/null''
4.16.2 Dispositivi di memorizzazione
4.16.3 Conclusione
5 Trovare le informazioni necessarie
5.1 Testo puro
5.1.1 Variabile di ambiente ''LESSCHARSET''
5.2 Pagine di guida
5.2.1 Collocazione fisica e convenzioni nazionali
5.2.2 Utilizzo dei programmi per accedere alle pagine di manuale
5.3 Info
5.3.1 Utilizzo del sistema attraverso l'eseguibile info
5.4 Documentazione allegata ai pacchetti applicativi
5.5 HOWTO
5.6 FAQ
5.7 LDP
5.8 Altra documentazione
5.9 Ricerche tra i documenti in linea
5.10 Ricerche nel passato
5.11 Ricerche geografiche
5.12 Riferimenti
6 Installazione e avvio di un sistema GNU/Linux
6.1 Scelta della distribuzione
6.2 Nomi dei dispositivi delle unità di memorizzazione
6.3 Preparazione
6.4 Partizioni e file system
6.5 Moduli
6.6 Aggiornamento di un'installazione precedente
6.7 Creazione delle partizioni e inizializzazione
6.8 Parametri di avvio
6.9 MBR
6.10 SYSLINUX
6.10.1 Installazione del sistema di avvio
6.10.2 Configurazione
6.10.3 File di aiuto
6.10.4 Componenti aggiuntivi
6.10.5 Avvio di un disco ottico
6.10.6 Conversione di un disco ottico avviabile in un'unità di memoria solida
6.10.7 Avvio dalla rete, senza dischi locali
6.11 Riferimenti
7 Pacchetti di applicazioni per GNU/Linux
7.1 Applicativi originali distribuiti in forma sorgente
7.2 Fasi tipiche di una compilazione e installazione
7.3 File di differenze, o ''patch''
7.4 Installazione di programmi già compilati
7.4.1 Scelta della piattaforma
7.4.2 Eseguibili e variabili di ambiente
7.4.3 Librerie dinamiche
7.4.4 Verifica delle librerie utilizzate dagli eseguibili
7.5 Aggiornamento delle librerie standard
7.6 Pacchetti applicativi confezionati appositamente per le distribuzioni GNU
7.6.1 Distinguere tra ''pacchetti'' e ''archivi''
7.6.2 Binari e sorgenti
7.6.3 Interdipendenza tra i pacchetti
7.6.4 Fasi dell'installazione e della disinstallazione di un pacchetto
7.6.5 Caratteristiche di un pacchetto nei confronti di un sistema funzionante
7.6.6 Aggiornamento
7.6.7 File di configurazione comuni
7.7 Pacchetti Debian
7.7.1 Priorità di un pacchetto
7.7.2 Dipendenze secondo i pacchetti Debian
7.7.3 Stato di un pacchetto
7.7.4 Disponibilità di un pacchetto
7.7.5 Stratificazione degli strumenti di gestione dei pacchetti Debian
7.7.6 Gestione elementare attraverso gli strumenti fondamentali
7.7.7 Gestione più evoluta dei pacchetti: organizzazione di una copia della distribuzione
7.7.8 APT a livello essenziale
7.7.9 Ricerca dei file che apparentemente non appartengono ad alcun pacchetto
7.7.10 Ricerca dei pacchetti che possono essere disinstallati senza problemi di dipendenze
7.7.11 Riconfigurazione
7.7.12 Pacchetti Debian sorgenti
7.8 Ricompilazione dei pacchetti Debian sorgenti
7.9 Dselect
7.9.1 Menù iniziale
7.9.2 Metodo di accesso ai pacchetti della distribuzione
7.9.3 Accesso attraverso un disco ottico unico
7.9.4 Accesso attraverso un insieme di dischi
7.9.5 Accesso attraverso un file system di rete
7.9.6 Accesso attraverso un file system già innestato localmente
7.9.7 Accesso attraverso APT
7.9.8 Aggiornamento dell'elenco locale dei pacchetti
7.9.9 Selezione dei pacchetti
7.9.10 Installazione e aggiornamento dei pacchetti selezionati
7.9.11 Configurazione
7.9.12 Cancellazione dei pacchetti
7.10 APT
7.10.1 Configurazione generale
7.11 Approfondimento: raccolta di pacchetti Debian
7.11.1 Composizione del nome degli archivi Debian
7.11.2 Eliminazione delle versioni precedenti
7.11.3 Distribuzione completa su un supporto unico
7.11.4 Distribuzione suddivisa su diversi supporti
7.11.5 Un esempio banalizzato, ma funzionante
7.12 Riferimenti
8 Kernel Linux
8.1 Ricompilazione del kernel
8.2 Compilazione del kernel in una distribuzione GNU/Linux Debian
8.3 Elementi della configurazione
8.3.1 General setup
8.3.2 Enable loadable module support
8.3.3 Processor type and features
8.3.4 Power management and ACPI options
8.3.5 Bus options
8.3.6 Executable file formats
8.3.7 Networking
8.3.8 Device drivers
8.3.8.1 Device drivers, parallel port support
8.3.8.2 Device drivers, plug and play support
8.3.8.3 Device drivers, block devices
8.3.8.4 Device drivers, SCSI support
8.3.8.5 Device drivers, serial ATA and paralel ATA drivers
8.3.8.6 Device drivers, multi-device support
8.3.8.7 Device drivers, network device support
8.3.8.8 Device drivers, input device support
8.3.8.9 Device drivers, character devices
8.3.8.10 Device drivers, graphic support
8.3.8.11 Device drivers, sound card support
8.3.8.12 Device drivers, USB support
8.3.9 Filesystems
8.3.10 Kernel hacking
8.4 Come fare per configurare correttamente il kernel che si vuole compilare
8.5 Parametri di avvio del kernel Linux
8.5.1 File system principale «root»
8.5.2 Memoria
8.5.3 Varie
8.5.4 Interfacce di rete Ethernet
8.6 Gestione dei moduli
8.6.1 Dipendenza tra i moduli
8.6.2 Parametri
8.6.3 Utilizzo di ''insmod''
8.6.4 Utilizzo di ''rmmod''
8.6.5 Utilizzo di ''lsmod''
8.6.6 Utilizzo di ''depmod''
8.6.7 Utilizzo di ''modprobe''
8.6.8 Informazione sui moduli
8.7 Configurazione dei moduli
8.7.1 Direttiva alias
8.7.2 Direttiva options
8.8 Firmware
8.9 File di dispositivo
8.9.1 Creazione dei file di dispositivo
8.9.2 kernel Linux e uDev
8.9.3 Messaggio: ''unable to open an initial console''
8.10 Disco RAM iniziale: Initrd
8.10.1 Teoria e visione generale
8.10.2 Creazione automatica di un disco RAM iniziale
8.10.3 Esempio di un disco RAM iniziale
8.11 Combinazioni magiche con ''R sist'', ovvero ''SysRq''
8.12 Riferimenti
9 Hardware
9.1 Alimentatori AT e ATX
9.1.1 Interruttore e cambio tensione
9.1.2 Fusibile
9.1.3 Dissipazione del calore
9.1.4 Pulizia
9.1.5 Alimentazione e affidabilità dell'elaboratore
9.1.6 Connettori comuni di alimentazione
9.2 Alimentatori ATX
9.2.1 Collegamento principale con la scheda madre: 20 poli
9.2.2 Collegamento principale con la scheda madre: 24 poli
9.2.3 Collegamento ausiliario con la scheda madre, +12 V
9.2.4 Collegamento ausiliario con la scheda madre ''P6'', +3,3 V, +5 V,
9.2.5 Controllo del funzionamento
9.2.6 Utilizzo di un alimentatore ATX per scopi vari
9.3 «P»ATA: AT attachment
9.3.1 Caratteristiche generali del sistema PATA
9.3.2 Geometria dei dischi
9.3.3 Caratteristiche del protocollo PATA e configurazione del firmware
9.3.4 Standard PATA e gergo comune
9.3.5 Gestione da parte di un kernel Linux delle unità PATA
9.3.6 Informazioni da un kernel Linux
9.4 SATA: Serial ATA
9.4.1 Adattatori
9.4.2 Gestione da parte del kernel Linux
9.4.3 Informazioni da un kernel Linux
9.4.4 Sistemi RAID SATA
9.5 Da ISA a PCI
9.5.1 ISA
9.5.2 MCA
9.5.3 EISA
9.5.4 VESA local bus
9.5.5 PCI
9.5.6 Informazioni da un kernel Linux
9.5.7 AGP
9.5.8 AMR
9.5.9 PCI Express
9.6 USB
9.6.1 Caratteristiche generali
9.6.2 Alimentazione elettrica
9.6.3 Collegamento di una porta USB
9.6.4 Tipi di unità di controllo
9.7 USB e il Kernel Linux
9.7.1 Avvio di un sistema GNU/Linux da un'unità USB, con kernel monolitico
9.7.2 Sequenza di caricamento dei moduli del kernel
9.8 Introduzione al BIOS
9.8.1 Collocazione fisica del BIOS
9.8.2 Blocco di avvio
9.8.3 Modifica del BIOS
9.8.4 BIOS di ''marca''
9.8.5 Salvare e riscrivere il BIOS
9.8.6 BIOS Award
9.8.7 BIOS AMI
9.8.8 UniFlash
9.8.9 Recupero disperato di un BIOS
9.9 Modifica di un BIOS modulare
9.9.1 BIOS modulari Award
9.9.2 BIOS modulari AMI
9.10 Memoria centrale difettosa
9.10.1 Esclusione di altri fattori
9.10.2 Memtest86+
9.10.3 Parametri di avvio del kernel
9.11 Restauro
9.11.1 Ripulitura
9.11.2 Lavaggio di unità a dischetti
9.11.3 Pulizia dei monitor
9.11.4 Pulizia azzardata dei monitor
9.11.5 Pulizia della tastiera
9.11.6 Batteria
9.11.7 Osservazioni sulla configurazione BIOS di elaboratori molto vecchi
9.12 Connettori e cablaggi
9.12.1 Video MGA, CGA, EGA, Hercules
9.12.2 Tastiere
9.12.3 Porte seriali
9.12.4 Porte parallele
9.12.5 Reti Ethernet
9.13 Riferimenti
10 Processi di elaborazione
10.1 Introduzione ai processi
10.1.1 Tabella dei processi
10.1.2 Nascita e morte di un processo
10.1.3 Comunicazione tra processi
10.1.4 Scheduling e priorità
10.1.5 Privilegi dei processi
10.1.6 Variabili di sistema
10.2 Procedura di inizializzazione del sistema «System V»
10.2.1 Init
10.2.2 File di configurazione ''/etc/inittab''
10.2.3 Script ''/etc/initscript''
10.2.4 Procedura di attivazione e disattivazione dei servizi
10.3 Situazione dei processi
10.3.1 Process status
10.3.2 Utilizzo di ''ps''
10.3.3 Utilizzo di ''pstree''
10.3.4 Utilizzo di ''top''
10.3.5 Utilizzo di ''htop''
10.3.6 Determinazione del numero PID
10.4 Accesso ai file
10.4.1 Fuser
10.4.2 Lsof
10.5 Informazioni riepilogative
10.5.1 Utilizzo di ''uptime''
10.5.2 Utilizzo di ''free''
10.6 Controllo diagnostico con Strace
10.7 Invio di segnali ai processi
10.7.1 Segnali attraverso la tastiera
10.7.2 Segnali attraverso la shell
10.7.3 Comandi ''kill...''
10.8 Controllo dei ''job'' di shell
10.8.1 Processi in primo piano e processi sullo sfondo
10.8.2 Avvio di un gruppo di elaborazione sullo sfondo
10.8.3 Sospensione di un gruppo di elaborazione in primo piano
10.8.4 Utilizzo di ''jobs''
10.8.5 Riferimenti ai gruppi di elaborazione
10.8.6 Comando ''fg''
10.8.7 Comando ''bg''
10.8.8 Comando ''kill''
10.9 Cattura dei segnali con la shell
10.9.1 Comando ''trap''
10.10 Trasformare dei programmi comuni in demoni
10.10.1 Utilizzo di ''nohup''
10.10.2 Utilizzo di ''daemon''
11 Orologio, pianificazione e calendario
11.1 Orario locale
11.2 Distinzione tra hardware e software
11.2.1 Orologio hardware
11.2.2 Orologio del kernel e orario locale
11.3 Modifica dell'orario
11.4 Strumenti per la gestione dell'orologio
11.4.1 Utilizzo di ''date''
11.4.2 Utilizzo di ''clock''
11.4.3 Utilizzo di ''hwclock''
11.4.4 File ''/etc/adjtime''
11.5 Cron
11.5.1 Utilizzo di ''cron''
11.5.2 Utilizzo di ''crontab''
11.5.3 File ''/var/spool/cron/crontabs/* ''
11.5.4 File ''/etc/crontab''
11.5.5 File ''/etc/cron.d/* ''
11.6 Anacron
11.6.1 File ''/etc/anacrontab''
11.6.2 Avvio di ''anacron''
11.7 At
11.7.1 Ambiente
11.7.2 Restituzione dell'output
11.7.3 Utilizzo di ''at'', ''batch'', ''atq'' e ''atrm''
11.7.4 Analisi di un esempio
11.8 Priorità
11.8.1 Utilizzo di ''nice''
11.8.2 Utilizzo di ''renice''
11.9 Calendario
11.9.1 Utilizzo di ''cal''
11.9.2 Utilizzo di ''ccal''
11.9.3 Utilizzo di ''ncal''
11.9.4 Utilizzo di ''gcal''
11.9.5 Utilizzo di ''calendar''
11.9.6 Utilizzo di ''pcal''
11.9.7 File di ricorrenze e scadenze compatibile
12 Informazioni varie
12.1 Pacchetto Procinfo
12.1.1 Utilizzo di ''procinfo''
12.1.2 Utilizzo di ''lsdev''
12.1.3 Utilizzo di ''socklist''
12.2 Pacchetto Linux PCI utilities
12.3 Lsusb
12.4 Lshw
12.5 Definizione del nome del sistema
12.6 Altre caratteristiche identificative del sistema
12.7 Numero di serie
12.8 LinuxInfo
13 Convenzioni nazionali
13.1 Sigle identificative delle caratteristiche locali
13.2 Preparazione delle localizzazioni disponibili
13.3 Configurazione delle localizzazioni nelle distribuzioni Debian
14 Terminali a caratteri
14.1 Introduzione alla tastiera
14.1.1 Funzionamento essenziale della macchina da scrivere tipica
14.1.2 Caratteri maiuscoli, minuscoli e altri simboli
14.1.3 Disposizione anatomica dei tasti
14.1.4 Mappa dei tasti
14.1.5 Fissamaiuscole
14.1.6 Avanzamento, arretramento e composizione
14.1.7 Tabulatore
14.1.8 Telescrivente
14.1.9 Mutazione della mappa italiana
14.2 Tastiera di un elaboratore
14.2.1 Livelli
14.2.2 Alfabeti non latini
14.2.3 Tasti morti e composizione
14.2.4 Inserimento numerico del codice di un simbolo
14.2.5 Alfabeti asiatici
14.2.6 Pittogrammi ISO 9995-7
14.3 Tastiera della console di un sistema GNU/Linux
14.3.1 Tastiera locale e tastiera remota
14.3.2 Console virtuali
14.3.3 Controllo della modalità di funzionamento della tastiera con ''kbd.mode''
14.3.4 Controllo sullo stato della tastiera con ''setleds''
14.3.5 Mappa della tastiera
14.3.6 Visualizzazione dei codici dei tasti con ''showkey''
14.3.7 Caricamento di una mappa con ''loadkeys''
14.3.8 Analisi della configurazione attuale con ''dumpkeys''
14.4 Personalizzazione della mappa della tastiera
14.4.1 Modificatori
14.4.2 Specificazione di mappa
14.4.3 Istruzione ''keycode''
14.4.4 Funzionalità speciali
14.5 Approfondimento: tastiera italiana conforme a X
14.5.1 Codifica
14.5.2 Modificatori virtuali ''control'' e ''meta''
14.5.3 Combinazioni numeriche
14.5.4 Accenti morti e composizione
14.5.5 Lettere accentate maiuscole
14.5.6 Barra spaziatrice
14.5.7 Tasti funzionali
14.6 Identificazione del terminali
14.7 Configurazione del terminale
14.7.1 Linea TTY
14.7.2 Utilizzo di ''stty''
14.7.3 Termcap e Terminfo
14.7.4 Variabile di ambiente ''TERM''
14.7.5 Adattabilità di un programma e abilità dell'utilizzatore
14.7.6 Ripulitura dello schermo
14.7.7 Definizione degli attributi del terminale con ''setterm''
14.8 Approfondimento: codifica UTF-8
14.8.1 Caratteri per la console
14.8.2 Mappa della tastiera
14.8.3 Localizzazione
14.8.4 Attivare e disattivare l'utilizzo della codifica UTF-8
14.8.5 Utilizzo di ''luit''
14.9 Console grafica VGA nei sistemi GNU/Linux
14.9.1 Parametri di avvio: ''vga=ask''
14.9.2 Modifica dei caratteri
14.9.3 Console VGA e ''frame buffer''
14.9.4 ''Frame buffer'' dall'avvio
14.10 Utilizzo del dispositivo di puntamento
14.10.1 Dispositivo del mouse
14.10.2 Utilizzo di ''gpm''
14.10.3 Avvio del servizio di gestione del mouse
14.11 Monitoraggio di una sessione di lavoro
14.11.1 Utilizzo di ''script''
14.11.2 File di dispositivo ''/dev/vcs*''
14.12 Strumenti per la gestione delle console virtuali
14.12.1 Utilizzo di ''open''
14.12.2 Utilizzo di ''switchto''
14.13 Terminali virtuali, o finestre, con il programma Screen
14.13.1 Funzionamento e organizzazione generale
14.13.2 Utilizzo di ''screen''
14.13.3 Comandi interattivi
14.13.4 Configurazione
14.14 Console parallele con Pconsole
14.15 Getty
14.15.1 Utilizzo di un programma Getty
14.15.2 File ''/etc/issue''
14.15.3 Utilizzo di MinGetty
14.15.4 Utilizzo di Agetty
14.15.5 Annotazione per la predisposizione di un terminale seriale
14.16 Console nei sistemi GNU/Linux
14.16.1 Definizione esplicita della console
14.16.2 Usare o non usare la console
14.16.3 Annotazioni per una console su un terminale seriale
14.17 Terminali per non vedenti
14.17.1 Codifica semplificata
14.17.2 Braille a otto punti
14.17.3 Tabelle di conversione
14.17.4 Sistemi di interazione per non vedenti
14.17.5 Lettura di ciò che appare sullo schermo
14.17.6 Terminali braille
14.17.7 Brltty
14.18 Riferimenti
15 Utilizzo corretto della tastiera
15.1 Posizione
15.2 Disposizione delle dita sui tasti
15.3 Esercizi di digitazione: la riga base
15.3.1 Esercizi sui tasti base: mano sinistra
15.3.2 Esercizi sui tasti base: mano destra
15.3.3 Esercizi sui tasti base: entrambe le mani
15.3.4 Esercizi sui tasti base con lo spostamento degli indici
15.3.5 Esercizi sui tasti base con lo spostamento aggiuntivo del mignolo destro
15.3.6 Esercizi sulla riga base con l'uso delle maiuscole
15.4 Esercizi di digitazione: la riga superiore
15.4.1 Esercizi sui tasti della riga superiore: mano sinistra
15.4.2 Esercizi sui tasti della riga superiore: mano destra
15.4.3 Esercizi sui tasti della riga superiore con entrambe le mani
15.4.4 Esercizi con l'aggiunta delle lettere maiuscole
15.5 Esercizi di digitazione: la riga inferiore
15.5.1 Esercizi sui tasti della riga inferiore: mano sinistra
15.5.2 Esercizi sui tasti della riga inferiore: mano destra
15.5.3 Esercizi sui tasti della riga inferiore con entrambe le mani
15.5.4 Esercizi con l'aggiunta delle lettere maiuscole
15.6 Esercizi di digitazione: conclusione
15.6.1 Favole di Esopo
15.7 Livelli ulteriori
15.8 Ktouch
15.8.1 Avvio e configurazione
15.8.2 Esercizio con Ktouch
15.8.3 Personalizzazione della tastiera
15.8.4 Personalizzazione degli esercizi
15.9 Gtypist
15.9.1 Avvio
15.9.2 Personalizzazione degli esercizi
15.10 Typeit
15.10.1 Esempio di utilizzo
15.10.2 Menù di file
15.10.3 Preparazione degli esercizi
16 Utenti
16.1 Gestione del registro del sistema
16.1.1 Registro del sistema
16.1.1.1 Utilizzo di ''syslogd''
16.1.1.2 File ''/etc/syslog.conf''
16.1.1.3 Archiviazione dei file delle registrazioni del sistema
16.1.1.4 Riservatezza delle informazioni
16.1.1.5 Utilizzo di ''logger''
16.1.1.6 Utilizzo di ''klogd''
16.1.2 Rotazione dei file
16.1.2.1 Rotazione dei file delle registrazioni di sistema nelle distribuzioni Debian
16.1.2.2 Logrotate
16.1.3 Console-log
16.2 Controllo degli accessi
16.2.1 Identità reale o efficace
16.2.2 Login, ovvero la procedura di accesso
16.2.2.1 Utilizzo di ''login''
16.2.2.2 File ''/etc/passwd''
16.2.2.3 File ''/etc/group''
16.2.2.4 File ''/etc/shadow''
16.2.2.5 File ''/var/run/utmp''
16.2.2.6 File ''/var/log/wtmp''
16.2.2.7 File ''/etc/motd''
16.2.2.8 File ''/etc/nologin''
16.2.2.9 File ''/etc/securetty''
16.2.2.10 Casella di posta elettronica
16.2.2.11 File ''./.hushlogin''
16.2.2.12 File ''/var/log/lastlog''
16.2.3 Cambiamento di identità
16.2.3.1 Utilizzo di ''su''
16.2.3.2 Utilizzo di ''newgrp''
16.2.4 Informazioni sugli accessi
16.2.4.1 Utilizzo di ''users''
16.2.4.2 Utilizzo di ''w''
16.2.4.3 Utilizzo di ''who''
16.2.4.4 Utilizzo di ''pinky''
16.2.4.5 Utilizzo di ''whoami''
16.2.4.6 Utilizzo di ''logname''
16.2.4.7 Utilizzo di ''groups''
16.2.4.8 Utilizzo di ''id''
16.3 Parole d'ordine cifrate
16.3.1 Funzione ''crypt«»''
16.3.2 Trasferimento delle utenze
16.3.3 Debolezza del sistema di parole d'ordine cifrate
16.4 Utenti e gruppi
16.4.1 Utilizzo di ''adduser'' e ''useradd''
16.4.2 File ''/etc/skel/*''
16.4.3 Utilizzo di ''passwd''
16.4.4 Utilizzo di ''chsh''
16.4.5 File ''/etc/shells''
16.4.6 Utilizzo di ''chfn''
16.5 Utenti e gruppi importanti
16.6 Eliminazione di un utente
16.7 Trucchi per la gestione degli utenti
16.7.1 Utente con funzione specifica
16.7.2 Gruppo di utenti con lo stesso UID
16.7.3 Uno stesso UID e GID per più nominativi-utente
16.7.4 Un gruppo per ogni utente «gruppi privati»
16.7.5 Directory personali controllate rigidamente dall'amministratore
16.7.6 Directory personali controllate da un utente ''tutore''
16.7.7 Creazione di un'utenza in più contesti
16.8 Parole d'ordine oscurate
16.8.1 Funzioni delle parole d'ordine oscurate
16.8.1.1 File ''/etc/shadow''
16.8.1.2 File ''/etc/passwd''
16.8.2 Amministrazione degli utenti
16.8.2.1 File ''/etc/login.defs''
16.8.2.2 Utilizzo di ''pwconv''
16.8.2.3 Utilizzo di ''pwunconv''
16.8.2.4 Utilizzo di ''useradd''
16.8.2.5 File ''/etc/default/useradd''
16.8.2.6 Utilizzo di ''userdel''
16.8.2.7 Utilizzo di ''usermod''
16.8.2.8 Utilizzo di ''chage''
16.8.3 Amministrazione dei gruppi
16.8.3.1 File ''/etc/gshadow''
16.8.3.2 Utilizzo di ''grpconv''
16.8.3.3 Utilizzo di ''grpunconv''
16.8.3.4 Utilizzo di ''gpasswd''
16.8.3.5 Utilizzo di ''groupadd''
16.8.3.6 Utilizzo di ''groupdel''
16.8.4 Caso particolare di ''adduser'' e ''addgroup'' nella distribuzione GNU/Linux Debian
16.8.5 Verifiche di coerenza
16.8.5.1 utilizzo di ''pwck''
16.8.5.2 Utilizzo di ''grpck''
16.8.6 Copie di sicurezza
16.9 Moduli PAM
16.9.1 Servizi PAM
16.9.2 File di configurazione e moduli
16.9.3 Verifica nel registro del sistema
16.9.4 Configurazione particolareggiata dei moduli
16.9.5 Descrizione di alcuni moduli
16.9.5.1 Modulo ''pam.warn.so''
16.9.5.2 Modulo ''pam.permit.so''
16.9.5.3 Modulo ''pam.deny.so''
16.9.5.4 Modulo ''pam.exec.so''
16.9.5.5 Modulo ''pam.unix.so''
16.10 Contabilità dell'utilizzo di risorse del sistema
16.10.1 Formato dei file
16.10.2 Contabilità basata sul file ''/var/log/wtmp''
16.10.2.1 Utilizzo di ''last''
16.10.2.2 Utilizzo di ''ac''
16.10.3 Contabilità dei processi
16.10.3.1 Utilizzo di ''lastcomm''
16.10.3.2 Utilizzo di ''sa''
16.11 Configurazione e personalizzazione
16.11.1 Frammentazione del sistema di configurazione
16.11.1.1 Collocazione
16.11.1.2 Sequenza
16.11.1.3 Effetto
16.11.2 Configurazione in base alla nazionalità: localizzazione
16.11.2.1 Disponibilità della localizzazione
16.11.2.2 Scelta della definizione
16.11.2.3 Variabili per la localizzazione
16.11.2.4 Definizioni standard di localizzazione
16.11.2.5 Utilizzo di ''locale''
16.11.3 Insieme di caratteri
16.11.3.1 Variabile di ambiente ''LESSCHARSET''
16.11.3.2 File ''/etc/man.config'' o ''/etc/manpath.config''
16.11.4 Configurazioni comuni varie
16.11.4.1 Invito della shell
16.11.4.2 Prevenzione dalla cancellazione involontaria
16.11.4.3 Libreria Readline
16.11.5 Fuso orario
16.12 Limiti alle utenze
16.12.1 Una shell per impedire l'accesso
16.12.2 Controllo dello spazio utilizzato, senza l'uso tradizionale delle quote
16.12.3 Accesso consentito soltanto ad alcuni utenti
16.13 Samba e utenze Unix
16.13.1 Avvio del servizio di rete
16.13.2 Configurazione essenziale
16.13.3 Elenco degli utenti
16.13.4 Gestione delle utenze
16.13.5 Allineamento delle utenze
16.14 Sintesi dei comandi principali
16.15 Riferimenti
17 Shell Unix
17.1 Introduzione alla shell Unix
17.1.1 Shell POSIX
17.1.2 Invito della shell
17.1.3 Storico dei comandi
17.1.4 Comandi interni
17.1.5 Alias
17.1.6 Ambiente
17.1.7 Condotti
17.1.8 Script
17.1.9 Sostituzione o espansione
17.1.9.1 Caratteri jolly o metacaratteri
17.1.9.2 Variabili e parametri
17.1.9.3 Sostituzione di comandi
17.1.9.4 Protezione dalla sostituzione e dall'espansione
17.1.10 Suddivisione in parole
17.2 Utilizzo generale
17.2.1 Avvio e conclusione
17.2.2 Interpretazione dei comandi: parametri, variabili, espansione e sostituzione
17.2.2.1 Protezione
17.2.2.2 Parametri e variabili
17.2.2.3 Espansione
17.2.2.4 Espansione della tilde
17.2.2.5 Espansione di parametri e variabili
17.2.2.6 Sostituzione dei comandi
17.2.2.7 Espansione di espressioni aritmetiche
17.2.2.8 Suddivisione di parole
17.2.2.9 Espansione di percorso
17.2.3 Comandi
17.2.3.1 Valore restituito dai comandi: ''exit status''
17.2.3.2 Condotto
17.2.3.3 Lista di comandi
17.2.3.4 Avvio sullo sfondo con ''&''
17.2.3.5 Alias
17.2.4 Ridirezione
17.2.4.1 Ridirezione e script
17.2.5 Controllo dei job
17.2.6 Esecuzione dei comandi
17.2.7 Configurazione di ambiente
17.2.8 Particolarità importanti della shell Bash
17.2.8.1 File di configurazione
17.2.8.2 Opzioni
17.2.8.3 Uso sommario della tastiera
17.2.8.4 Invito o ''prompt''
17.3 Programmazione
17.3.1 Caratteristiche di uno script
17.3.2 Strutture
17.3.2.1 for
17.3.2.2 case
17.3.2.3 if
17.3.2.4 while
17.3.2.5 until
17.3.2.6 Funzioni
17.3.3 Espressioni aritmetiche
17.3.4 Comandi interni
17.3.4.1 Comando ''getopts''
17.3.4.2 Comando ''set''
17.4 Accesso ai file
17.4.1 Utilizzo dei descrittori
17.4.2 Lettura e scrittura
17.4.2.1 Gestione degli spazi
17.4.3 Contenuto senza file
17.5 Traduzione dei messaggi
17.5.1 Esempio iniziale
17.5.2 utilizzo più sofisticato
17.6 Libreria Readline
17.6.1 Comandi
17.6.2 Completamento automatico
17.6.3 Configurazione
17.6.4 Utilizzo di ''cle''
17.7 Tabelle riepilogative
17.7.1 Particolarità della shell Bash
17.7.2 Parametri comuni
17.7.3 Variabili di ambiente comuni
17.7.4 Espansione e sostituzione
17.7.5 Comandi e job
17.7.6 Ridirezione
17.7.7 Strutture di controllo
17.7.8 Comando ''echo''
17.7.9 Comando ''set''
17.7.10 Comando ''test''
17.7.11 Comando ''ulimit''
17.7.12 Altri comandi interni
17.8 Riferimenti
18 Script e affini
18.1 Eseguibili, interpretabili e automazione dell'interpretazione
18.1.1 Script
18.1.2 Programmi da interpretare che non sono script
18.1.3 Gestione del kernel dei binari eterogenei
18.1.3.1 Configurazione
18.1.3.2 Realizzazione pratica
18.2 Scansione di parole
18.2.1 Il ciclo ''for'' di una shell standard
18.2.2 Scansione con ''xargs''
18.3 Scansione delle opzioni della riga di comando
18.3.1 Programma ''getopt''
18.3.2 Il funzionamento di ''getopt'' nella versione dei programmi di servizio Linux
18.4 File temporanei
18.5 Ambiente
18.6 Interazione con l'utente
18.6.1 Utilizzo di ''echo'' e di ''printf''
18.6.2 Utilizzo di ''read''
18.6.3 Utilizzo di ''select''
18.6.4 Utilizzo di ''yes''
18.6.5 Dialog e simili
18.7 Espressioni
18.7.1 Utilizzo di ''false'' e ''true''
18.7.2 Utilizzo di ''test'' o di ''[''
18.7.3 Utilizzo di ''expr''
18.8 Ridirezione
18.8.1 Utilizzo di ''tee''
18.9 Pause
18.9.1 Utilizzo di ''sleep''
18.10 Raccolta di funzioni per una shell POSIX
18.10.1 Estrapola da ''/etc/passwd'' le righe di un certo intervallo di numeri UID
18.10.2 Estrapola da ''/etc/passwd'' le righe di un certo intervallo di numeri GID
18.10.3 Estrapola da ''/etc/group'' le righe di un certo intervallo di numeri GID
18.10.4 Seleziona un utente interattivamente
18.10.5 Seleziona un campo di una certa riga da un file come ''/etc/passwd'', ''/etc/group'' e simili
18.10.6 Aggiunge un utente Unix e Samba, simultaneamente
18.10.7 Cambia la parola d'ordine a un utente Unix e Samba, simultaneamente
18.10.8 Elimina un utente Unix e Samba, simultaneamente
18.10.9 Seleziona interattivamente salvando la selezione
18.10.10 Verifica che l'utente proprietario di un file possa accedervi
18.10.11 Verifica che il gruppo proprietario di un file possa accedervi
18.10.12 Verifica che gli utenti diversi possano accedere a un file
18.10.13 Estrapola il nome dell'utente proprietario di un file
18.10.14 Estrapola la directory personale di un utente
18.10.15 Estrapola il numero UID di un utente
18.11 Approfondimento: un esercizio con Dialog
18.11.1 Gestione dei file di testo
18.11.2 Copie delle versioni precedenti
18.11.3 Esportazione e importazione dati
18.11.4 Stampa
18.12 Riferimenti
19 Memoria di massa e file system
19.1 Introduzione alla memoria di massa
19.1.1 Nastro
19.1.2 Disco
19.1.2.1 Dischi fissi e rimovibili
19.1.2.2 Dischi magnetici
19.1.2.3 Geometria
19.1.2.4 Dischi magneto-ottici
19.1.2.5 Dischi ottici
19.1.2.6 Memorie solide
19.1.3 Collocazione e accesso ai dati
19.1.4 Partizioni secondo la modalità MS-Windows
19.1.4.1 MBR
19.1.4.2 Partizioni primarie ed estese
19.1.5 Firmware
19.1.6 Modalità di accesso ai settori
19.1.7 Memoria cache
19.1.8 File system Unix
19.1.8.1 Directory e inode
19.1.8.2 Collegamenti o ''link''
19.2 Preparazione e controllo
19.2.1 Preparazione dei file system
19.2.1.1 Utilizzo di ''badblocks''
19.2.1.2 Utilizzo di ''fdisk''
19.2.1.3 Utilizzo di ''cfdisk''
19.2.1.4 Utilizzo di ''sfdisk''
19.2.1.5 Salvataggio e recupero delle informazioni sulle partizioni principali
19.2.1.6 Sistemazione delle partizioni Dos-FAT
19.2.1.7 Utilizzo di ''mke2fs'', ''mkfs.ext2'', ''mkfs.ext3'' e ''mkfs.ext4''
19.2.1.8 Utilizzo di ''mkdosfs'' e ''mkfs.msdos''
19.2.1.9 Utilizzo di ''mkfs''
19.2.2 Controllo dei file system
19.2.2.1 Utilizzo di ''disktype''
19.2.2.2 Utilizzo di ''dumpe2fs''
19.2.2.3 Utilizzo di ''e2fsck'', ''fsck.ext2'', ''fsck.ext3'' e ''fsck.ext4''
19.2.2.4 Utilizzo di ''dosfsck'' e ''fsck.msdos''
19.2.2.5 Utilizzo di ''fsck''
19.2.2.6 La directory ''lost+found''
19.2.3 Gestione di file system NTFS
19.2.4 Compatibilità dei nomi tra un file system e l'altro
19.3 Memoria di massa: gestione delle partizioni
19.3.1 Gpart
19.3.2 Parted
19.3.3 Partimage
19.3.3.1 Archiviazione
19.3.3.2 Ripristino
19.4 Attivazione e utilizzo
19.4.1 Attivazione dei file system
19.4.1.1 Tipi di file system
19.4.1.2 Implicazioni legate all'innesto di un file system
19.4.1.3 Opzioni
19.4.1.4 Utilizzo di ''mount''
19.4.1.5 Utilizzo di ''umount''
19.4.1.6 File ''/etc/fstab''
19.4.1.7 File ''/etc/mtab''
19.4.1.8 Utilizzo di ''df''
19.4.1.9 Utilizzo di ''di''
19.4.1.10 Utilizzo di ''du''
19.4.1.11 Utilizzo di ''stat''
19.4.2 Memoria cache
19.5 Memoria virtuale
19.5.1 Creazione di una partizione o di un file di scambio
19.5.1.1 Partizione di scambio
19.5.1.2 File di scambio
19.5.2 Inizializzazione
19.5.3 Attivazione e disattivazione della memoria virtuale
19.5.3.1 Utilizzo di ''swapon'' e ''swapoff''
19.5.3.2 Gestione automatica attraverso il file ''/etc/fstab''
19.5.3.3 Procedura di inizializzazione del sistema
19.6 Controllo delle ''quote'' nei sistemi GNU/Linux
19.6.1 Quota utente e quota di gruppo
19.6.2 Configurazione con il file ''/etc/fstab''
19.6.3 Registrazione delle quote e attivazione del controllo
19.6.4 Quote relative a file system condivisi attraverso la rete
19.6.5 Utilizzo di ''quotacheck''
19.6.6 Utilizzo di ''quotaon'' e ''quotaoff''
19.6.7 Assegnazione e verifica delle quote
19.6.8 Utilizzo di ''setquota''
19.6.9 Utilizzo di ''edquota''
19.6.10 Utilizzo di ''repquota''
19.6.11 Utilizzo di ''quota''
19.7 Dischi ottici: file system
19.7.1 Caratteristiche di massima di un CD
19.7.2 Caratteristiche di massima di un DVD
19.7.3 Caratteristiche di massima di un BD
19.7.4 Creazione dell'immagine di un disco ottico
19.7.4.1 Estensioni Rock Ridge
19.7.4.2 Estensioni Zisofs
19.7.4.3 Estensioni El-Torito
19.7.4.4 Estensioni Joliet
19.7.4.5 Strumenti per la creazione di un file-immagine ISO 9660 e UDF
19.7.4.6 Esperimenti con il file system ISO 9660
19.7.4.7 ISOLINUX
19.8 Registrare su dischi ottici con GNU/Linux
19.8.1 Problemi legati alla scrittura di dischi ottici
19.8.2 Wodim
19.8.3 Growisofs e DVD+rw-format
19.8.4 Dischi ottici con file system inusuali
19.9 File system compressi
19.9.1 Cloop
19.9.2 Squashfs
19.9.3 Cramfs
19.9.4 Zisofs
19.10 Gestione della memoria di massa in modo ridondante
19.10.1 RAID
19.10.2 RAID hardware e software
19.10.3 RAID-1 via software con i sistemi GNU/Linux
19.10.3.1 Predisposizione del kernel
19.10.3.2 Partizioni e installazione
19.10.3.3 Sostituzione di un'unità difettosa
19.10.3.4 Situazioni più gravi
19.10.3.5 Aggiungere un'unità
19.10.3.6 Creare un sistema RAID-1 senza dover travasare i dati
19.11 FUSE: ''file system in user space''
19.11.1 Attivazione di FUSE
19.11.2 Limiti di accesso
19.11.3 Innesto e distacco
19.11.4 SSHfs
19.11.4.1 Utilizzo di SSHfs
19.11.4.2 Estendere le facoltà di accesso
19.11.5 CurlFtpFS
19.11.5.1 Configurazione
19.11.5.2 Utilizzo normale di CurlFtpFS
19.11.5.3 Estendere le facoltà di accesso
19.11.5.4 Altre opzioni
19.11.6 NTFSprogs e NTFS-3g
19.11.6.1 Innesto di un file system NTFS
19.11.6.2 Opzioni
19.11.7 EncFS
19.11.7.1 Un esempio per iniziare
19.11.7.2 Cura nell'uso di EncFS
19.11.7.3 Manutenzione di EncFS
19.11.7.4 Opzioni per facilitare l'accesso ai dati
19.12 Gerarchia del file system
19.12.1 Directory ''/'': la radice
19.12.2 Directory ''/bin/'' e ''/sbin/'': binari essenziali
19.12.3 Directory ''/boot/'': file statici per l'avvio del sistema
19.12.4 Directory ''/dev/'': file di dispositivo
19.12.5 Directory ''/etc/'': configurazione particolare del sistema
19.12.6 Directory ''/home/'': directory personali degli utenti
19.12.7 Directory ''/lib/'': librerie condivise essenziali e moduli del kernel
19.12.8 Directory ''/mnt/'': punto di innesto per l'inserzione temporanea di altri file system
19.12.9 Directory ''/opt/'': applicativi aggiunti
19.12.10 Directory ''/proc/'' e ''/sys/'': informazioni vitali sul kernel e sui processi
19.12.11 Directory ''/root/'': directory personale dell'utente root
19.12.12 Directory ''/tmp/'': file temporanei
19.12.13 Directory ''/usr/'': gerarchia secondaria «dati statici e condivisibili»
19.12.14 Directory ''/usr/bin/'' e ''/usr/sbin/'': binari non essenziali
19.12.15 Directory ''/usr/games/'': giochi e programmi didattici
19.12.16 Directory ''/usr/include/'': file di intestazione
19.12.17 Directory ''/usr/lib/'': librerie per la programmazione e per gli applicativi
19.12.18 Directory ''/usr/local/'': programmi locali
19.12.19 Directory ''/usr/share/'': dati indipendenti dall'architettura
19.12.20 Directory ''/usr/share/man/'': pagine di manuale
19.12.21 Directory ''/usr/share/misc/'': file di dati vari
19.12.22 Directory ''/usr/src/'': sorgenti
19.12.23 Directory ''/var/'': dati variabili
19.12.24 Directory ''/var/cache/'': directory per la memorizzazione transitoria
19.12.25 Directory ''/var/lock/'': file per il controllo dell'accesso alle risorse
19.12.26 Directory ''/var/log/'': file delle registrazioni
19.12.27 Directory ''/var/mail/'': caselle postali degli utenti
19.12.28 Director ''/var/opt/'': dati variabili per gli applicativi aggiuntivi
19.12.29 Directory ''/var/run/'': dati variabili di esecuzione
19.12.30 Directory ''/var/spool/'': code di dati
19.12.31 Directory ''/var/tmp/'': file temporanei preservati all'avvio del sistema
19.13 Approfondimenti
19.13.1 Inizializzazione a basso livello dei dischetti
19.13.1.1 Utilizzo di ''fdformat''
19.13.1.2 Utilizzo di ''superformat''
19.13.2 Dischi senza partizioni
19.13.3 File-immagine
19.13.3.1 Creazione di un file-immagine normale
19.13.3.2 Accedere a un file-immagine normale
19.13.3.3 File-immagine suddiviso in partizioni
19.13.3.4 trasferimento di un file-immagine in un'unità reale
19.13.4 Unità di memorizzazione senza file system
19.13.5 Controllo dell'unità per dischi ottici
19.13.6 Estrazione della prima traccia dati
19.13.6.1 Verifica di un disco appena registrato
19.14 Riferimenti
20 File e directory
20.1 Unità di riferimento
20.2 Directory
20.2.1 Utilizzo di ''mkdir''
20.2.2 Utilizzo di ''rmdir''
20.3 Percorsi
20.3.1 Utilizzo di ''pwd''
20.3.2 Utilizzo di ''basename''
20.3.3 Utilizzo di ''dirname''
20.3.4 Utilizzo di ''namei''
20.3.5 Utilizzo di ''pathchk''
20.4 Contenuti
20.4.1 Utilizzo di ''ls'', ''dir'' e ''vdir''
20.4.2 Utilizzo di ''dircolors''
20.4.3 Utilizzo di ''file''
20.4.4 Utilizzo di ''du''
20.5 Collocazione degli eseguibili
20.5.1 Utilizzo di ''which''
20.5.2 Utilizzo di ''whereis''
20.6 Proprietà
20.6.1 Utilizzo di ''chown''
20.6.2 Utilizzo di ''chgrp''
20.7 Modalità dei permessi
20.7.1 SGID e SUID
20.7.2 Maschera dei permessi: umask
20.7.3 Utilizzo di ''chmod''
20.8 Attributi speciali
20.8.1 Utilizzo di ''chattr''
20.8.2 Utilizzo di ''lsattr''
20.9 ACL POSIX con i sistemi GNU/Linux
20.9.1 Kernel, file system e programmi di servizio
20.9.2 ACL POSIX
20.9.3 ACL in pratica
20.9.4 Ereditarietà
20.10 Data
20.10.1 Utilizzo di ''touch''
20.11 Copia e collegamento
20.11.1 Collegamenti simbolici
20.11.2 Collegamenti fisici
20.11.3 Directory e collegamenti fisici
20.11.4 Errori comuni con i collegamenti simbolici
20.11.5 Utilizzo di ''cp''
20.11.6 Utilizzo di ''ln''
20.11.7 Utilizzo di ''install''
20.11.8 Utilizzo di ''dd''
20.11.9 Utilizzo di ''ddrescue''
20.12 Spostamento e cancellazione
20.12.1 Utilizzo di ''mv''
20.12.2 Utilizzo di ''rm''
20.12.3 Cestino personale
20.12.4 Utilizzo di ''unlink''
20.12.5 Utilizzo di ''shred''
20.13 Archiviazione
20.13.1 Utilizzo di Cpio
20.13.2 Utilizzo di Tar
20.14 Compressione
20.14.1 Utilizzo di ''gzip'', ''gunzip'' e ''zcat''
20.14.2 Utilizzo di ''bzip2'' e ''bunzip2''
20.14.3 UPX
20.14.4 Utilizzo di ''unp'' e di ''ucat''
20.15 File FIFO
20.15.1 Utilizzo di ''mkfifo''
20.16 File di dispositivo
20.16.1 Utilizzo di ''mknod''
20.16.2 File ''/dev/MAKEDEV''
20.17 Tabelle riepilogative
20.18 Riferimenti
21 Cancellazione, recupero e copie di sicurezza
21.1 Recupero dei dati cancellati
21.1.1 Recupero da un file system generico con Foremost
21.2 Libreria per la conservazione dei dati cancellati
21.2.1 Variabile di ambiente ''LD.PRELOAD''
21.2.2 Delsafe
21.2.3 Preparazione di Libdelsafe
21.2.4 Predisposizione dei cestini
21.2.5 Script ausiliari a Libdelsafe
21.3 Controllo dello spazio rimasto libero
21.3.1 Secure-delete
21.3.2 Esempio di programma per la sovrascrittura dello spazio libero
21.4 Copie di sicurezza
21.4.1 Archiviazione
21.4.2 Percorsi assoluti o relativi
21.4.3 Strategia nelle copie
21.4.4 Generazioni delle copie
21.4.5 Livelli delle copie
21.4.6 Distribuire le responsabilità
21.4.7 Supporti
21.4.8 Compressione
21.5 Archiviazione e recupero attraverso tar e gzip
21.5.1 Archiviazione diretta su dispositivi di memorizzazione
21.5.2 Archiviazione normale su file
21.5.3 Archiviazione e percorsi
21.5.4 Archiviazione di periodi
21.5.5 Archiviazione limitata a un'unità
21.5.6 Estrazione dei percorsi
21.5.7 Recupero
21.5.8 Recupero parziale
21.5.9 Elenco e controllo
21.5.10 Archiviazione di un file system
21.5.11 Strumenti per il recupero
21.6 Riferimenti
22 Programmi di servizio vari
22.1 Gestione dei file di testo
22.1.1 Codice di interruzione di riga
22.1.2 Spazi
22.2 Riemissione completa di un file di testo
22.2.1 Utilizzo di ''cat''
22.2.2 Utilizzo di ''tac''
22.2.3 Utilizzo di ''nl''
22.2.4 Utilizzo di ''od''
22.2.5 Utilizzo di ''rev''
22.2.6 Utilizzo di ''dog''
22.3 Rimpaginazione di un file di testo
22.3.1 Utilizzo di ''fmt''
22.3.2 Utilizzo di ''pr''
22.3.3 Utilizzo di ''fold''
22.3.4 Utilizzo di ''column''
22.3.5 Utilizzo di ''colrm''
22.4 Composizione
22.4.1 Utilizzo di ''col'' e di ''colcrt''
22.4.2 Utilizzo di ''ul''
22.5 Estrazione parziale e statistiche
22.5.1 Utilizzo di ''head''
22.5.2 Utilizzo di ''tail''
22.5.3 Utilizzo di ''split''
22.5.4 Utilizzo di ''csplit''
22.5.5 Utilizzo di ''wc''
22.6 Ordinamento di un file di testo
22.6.1 Utilizzo di ''sort''
22.6.2 Utilizzo di ''uniq''
22.6.3 Utilizzo di ''comm''
22.7 Campi
22.7.1 Utilizzo di ''cut''
22.7.2 Utilizzo di ''paste''
22.7.3 Utilizzo di ''join''
22.8 Conversione
22.8.1 Utilizzo di ''expand''
22.8.2 Utilizzo di ''unexpand''
22.9 Traslitterazione o cancellazione di caratteri
22.9.1 Rappresentazione dei caratteri in una stringa di ''tr''
22.9.2 Traslitterazione
22.9.3 Cancellazione e compattamento
22.10 Controlli sommari
22.10.1 Utilizzo di ''sum''
22.10.2 Utilizzo di ''cksum''
22.10.3 Utilizzo di ''md5sum''
22.10.4 Utilizzo di ''sha1sum''
22.11 Lettura di file binari
22.11.1 Utilizzo di ''hexdump'' o di ''hd''
22.11.2 Utilizzo di ''hexcat''
22.12 Differenze tra i file
22.12.1 Creazione di un file di differenze con ''diff''
22.12.1.1 Regolazione della sensibilità di ''diff''
22.12.1.2 Confronto binario o testuale
22.12.1.3 Differenze senza contesto
22.12.1.4 Formato contestuale standard
22.12.1.5 Formato contestuale unificato
22.12.1.6 Confronto dei file di due directory
22.12.1.7 Come si prepara un file di differenze
22.12.2 Applicazione delle modifiche con ''patch''
22.12.2.1 Definizione dei file da modificare e del file di differenze
22.12.2.2 Definizione esplicita del formato del file di differenze
22.12.2.3 Differenze multiple e directory
22.12.2.4 Conservazione delle versioni precedenti
22.12.2.5 Applicazione di modifiche imperfette
22.12.2.6 Altre anomalie
22.12.2.7 Differenze invertite
22.13 Elaborazioni matematiche
22.13.1 Utilizzo di ''factor''
22.13.2 Utilizzo di ''seq''
22.14 BC: linguaggio aritmetico a precisione arbitraria
22.14.1 Base di numerazione
22.14.2 Approssimazione
22.14.3 Linguaggio di programmazione
22.14.3.1 Variabili semplici e array
22.14.3.2 Funzioni
22.14.3.3 Emissione delle informazioni
22.14.3.4 Espressioni
22.14.3.5 Funzioni standard
22.14.3.6 Strutture di controllo di flusso
22.14.4 Utilizzo di BC
22.14.5 BC nella realizzazione GNU
22.15 Creazione e modifica di file di testo: VI
22.15.1 Avvio
22.15.2 Modalità di funzionamento
22.15.3 Posizione attiva
22.15.4 Moltiplicatori
22.15.5 Inserimento
22.15.6 Navigazione
22.15.7 Modificatori
22.15.8 Cancellazione
22.15.9 Sostituzione
22.15.10 Copia e spostamento di porzioni di testo
22.15.11 Copia e spostamento con nome
22.15.12 Ricerche
22.15.13 Ricerche e sostituzioni
22.15.14 Annullamento dell'ultimo comando
22.15.15 Caricamento, salvataggio e conclusione
22.15.16 Variabili
22.15.17 Comandi particolari
22.15.18 File di configurazione
22.15.19 Problemi di portabilità
22.16 File manager: Midnight Commander
22.16.1 Funzionamento
22.16.2 Avvio di Midnight Commander
22.16.3 Uso del mouse
22.16.4 Tastiera
22.16.5 Menù
22.16.6 Configurazione
22.16.7 File system virtuali
22.17 Mcedit: programma integrato per la gestione dei file di testo
22.17.1 Avvio
22.17.2 Configurazione
22.17.3 Comandi comuni
22.17.4 Blocchi di testo e le funzionalità di taglia-copia-incolla
22.17.5 Composizione del testo
22.17.6 Macro
22.17.7 Ricerche e sostituzioni
22.17.8 Collegamento ''mcedit'' e variabile di ambiente ''EDITOR''
22.17.9 Limiti di memoria
22.18 Giochi e simili
22.18.1 Banner
22.18.2 Arithmetic
22.18.3 Primes
22.18.4 POM
22.18.5 Worms
22.18.6 Rain
22.18.7 Fortune
22.18.8 Worm
22.18.9 Tetris
22.19 Alternative nella distribuzione Debian
22.19.1 Organizzazione particolare della distribuzione Debian
22.19.2 Organizzare manualmente un sistema di alternative
22.20 Riferimenti
23 Ricerca, scansione ed elaborazione di file
23.1 Espressioni regolari standard
23.1.1 RE: BRE e ERE
23.1.2 Problemi di localizzazione
23.1.3 Composizione di un'espressione regolare e corrispondenza
23.1.3.1 Ancoraggio iniziale e finale
23.1.3.2 Delimitazione di una o più sottoespressioni
23.1.3.3 Riferimento a una sottoespressione precedente «solo BRE»
23.1.3.4 Sottoespressioni alternative «solo ERE»
23.1.3.5 Corrispondenza con un carattere singolo
23.1.3.6 Corrispondenze multiple
23.1.4 Espressioni tra parentesi quadre
23.1.4.1 Corrispondenza con un elemento di collazione
23.1.4.2 Corrispondenza con una classe di equivalenza
23.1.4.3 Corrispondenza con una classe di caratteri
23.1.4.4 Intervalli di caratteri
23.1.4.5 Protezione all'interno di espressioni tra parentesi quadre
23.1.5 Precedenze
23.2 Confronto sintetico tra le espressioni regolari ''reali''
23.3 Grep
23.3.1 Grep e Gzip integrati
23.4 Find
23.5 SED
23.5.1 Avvio dell'eseguibile
23.5.2 Logica di funzionamento
23.5.3 Script e direttive multiple
23.5.4 Direttive
23.5.5 Esempi
23.6 Introduzione a AWK
23.6.1 Principio di funzionamento e struttura fondamentale
23.6.1.1 Selezione e azione predefinita
23.6.1.2 Campi
23.6.1.3 Criterio di selezione e condizioni particolari
23.6.1.4 Un programma banale per cominciare
23.6.1.5 Variabili predefinite
23.6.1.6 Struttura ideale di un programma AWK
23.6.2 Avvio dell'interprete
23.6.3 Espressioni
23.6.3.1 Costanti
23.6.3.2 Campi e Variabili
23.6.3.3 Operazioni e operatori
23.6.3.4 Conversione tra stringhe e numeri
23.6.3.5 Esempi di espressioni
23.6.4 Istruzioni
23.6.4.1 Istruzioni fondamentali
23.6.4.2 Ridirezione dell'output
23.6.4.3 Strutture di controllo di flusso
23.6.4.4 Chiamata di funzione e funzioni predefinite
23.6.5 Variabili predefinite
23.6.6 Esempi
23.6.7 Dichiarazione di funzioni
23.6.8 Array
23.6.8.1 Dichiarazione e utilizzo di un array
23.6.8.2 Scandire gli elementi di un array
23.6.8.3 Cancellazione di un elemento
23.6.8.4 Indici numerici e indici ''nulli''
23.6.8.5 Trasformare una stringa delimitata in un array
23.6.8.6 Array pseudo-multidimensionali
23.7 Introduzione a M4
23.7.1 Principio di funzionamento
23.7.2 Convenzioni generali
23.7.2.1 Macro
23.7.2.2 Definizione di una macroistruzione
23.7.2.3 Simboli speciali
23.7.2.4 Eliminazione di una macroistruzione
23.7.3 Istruzioni condizionali, iterazioni e ricorsioni
23.7.3.1 Macro ''ifdef''
23.7.3.2 Macro ''ifelse''
23.7.3.3 Macro ''shift''
23.7.3.4 Macro ''forloop''
23.7.4 Altre macroistruzioni interne degne di nota
23.7.4.1 Macro ''dnl''
23.7.4.2 Macro ''changecom''
23.7.4.3 Macro ''include'' e ''sinclude''
23.7.4.4 Macro ''divert'' e ''undivert''
23.8 Riferimenti
24 Perl
24.1 Struttura fondamentale
24.1.1 Istruzioni
24.1.2 Nomi
24.1.3 Contesto operativo
24.1.4 Tipi di dati
24.1.5 Esecuzione dei programmi Perl
24.2 Variabili e costanti scalari
24.2.1 Variabili
24.2.2 Variabili predefinite
24.2.3 Costanti
24.2.3.1 Costanti numeriche
24.2.4 Esempi
24.3 Array e liste
24.3.1 Liste
24.3.2 Array
24.4 Array associativi o hash
24.5 Operatori ed espressioni
24.5.1 Operatori che intervengono su valori numerici, stringhe e liste
24.5.2 Operatori logici
24.5.3 Operatori particolari
24.5.4 Raggruppamenti di espressioni
24.6 Strutture di controllo del flusso
24.6.1 Strutture condizionali: ''if'' e ''unless''
24.6.2 Iterazioni con condizione di uscita iniziale: ''while'' e ''until''
24.6.3 Iterazioni con condizione di uscita finale: ''do-while'' e ''do-until''
24.6.4 Iterazione enumerativa: ''for''
24.6.5 Iterazione con scansione di valori: ''foreach''
24.6.6 Istruzioni condizionate
24.7 Funzioni interne
24.8 Input e output dei dati
24.8.1 Esecuzione di comandi di sistema
24.8.2 Gestione dei file
24.8.3 File globbing
24.9 Funzioni definite dall'utente
24.9.1 Chiamata per riferimento e chiamata per valore
24.9.2 Campo di azione delle variabili
24.10 Variabili contenenti riferimenti
24.10.1 Riferimenti diretti
24.10.2 Riferimenti simbolici
24.10.3 Dereferenziazione
24.10.4 Array multidimensionali
24.10.5 Alias
24.11 Avvio di Perl
24.12 Operatori di delimitazione di stringhe
24.12.1 Stringa letterale non interpolata: ''q//'' o ''' '''
24.12.2 Stringa letterale interpolata: ''qq//'' o ''. .''
24.12.3 Comando di sistema: ''qx//'' o ''. .''
24.12.4 Lista di parole: ''qw//''
24.12.5 Modello di confronto: ''m//'' o ''//''
24.12.6 Modello di sostituzione: ''s//''
24.12.7 Sostituzione di caratteri: ''tr//'' o ''y//''
24.13 Espressioni regolari
24.13.1 Modificatori
24.13.2 Metacaratteri
24.13.3 Classi di caratteri
24.13.4 Qualificatori: operatori di ripetizione
24.13.5 Raggruppamenti
24.14 Gestione generale dei file
24.14.1 Apertura
24.14.2 Codifica di file già aperti
24.14.3 Chiusura
24.15 Condivisione dei file
24.15.1 Blocco dei file
24.16 I/O con i file
24.16.1 Lettura
24.16.2 Scrittura
24.16.3 Spostamento del puntatore
24.16.4 Identificazione dei flussi di file
24.17 Funzioni interne
24.17.1 File
24.17.2 Directory
24.17.3 I/O
24.17.4 Interazione con il sistema
24.17.5 Funzioni matematiche
24.17.6 Funzioni di conversione
24.17.7 Gestione delle espressioni
24.17.8 Array e hash
24.17.9 Controllo dell'esecuzione del programma
24.18 Riferimenti
25 Introduzione a *roff
25.1 Logica di funzionamento ed esempio di partenza
25.1.1 Avvio degli eseguibili ''troff'' e ''nroff''
25.1.2 Macro e stile
25.1.3 Istruzioni contenute nel testo sorgente
25.1.4 Spazi superflui
25.1.5 Esempio per cominciare
25.2 Istruzioni fondamentali di Troff
25.2.1 Argomenti numerici e unità di misura
25.2.2 Dimensione e distanza tra le righe
25.2.3 Caratteri da stampa
25.2.4 Rientri e dimensioni varie
25.2.5 Allineamento e interruzione del testo
25.2.6 Tabulazioni
25.2.7 Comandi che causano un ''break''
25.2.8 Macro
25.2.9 Margini e Intestazioni
25.2.10 Ambienti
25.2.11 Titoli
25.2.12 Importazione di file esterni
25.3 Precompilatori
25.3.1 Tbl
25.3.2 Eqn
25.4 Groff
25.5 Documentazione Man
25.6 Riferimenti
26 Formati per la stampa
26.1 PostScript
26.1.1 File PostScript
26.1.2 Ghostscript
26.1.3 Ghostscript e HPIJS
26.1.4 Ghostscript per ingrandire le immagini EPS
26.1.5 Anteprima di stampa
26.1.6 Distillazione
26.1.7 Estrazione di disegni
26.1.7.1 Pstoedit
26.2 Rielaborazione PostScript
26.2.1 Sequenza di stampa
26.2.1.1 Piega doppia
26.2.2 PSUtils
26.2.2.1 Utilizzo di ''psresize''
26.2.2.2 Utilizzo di ''psselect''
26.2.2.3 Utilizzo di ''psnup''
26.2.2.4 Utilizzo di ''psbook''
26.2.2.5 Utilizzo di ''pstops''
26.2.2.6 Esempi particolari
26.2.3 Problemi di allineamento della stampa
26.3 DVI
26.3.1 Dvips
26.3.1.1 Configurazione di Dvips
26.3.1.2 Riga di comando di Dvips
26.3.2 Dvipdfm
26.3.3 Anteprima di stampa
26.3.4 Dvilj
26.3.5 Programmi di servizio vari sul formato DVI
26.3.5.1 Utilizzo di ''dvicopy''
26.3.5.2 Utilizzo di ''dviselect''
26.3.5.3 Utilizzo di ''dvidvi''
26.3.5.4 Utilizzo di ''dviconcat''
26.3.5.5 Utilizzo di ''dvi2fax''
26.3.5.6 Utilizzo di ''dvipng''
26.3.5.7 Utilizzo di ''dvired''
26.4 PDF
26.4.1 Xpdf
26.4.1.1 Utilizzo di ''pdftops''
26.4.1.2 Utilizzo di ''pdftotext''
26.4.1.3 Utilizzo di ''pdfimages''
26.4.1.4 Utilizzo di ''pdffonts''
26.4.1.5 Utilizzo di ''pdfinfo''
26.4.2 Okular
26.4.3 Modifica di file PDF
26.4.4 Filtro di stampa
26.5 Riferimenti
27 Stampare
27.1 Introduzione alla stampa
27.1.1 Dispositivi e stampa brutale
27.1.2 Visione generale e astratta
27.1.3 Problemi collegati con la stampa remota
27.1.4 Filtri di stampa
27.1.5 Stampanti virtuali multiple
27.1.6 Quando il meccanismo dei filtri non funziona bene
27.2 Sistema di stampa BSD o compatibile
27.2.1 Configurazione con ''/etc/printcap''
27.2.2 Servizio di stampa
27.2.3 Stampante predefinita
27.2.4 Clienti di stampa
27.2.5 Esame delle code di stampa
27.2.6 Rimozione dei processi di stampa dalle code
27.2.7 Controllo del sistema di stampa
27.2.8 Particolarità del sistema BSD vero e proprio
27.2.9 Particolarità di LPRng
27.2.10 Stampare attraverso X con un sistema di stampa BSD
27.2.11 Librerie GTK 2
27.2.12 Sviluppo successivo
27.3 Stampa remota attraverso Rlpr
27.4 Stampa automatica da un file
27.5 File e filtri per la stampa
27.5.1 File per la stampa
27.5.2 Filtri di stampa
27.5.2.1 Filtro diagnostico
27.5.2.2 Filtri elementari
27.5.2.3 Filtri PostScript
27.5.2.4 Problemi
27.5.2.5 Filtri sofisticati
27.5.3 Magicfilter
27.5.3.1 Configurazione di Magicfilter
27.5.3.2 Funzionamento e utilizzazione pratica di Magicfilter
27.5.4 PostScript printer description
27.5.5 Foomatic-RIP
27.5.6 Controllo dell'impostazioni della carta
27.6 Uniformità del sistema di stampa: da testo a PostScript
27.6.1 A2ps
27.6.2 Enscript
27.7 Filtri particolari con LPRng
27.7.1 Schema di funzionamento
27.7.2 Script ''lpr'' e ''lp''
27.7.3 Funzioni usate da ''client-side-print-filter''
27.7.4 Lo script ''client-side-print-filter''
27.8 Introduzione a Cups
27.8.1 Visione generale
27.8.2 Stampanti logiche, classi e istanze
27.8.3 Configurazione di una stampante locale
27.8.4 Configurazione di una stampante remota
27.9 Cups: programmi di servizio e configurazione
27.9.1 Individuazione automatica delle stampanti
27.9.2 Amministrazione
27.9.3 Configurazione principale del servizio di stampa
27.9.4 Configurazione dal lato dei clienti
27.9.5 Utilizzo comune attraverso la riga di comando
27.9.6 Personalizzazione dal lato cliente
27.9.6.1 Istanze
27.9.7 Accesso remoto
27.9.7.1 Configurazione per l'accesso remoto al servente IPP Cups
27.9.7.2 Accesso a una coda remota
27.9.7.3 Autenticazione digest
27.9.7.4 Problemi di accesso attraverso un proxy
27.9.8 Compatibilità con il sistema di stampa BSD
27.9.9 Considerazioni finali
27.10 Riferimenti
28 X
28.1 Struttura
28.1.1 Hardware
28.1.2 Cliente-servente
28.2 X.Org
28.3 Lettura del file di configurazione
28.4 Accesso a un servente di caratteri
28.5 Funzionamento e accesso
28.5.1 Procedura di avvio
28.5.1.1 Utilizzo di ''xinit''
28.5.1.2 Utilizzo di ''startx''
28.5.1.3 Script ''./.xinitrc''
28.5.1.4 Configurazione globale e sequenza di script
28.5.2 Privilegi per il funzionamento di un servente grafico
28.5.3 Stazioni grafiche virtuali multiple
28.5.4 Definizione dello schermo
28.5.5 Accedere allo schermo
28.5.5.1 Utilizzo di ''xauth''
28.5.5.2 Utilizzo di ''mcookie''
28.5.5.3 Riepilogo sull'utilizzo del file di autorizzazione
28.5.5.4 Utilizzo di ''xhost''
28.5.5.5 Utilizzo di ''xon''
28.5.6 Accedere allo schermo con Secure Shell
28.5.7 Cambiare identità
28.5.8 Tipi di carattere
28.5.9 X e l'uso senza dispositivo di puntamento
28.6 La tastiera e la sua configurazione ''elementare''
28.6.1 Livelli, tasti morti, composizione e gruppi
28.6.2 Configurazione elementare
28.6.3 Geometria
28.7 Configurazione più dettagliata della tastiera e del mouse
28.7.1 Componenti della configurazione
28.7.2 Modificatori
28.7.3 Configurazione
28.7.3.1 Sintesi della configurazione
28.7.3.2 Aggiungere nuovi file di configurazione
28.7.4 Configurazione con ''xmodmap''
28.7.4.1 Utilizzo di ''xmodmap''
28.7.4.2 Configurazione della tastiera numerica
28.7.4.3 Configurazione dei tasti del mouse
28.7.4.4 Riconfigurazione della mappa della tastiera
28.8 Metodi di inserimento intelligente con SCIM
28.8.1 SCIM
28.8.2 Attivazione del metodo di inserimento intelligente
28.8.3 La configurazione locale
28.8.4 Utilizzo
28.9 Gestore di finestre: Fvwm
28.10 Accorgimenti per la costruzione di un menù
28.10.1 Verifica della disponibilità
28.10.2 Verificare che un programma non sia già in funzione
28.10.3 Informare della fase di avvio del programma
28.10.4 Mettere assieme le varie fasi di controllo
28.10.5 Innesto di un file system
28.10.6 Separazione di un file system
28.11 X: login grafico
28.11.1 Configurazione generale
28.11.2 Utilizzo attraverso la rete
28.11.3 Avvio
28.11.4 Xdm
28.11.5 Gdm
28.11.6 Kdm
28.11.7 Wdm
28.12 Sessione
28.12.1 Il problema che motiva il concetto di ''sessione''
28.12.2 Gli script che controllano l'avvio della sessione
28.12.3 Gestori di sessione
28.12.4 Gnome
28.12.4.1 Gnome control center
28.12.4.2 Gnome panel
28.12.5 KDE
28.12.5.1 Kpersonalizer
28.12.5.2 Kcontrol
28.12.5.3 Kmenuedit
28.12.5.4 Khelpcenter
28.13 Accesso remoto alla sessione di lavoro
28.13.1 Funzionamento di VNC in generale
28.13.2 Avvio e conclusione del funzionamento del servente VNC in un sistema GNU
28.13.3 Avvio del servente VNC in condizioni difficili in un sistema GNU
28.13.4 Configurazione e utilizzo dei caratteri tipografici
28.13.5 Accesso a un servente VNC
28.13.6 Utilizzo comune di VNC
28.13.7 VNC attraverso un tunnel cifrato con il protocollo SSH
28.13.8 Inserire VNC automaticamente all'avvio di X
28.13.9 RealVNC e TightVNC
28.13.10 Script ''vncrc''
28.13.11 Conclusione
28.14 Composizione video
28.15 Il futuro di X
28.16 Riferimenti
29 Applicazioni comuni per X
29.1 X: configurazione dei clienti
29.1.1 Riga di comando delle applicazioni X
29.1.1.1 Opzione ''.display''
29.1.1.2 Opzione ''.geometry''
29.1.1.3 Opzione ''.background''
29.1.1.4 Opzione ''.foreground''
29.1.1.5 Opzione ''.title''
29.1.1.6 Opzione ''.font''
29.1.2 Risorse
29.1.2.1 Nomi delle risorse
29.1.2.2 Configurazione delle applicazioni
29.1.2.3 Altre risorse
29.1.2.4 Utilizzo di ''xrdb''
29.1.2.5 Opzione ''.xrm''
29.2 Programmi di servizio tradizionali
29.2.1 Terminale
29.2.2 Clipboard
29.2.2.1 Utilizzo di ''xclipboard''
29.2.3 Caratteri
29.2.3.1 Utilizzo di ''xlsfonts''
29.2.3.2 Utilizzo di ''xfontsel''
29.2.3.3 Utilizzo di ''xfd''
29.2.4 Informazioni sulle finestre e sul servente
29.2.4.1 Utilizzo di ''xwininfo''
29.2.4.2 Utilizzo di ''xdpyinfo''
29.2.5 Impostazione dello schermo
29.2.5.1 Utilizzo di ''xset''
29.2.5.2 Utilizzo di ''xsetroot''
29.2.5.3 Disegno del puntatore del mouse
29.2.6 Programmi di servizio vari
29.2.6.1 Utilizzo di ''xclock''
29.2.6.2 Utilizzo di ''xcalc''
29.3 Gestori di file
29.3.1 XFE
29.3.2 Nautilus
29.3.3 Konqueror
29.3.4 File-roller
29.4 Accesso remoto tradizionale
29.4.1 Putty
29.5 Monitor di vario tipo
29.5.1 Gmemusage
29.5.2 Etherape
29.6 Applicativi comuni per l'ufficio
29.6.1 LibreOffice
29.6.2 Gnumeric
29.6.3 AbiWord
29.6.4 XFig
29.6.4.1 Formato FIG
29.6.4.2 Struttura generale dell'interfaccia grafica del programma
29.6.4.3 Utilizzo comune del mouse
29.6.4.4 Esportazione e importazione di formati differenti
29.7 Riferimenti
30 Immagini, audio e video
30.1 File multimediali: contenitori e contenuti.
30.1.1 Impronta
30.1.2 Intestazioni
30.1.3 Etichette
30.1.4 Involucri
30.1.5 Exif
30.1.6 ID3
30.2 Exiftool
30.2.1 Tipi di informazioni
30.2.2 Modifica delle informazioni
30.3 Uso dello scanner con SANE
30.3.1 Lucchetto
30.3.2 Schema generale
30.3.3 Configurazione
30.3.4 Gruppo ''scanner''
30.3.5 Individuazione dello scanner locale
30.3.6 Permessi
30.3.7 Raggiungere uno scanner attraverso la rete
30.3.7.1 Problemi tra cliente e servente
30.3.8 Utilizzo di ''scanimage''
30.3.9 Altri programmi frontali
30.3.10 Pagine di manuale
30.4 Gestione delle immagini
30.4.1 Programmi specifici per la cattura dallo schermo
30.4.1.1 Utilizzo di ''xwd''
30.4.1.2 Utilizzo di ''xwud''
30.4.1.3 Utilizzo di ''xgrab''
30.4.2 Xloadimage
30.4.2.1 Avvio del programma
30.4.2.2 Opzioni globali
30.4.2.3 Opzioni particolari
30.4.2.4 Opzioni del tipo di immagine
30.4.2.5 Configurazione
30.4.3 XPaint
30.4.4 Gimp
30.4.5 ImageMagick
30.4.5.1 Utilizzo di ''convert''
30.4.5.2 Utilizzo di ''mogrify''
30.4.5.3 Utilizzo di ''animate''
30.4.5.4 Utilizzo di ''montage''
30.4.5.5 Utilizzo di ''import''
30.4.5.6 Utilizzo di ''display''
30.4.6 GraphicsMagick
30.4.7 Kolourpaint
30.4.8 Gpaint
30.4.9 Tuxpaint
30.4.10 Geeqie, ex GQview
30.5 Concetti generali su audio e sui formati audio digitali
30.5.1 Numero ISRC
30.5.2 Composizione del suono
30.5.3 Rappresentazione digitale del suono
30.5.4 Formati audio non compressi
30.5.5 Formati audio compressi
30.5.6 Informazioni di un contenitore MP3
30.5.7 Informazioni di un contenitore Ogg
30.6 Lettore CD audio
30.6.1 Dcd
30.6.2 TCD
30.6.3 Cdcd
30.6.4 AsCD
30.6.5 Gcd
30.6.6 CDDB
30.7 Tracce CDDA
30.7.1 Cdparanoia
30.7.2 Grip
30.8 Etichette e copertine
30.8.1 Disc-Cover
30.8.2 Cdlabelgen
30.9 Audio con i sistemi GNU/Linux
30.9.1 File di dispositivo
30.10 Gestione della scheda audio
30.10.1 Aumix
30.10.1.1 Funzionamento interattivo di Aumix
30.10.1.2 Avvio di Aumix
30.10.1.3 Configurazione
30.10.2 Alsamixer
30.10.3 Gnome-volume-control
30.10.4 Esecuzione e registrazione di brani campionati
30.10.5 Wavtools
30.10.6 Sound-recorder
30.10.7 Aplay e Arecord
30.10.8 Sox
30.10.8.1 Avvio dell'eseguibile
30.10.8.2 Riduzione del rumore
30.10.8.3 Regolazione del volume
30.10.8.4 Script play e rec
30.10.9 Normalize
30.10.10 Xwave
30.10.11 Audacity
30.11 Sintesi vocale
30.11.1 eSpeak
30.11.1.1 Scelta del linguaggio
30.11.1.2 Modifica dell'intonazione e della cadenza
30.11.1.3 Controllo dell'input e dell'output
30.12 MIDI
30.12.1 File MIDI
30.12.2 Midge
30.12.3 Timidity++
30.13 Programmi per la gestione di formati audio compressi
30.13.1 MP3info
30.13.2 LAME
30.13.3 Toolame
30.13.4 Vorbis Tools
30.13.5 Flac
30.13.6 Mpg321
30.13.7 MP3blaster
30.13.8 Xmms
30.13.9 FreeAmp
30.13.10 Zinf
30.14 Audio attraverso la rete
30.14.1 Icecast 1
30.14.1.1 Trasmissione al ripetitore
30.14.1.2 Ricezione del flusso audio digitale
30.14.2 Ricezione di radio attraverso Internet
30.14.2.1 Applicativi comuni per la ricezione di stazioni radio via Internet
30.14.2.2 Indirizzi di accesso a stazioni radio via Internet
30.14.2.3 Streamtuner
30.14.2.4 Streamripper
30.15 Concetti generali sui formati video digitali
30.15.1 Composizione di un'immagine fissa
30.15.2 Dall'immagine fissa al filmato
30.15.3 Digitalizzazione di un filmato
30.15.4 Confezionamento di un filmato
30.15.5 Contenitore multimediale
30.15.6 Trasformazione in teoria
30.15.7 Trasformazione di un formato ''multiplex''
30.16 Programmi per l'esecuzione di filmati digitali
30.17 Programmi per la registrazione video dello schermo
30.18 Elaborazione di formati video
30.18.1 FFmpeg
30.18.2 Mjpegtools
30.18.2.1 Utilizzo di ''jpeg2yuv'' e di ''png2yuv''
30.18.2.2 Utilizzo di ''yuvplay''
30.18.2.3 Utilizzo di ''mpeg2enc''
30.18.2.4 Utilizzo di ''mplex''
30.18.3 Transcode
30.18.4 Creazione di un filmato da un'immagine fissa
30.18.5 Funzioni per l'elaborazione dei filmati quadro per quadro
30.19 Introduzione ai DVD video
30.19.1 Descrizione superficiale dell'organizzazione di un DVD video
30.19.2 Copia di un DVD video normale
30.19.3 Copia parziale di un DVD video normale
30.19.4 Utilizzo di Dvdbackup
30.19.5 Primi esperimenti per realizzare un DVD con contenuti propri
30.19.6 Inserire delle diapositive in un DVD video
30.19.7 Menù di un DVD video
30.19.8 Creazione di un DVD con menù
30.20 DVDStyler
30.20.1 Avvio di DVDStyler
30.20.2 Configurazione dello standard video
30.20.3 Costruzione del menù
30.20.4 Inserimento dei filmati
30.20.5 Creazione del DVD video
30.21 Riferimenti
31 Simulazione, emulazione e virtualizzazione
31.1 Ospitalità
31.2 Tipologia del contesto riprodotto
31.3 File-immagine e partizioni
31.4 QEMU
31.4.1 Emulazione per gli applicativi
31.4.2 Emulazione per un sistema completo
31.4.3 Console di QEMU
31.4.4 Unità di memorizzazione e file-immagine
31.5 L'acceleratore KQEMU
31.6 KVM
31.7 Installazione di una distribuzione Debian ARM con QEMU
31.8 Riferimenti
Parte ii Comunicazione e sicurezza
32 Nozioni elementari sulle reti
32.1 Introduzione alle reti
32.1.1 Estensione
32.1.2 Topologia
32.1.3 Pacchetto
32.1.4 Protocollo
32.2 Modello ISO-OSI
32.2.1 Un esempio per associazione di idee
32.2.2 Comunicazione tra i livelli e imbustamento
32.3 Interconnessione tra le reti
32.3.1 Topologia relativa al livello di astrazione
32.4 Introduzione al TCP/IP
32.4.1 ARP
32.4.2 Indirizzi IPv4
32.4.3 Classi di indirizzi IPv4
32.4.4 Indirizzi speciali IPv4
32.4.5 Indirizzi riservati per le reti private
32.4.6 Sottoreti e instradamento
32.4.7 Maschere IP e maschere di rete
32.4.8 Sottoreti particolari in classe C
32.4.9 Indirizzi di rete critici
32.4.10 Nomi a dominio
32.4.11 Servizio di risoluzione dei nomi a dominio
32.4.12 Kernel Linux, configurazione per la rete
32.5 Hardware di rete comune
32.5.1 Nomi di interfaccia
32.5.2 Ethernet: IEEE 802.3/ISO 8802.3
32.5.3 IEEE 802.3/ISO 8802.3: cavi UTP, normali e incrociati
32.5.3.1 Commutatori di pacchetto e porte ''up link''
32.5.3.2 Router specifici e componenti simili
32.6 Hardware di rete molto vecchio
32.6.1 IEEE 802.3/ISO 8802.3: dal cavo coassiale al cavo UTP
32.6.1.1 Esempio di configurazione della scheda NE2000 con il kernel Linux
32.6.2 IEEE 802.3/ISO 8802.3: ripetitori, e limiti di una rete
32.6.2.1 10base5 senza ripetitori
32.6.2.2 10base2 senza ripetitori
32.6.2.3 10baseT
32.6.2.4 Regole elementari di progettazione
32.6.3 PLIP
32.6.3.1 Problemi con le porte parallele
32.7 WiFi, IEEE 802.11, ISO/IEC 8802.11
32.7.1 LAN e WLAN
32.7.2 Standard di comunicazione
32.7.3 Canale di comunicazione
32.7.4 ESSID: extended service set id
32.7.5 Crittografia
32.7.6 Configurazione di un punto di accesso
32.7.7 Configurazione automatica dei nodi periferici
32.7.8 Ruoli o modalità di funzionamento
32.7.9 Preparazione del kernel Linux
32.7.10 Microcodice
32.7.11 Individuazione e attivazione dell'interfaccia di rete senza fili
32.7.12 NDISwrapper
32.7.12.1 Casi particolari
32.7.12.2 WINE per estrarre i file
32.7.13 Utilizzo di ''iwconfig''
32.7.14 Utilizzo di ''iwlist''
32.7.15 Gestione attraverso WPA Supplicant
32.7.15.1 Configurazione di WPA Supplicant
32.8 Definizione dei protocolli e dei servizi
32.8.1 Protocolli di trasporto e di rete
32.8.2 Servizi
32.8.3 Messaggi ICMP
32.9 IPv4: configurazione delle interfacce di rete
32.9.1 Configurazione delle interfacce di rete
32.9.1.1 Loopback
32.9.1.2 Ethernet
32.9.1.3 Connessioni punto-punto
32.9.2 Configurazione delle interfacce di rete con un sistema GNU/Linux
32.9.2.1 Utilizzo di ''ifconfig''
32.9.2.2 Alias IP
32.10 IPv4: instradamento locale
32.10.1 Rete locale
32.10.1.1 Loopback
32.10.1.2 Ethernet
32.10.1.3 Connessioni punto-punto
32.10.1.4 L'ordine delle voci nella tabella degli instradamenti
32.10.2 Definizione degli instradamenti nelle reti locali e verifiche con un sistema GNU/Linux
32.10.2.1 Utilizzo di ''route''
32.10.3 Verifica di un instradamento
32.10.3.1 Utilizzo di ''ping''
32.10.4 ARP
32.10.4.1 Utilizzo di ''arp''
32.10.4.2 File ''/etc/ethers''
32.11 IPv4: instradamento oltre l'ambito della rete locale
32.11.1 Destinazione irraggiungibile
32.11.2 Router per accedere ad altre reti e instradamento predefinito
32.11.3 Configurazione di un router con un sistema GNU/Linux
32.11.3.1 Router unico per tutte le reti
32.11.3.2 Router verso un altro router
32.11.4 Verifica di un instradamento attraverso i router
32.12 Inoltro IP attraverso il NAT/PAT
32.12.1 Instradamento dal router NAT/PAT e verso il router NAT/PAT
32.12.2 Definizione della traduzione degli indirizzi
32.12.3 Configurazione e controllo con iptables
32.12.4 Note finali
32.13 IPv4 con il pacchetto Iproute
32.13.1 Sintassi generale
32.13.2 Configurazione comune delle interfacce di rete
32.13.3 Indirizzi multipli per una stessa interfaccia di rete
32.13.4 ARP
32.13.5 Instradamento
32.14 Introduzione a IPv6
32.14.1 Rappresentazione simbolica di un indirizzo IPv6
32.14.2 Prefissi di indirizzo
32.14.3 Tipi di indirizzi
32.14.4 Allocazione dello spazio di indirizzamento
32.14.5 Indirizzi unicast
32.14.5.1 Identificatori di interfaccia
32.14.5.2 Indirizzo non specificato
32.14.5.3 Indirizzo locale di loopback
32.14.5.4 Indirizzi link-local
32.14.5.5 Indirizzi site-local
32.14.5.6 Indirizzi unicast globali aggregabili
32.14.6 Indirizzi multicast
32.14.7 Indirizzi Anycast
32.14.8 Indirizzi IPv6 che incorporano indirizzi IPv4
32.14.8.1 IPv4-compatible IPv6 addresses
32.14.8.2 IPv4-mapped IPv6 addresses
32.14.8.3 6to4
32.14.9 Tunnel 6to4
32.15 Utilizzo di IPv6
32.15.1 kernel Linux
32.15.2 Preparazione dei file di configurazione
32.15.3 Attivazione di IPv6 e definizione degli indirizzi link-local
32.15.4 Definizione degli indirizzi site-local
32.15.5 Instradamento manuale
32.15.6 Configurazione e instradamento automatici
32.15.7 Tunnel 6to4
32.15.7.1 Inserire la rete locale in un tunnel 6to4
32.15.7.2 Utilizzare un tunnel 6to4 attraverso un router NAT
32.15.8 Caratteristiche del tunnel per il filtro dei pacchetti IPv4
32.15.9 Tunnel 6to4 attraverso Freenet6
32.16 Esercitazioni
32.17 Riferimenti
33 Risoluzione dei nomi
33.1 Indirizzi e nomi
33.1.1 Configurazione del tipo di conversione: file ''/etc/host.conf''
33.1.2 File per la conversione
33.1.2.1 File ''/etc/hosts''
33.1.2.2 File ''/etc/networks''
33.1.2.3 File ''/etc/resolv.conf''
33.2 DNS come base di dati distribuita
33.2.1 Nome a dominio
33.2.2 Zone
33.2.3 Record di risorsa
33.2.4 Risoluzione inversa
33.2.5 Registrazione di un nome a dominio
33.3 Esempio di configurazione del DNS
33.3.1 Prima di gestire un servente DNS
33.3.2 Predisposizione di un servente DNS elementare
33.3.3 Gestire anche la rete locale
33.3.4 Gli altri elaboratori della rete
33.3.5 Gestire la posta elettronica locale
33.3.6 Gestire gli alias
33.3.7 Isolamento dall'esterno
33.4 Gestione del servizio di risoluzione dei nomi
33.4.1 Utilizzo di ''named''
33.4.2 Nslookup
33.4.3 Host
33.4.4 Dig
33.4.5 Verifica del funzionamento del servizio
33.5 File di configurazione più in dettaglio
33.5.1 File ''/etc/named.conf'' o ''/etc/bind/named.conf''
33.5.2 Memoria cache del dominio principale
33.5.3 Gestione delle zone su cui si ha autorità
33.5.4 Riproduzione delle informazioni di un altro DNS
33.5.5 File di zona
33.5.6 SOA -- Start of authority
33.5.7 NS -- Name Server
33.5.8 MX -- Mail Exchanger
33.5.9 A, AAAA, A6 -- Address
33.5.10 PTR -- Pointer
33.5.11 CNAME -- Canonical Name
33.5.12 File dei serventi principali
33.6 Serventi DNS secondari
33.7 Servente DNS di inoltro
33.8 Esercitazione: individuazione dei nomi a dominio disponibili e occupati
33.9 Riferimenti
34 Socket e UCSPI
34.1 Principio di funzionamento
34.2 Socket di dominio Unix
34.3 Socket di dominio Internet
34.4 Unix client-server program interface
34.5 UCSPI-unix
34.6 UCSPI-tcp
34.7 Riferimenti
35 Dalla porta seriale a ''Internet mobile''
35.1 Porte seriali
35.1.1 Configurazione con il kernel Linux
35.1.2 Connettori
35.1.3 Controllo del flusso o handshaking
35.1.4 Cavi RS-232C
35.2 Modem
35.2.1 Insieme esteso di comandi Hayes
35.2.2 Indicatori luminosi dei modem esterni
35.2.3 Codici di risposta
35.2.4 Sequenze di escape
35.3 File di dispositivo e collegamenti
35.3.1 Gestione oculata dei permessi
35.4 Programmi di comunicazione
35.4.1 Accesso brutale al modem
35.4.2 Utilizzo sommario di Minicom
35.4.3 Utilizzo sommario di Seyon
35.5 Configurazione del modem
35.5.1 Profilo di configurazione del modem
35.6 Rapidità di modulazione e velocità di trasmissione
35.7 Impostazione della velocità
35.8 Introduzione al PPP
35.8.1 Funzionalità del kernel Linux
35.9 Funzionamento generale del demone per il PPP
35.9.1 Struttura del sistema di configurazione
35.9.2 Struttura del sistema di autenticazione
35.9.3 Interfacce PPP e funzioni privilegiate
35.9.4 Indirizzi IP
35.9.5 Script di contorno
35.10 Avvio e opzioni
35.10.1 Opzioni principali
35.11 File per il sistema di autenticazione
35.11.1 Configurazione PAP
35.11.2 Configurazione CHAP
35.12 Script
35.12.1 Verifica dell'ambiente
35.12.2 Gestione dinamica degli indirizzi DNS
35.13 Impostazione della distribuzione GNU/Linux Debian
35.14 Connessioni su porte seriali
35.14.1 Programma di comunicazione
35.15 Connessione PPP senza autenticazione
35.15.1 Script di connessione
35.15.2 Verifica della connessione
35.15.3 Varianti
35.16 Linea dedicata
35.16.1 Ruolo dei modem
35.16.2 Simulazione con l'aiuto di Minicom
35.16.3 Connessione con pppd
35.17 Autenticazione con il protocollo PPP
35.17.1 Autenticazione tradizionale
35.17.2 Autenticazione attraverso il PPP
35.18 Cliente PPP che utilizza un sistema di identificazione tradizionale
35.18.1 Chat
35.18.2 Script di chat
35.18.3 Demone per il PPP e Chat assieme
35.19 Cliente PPP che fornisce esclusivamente un'identificazione PAP o CHAP
35.20 WvDial
35.20.1 Configurazione automatica di WvDial
35.20.2 Configurazione automatica e trasparente di pppd
35.20.3 Configurazione manuale
35.20.4 Avvio e funzionamento
35.21 Connessione mobile con ''chiavetta''
35.21.1 Problematiche con i sistemi GNU/Linux
35.21.2 Modem USB
35.21.3 WvDial e le ''chiavette''
35.22 Riferimenti
36 Servizi di rete fondamentali
36.1 Supervisore dei servizi di rete
36.1.1 Supervisore dei servizi di rete BSD
36.1.2 TCP wrapper
36.1.3 Dichiarazione all'interno di ''/etc/inetd.conf''
36.1.4 Configurazione del TCP wrapper
36.2 RPC: Remote Procedure Call
36.2.1 Informazioni sulle RPC
36.2.2 Controllo sulle RPC
36.3 NFS con i sistemi GNU/Linux
36.3.1 Dal lato del servente
36.3.2 Verifica del servizio
36.3.3 Porte coinvolte
36.3.4 Dal lato del cliente
36.4 NIS
36.4.1 Concentrazione amministrativa del NIS versione 2
36.4.1.1 Mappe NIS
36.4.1.2 Dominio NIS
36.4.1.3 Servente principale e serventi secondari
36.4.2 Distinzione dei ruoli tra servente e cliente
36.4.2.1 Propagazione delle informazioni
36.4.3 NIS e DNS
36.4.4 RPC
36.4.5 Allestimento di un servente NIS versioni 1 e 2
36.4.5.1 Dominio NIS
36.4.5.2 Avvio del servente
36.4.5.3 Configurazione principale
36.4.5.4 Configurazione dei diritti di accesso
36.4.5.5 Configurazione e preparazione delle mappe
36.4.5.6 Gestione delle parole d'ordine
36.4.6 Predisposizione del servente secondario
36.4.6.1 Riproduzione delle mappe nel servente secondario
36.4.6.2 Sincronizzazione
36.4.7 Organizzazione di una distribuzione
36.4.8 Cliente NIS
36.4.8.1 Gli utenti
36.4.8.2 Attivazione del demone
36.4.8.3 Altri programmi di contorno
36.4.9 Directory personali
36.4.10 Porte coinvolte
36.5 DHCP
36.5.1 Sistemazioni generali per il kernel Linux
36.5.2 Rete di competenza e router
36.5.3 Conflitto con il supervisore dei servizi di rete
36.5.3.1 Informazioni gestibili attraverso DHCP
36.5.4 Servente DHCP ISC
36.5.4.1 Avvio e arresto del servizio
36.5.4.2 Interfaccia di rete e alias con i sistemi GNU/Linux
36.5.5 Relè DHCP ISC
36.5.6 Cliente DHCP
36.5.6.1 Cliente DHCP ISC
36.5.6.2 Script per l'utilizzo delle informazioni ottenute da un cliente DHCP ISC
36.6 Informazioni sugli utenti della rete
36.6.1 Who remoto
36.6.2 Informazioni attraverso RPC
36.6.3 Finger: informazioni personali
36.6.3.1 File personali
36.7 Accesso remoto
36.7.1 Accesso remoto normale
36.7.2 Shell remota
36.7.3 Copia tra elaboratori
36.8 TELNET
36.8.1 Dal lato del servente
36.8.2 Dal lato del cliente
36.8.3 Colloquiare con una porta
36.9 Trivial FTP
36.9.1 Dal lato del servente
36.9.2 Dal lato del cliente
36.10 Allineamento della data e dell'orario attraverso la rete
36.10.1 Rdate
36.10.2 NTP
36.10.2.1 Accesso a un servente NTP
36.10.2.2 Preparazione di un servente NTP per l'utilizzo locale
36.11 SNMP
36.11.1 Nomi delle variabili, OID e MIB
36.11.2 Note essenziali sul protocollo
36.11.3 Autenticazione e limitazione degli accessi
36.11.4 Interrogazione generica di un servizio SNMP
36.11.5 Interrogazioni più specifiche di un servizio SNMP
36.11.6 Attivazione di un servizio SNMP con NET SNMP
36.11.7 MRTG
36.11.7.1 Configurazione
36.11.7.2 Utilizzo del programma
36.11.7.3 Il risultato
36.12 Rsync
36.12.1 Tipi di utilizzo
36.12.2 Origine, destinazione e percorsi
36.12.3 Proprietà dei file
36.12.4 Avvio del programma
36.12.5 Accesso attraverso autenticazione
36.12.6 Servente Rsync
36.12.6.1 File degli utenti e delle parole d'ordine secondo Rsync
36.12.7 Tempi morti e scadenze
36.12.8 Problemi di ricezione
36.13 Riferimenti
37 Messaggistica istantanea «instant messaging»
37.1 Messaggi sul terminale Unix
37.1.1 Accesso al proprio terminale
37.1.2 Comunicazione diretta attraverso la rete
37.1.3 Invio di un messaggio circolare
37.2 IRC
37.2.1 Canali, utenti e operatori
37.2.2 Divisione e ricongiunzione di reti IRC
37.2.3 Comportamenti spiacevoli
37.2.4 Dal lato del servente
37.2.4.1 Messaggio del giorno
37.2.4.2 Configurazione
37.2.4.3 Avvio del demone
37.2.5 Dal lato del cliente
37.2.6 Utilizzo di massima di un cliente IRC
37.3 ICQ: ''I-seek-you''
37.3.1 Licq
37.3.2 Pidgin
37.4 Abbreviazioni di Internet
37.5 Riferimenti
38 FTP
38.1 Caratteristiche elementari del protocollo
38.2 Identificazione e privilegi
38.3 Facilitare le ricerche
38.4 Cliente FTP tradizionale
38.4.1 Esempi
38.4.1.1 Prelievo di file
38.4.1.2 Invio di dati
38.4.2 Midnight Commander
38.5 Servente OpenBSD FTP
38.5.1 Configurazione
38.6 Riferimenti
39 Posta elettronica
39.1 Servizio di rete e servizio di consegna locale
39.2 Uso della posta elettronica
39.2.1 Elementi di intestazione
39.2.2 Risposta, proseguimento e riservatezza
39.3 MTA tradizionale «Sendmail»
39.3.1 Alias
39.3.2 Coda dei messaggi
39.3.3 Rinvio
39.4 Recapito della posta elettronica: la variabile ''MAIL''
39.5 Mail user agent
39.5.1 Ricezione e invio dei messaggi da parte del MUA
39.5.2 Cartelle e formato dei dati
39.6 Invio di messaggi attraverso un MTA compatibile con Sendmail
39.7 Mailx
39.7.1 Avvio e funzionamento
39.7.2 Configurazione di Mailx
39.7.3 Nail
39.8 Mutt
39.9 Configurazione compatibile tra Mailx, Nail e Mutt
39.10 Ricerche nei file delle cartelle di messaggi
39.11 Messaggi giunti presso recapiti remoti
39.11.1 IMAP toolkit: ipop3d, ipop2d, imapd
39.11.2 Popclient
39.11.3 Fetchmail
39.11.4 Gestione remota della posta elettronica
39.12 Messaggi, allegati ed estensioni MIME
39.12.1 Allegati
39.12.2 Uuencode
39.12.3 Involucro MIME
39.12.4 Messaggi contenenti più parti MIME
39.12.5 Sistemazione manuale di un allegato MIME
39.12.6 Mpack
39.13 Gestione della posta elettronica in generale
39.13.1 Composizione di un messaggio
39.13.2 Messaggi contraffatti e punto di iniezione
39.13.3 Identificazione della destinazione
39.13.4 Misure di sicurezza
39.13.5 Referente per l'amministrazione del servizio
39.14 Pratica manuale con i protocolli
39.14.1 SMTP attraverso un cliente TELNET
39.14.2 POP3 attraverso un cliente TELNET
39.14.3 POP3s attraverso un cliente TELNET-SSL
39.14.4 Script per l'invio di un messaggio attraverso Telnet
39.15 Procmail
39.15.1 Configurazione di partenza e verifica del funzionamento
39.15.2 Attivazione di Procmail
39.15.3 Esempi semplici di configurazione
39.16 SpamAssassin
39.16.1 Configurazione di SpamAssassin
39.16.2 Cosa fa SpamAssassin
39.16.3 Filtrare i messaggi automaticamente
39.16.4 Autoapprendimento
39.17 Liste di posta elettronica
39.17.1 Lista elementare
39.17.2 Mailman
39.17.2.1 Privilegi durante il funzionamento
39.17.2.2 Configurazione
39.17.2.3 Creazione e cancellazione di una lista
39.17.2.4 Amministrazione della lista
39.17.2.5 Accesso alla lista da parte degli utilizzatori normali
39.18 Riferimenti
40 HTTP
40.1 W3M
40.2 Servente HTTP: Mathopd
40.2.1 Utilizzo generale
40.2.2 Configurazione
40.2.3 Indici delle directory
40.2.4 Registro degli accessi
40.3 Protocollo HTTP
40.3.1 Analisi di una connessione HTTP
40.3.2 Tipi MIME
40.3.3 Campi di richiesta
40.3.4 Campi di risposta
40.4 HTTP e CGI
40.4.1 URI e query
40.4.2 Input dell'utente
40.4.3 Primo approccio alla programmazione CGI
40.4.4 Percorso aggiuntivo
40.4.5 Elementi ''FORM''
40.4.5.1 Attributo ''ACTION''
40.4.5.2 Attributo ''METHOD''
40.4.6 Elementi dell'ambiente ''FORM''
40.4.6.1 INPUT generico
40.4.6.2 INPUT type=.password.
40.4.6.3 INPUT type=.checkbox.
40.4.6.4 INPUT type=.radio.
40.4.6.5 INPUT type=.submit.
40.4.6.6 INPUT type=.image.
40.4.6.7 INPUT type=.hidden.
40.4.6.8 Elemento ''TEXTAREA''
40.4.6.9 Elementi ''SELECT'' e ''OPTION''
40.4.7 Metodi e variabili
40.4.7.1 Un po' di pratica
40.5 Programmazione CGI
40.5.1 Problemi
40.5.2 Decodifica
40.5.3 Esempi elementari di applicazioni CGI
40.5.3.1 File ''manuali.html''
40.5.3.2 File ''apropos.pl''
40.5.3.3 File ''whatis.pl''
40.5.3.4 File ''man.pl''
40.5.4 Librerie CGI già pronte
40.6 Indicizzazione e motori di ricerca
40.6.1 Configurazione e scansione periodica
40.6.2 Interrogazione del motore di ricerca
40.6.3 Configurazioni multiple
40.7 Statistiche di accesso
40.7.1 Webalizer
40.8 Wget
40.8.1 Forma dell'URI
40.8.2 File di configurazione
40.8.3 Utilizzo del programma
40.8.4 Scansione a partire da un file locale
40.8.5 Scansione ricorsiva
40.8.6 Selezione dei file in base al loro nome
40.8.7 Identificazioni e parole d'ordine
40.8.8 Riproduzione speculare e informazioni data-orario
40.8.9 Funzionalità varie
40.9 Riferimenti
41 Introduzione a PHP
41.1 Delimitazione del codice PHP
41.2 Struttura fondamentale del linguaggio
41.3 Analisi sintattica
41.4 Variabili e costanti
41.4.1 Valore nullo
41.4.2 Variabili e costanti logiche «booleane»
41.4.3 Variabili e costanti numeriche
41.4.4 Stringhe
41.4.5 Stringhe delimitate da apici singoli
41.4.6 Stringhe delimitate da apici doppi
41.4.7 Cast
41.4.8 Array
41.4.9 Stringhe trattate come array
41.4.10 La definizione di costanti
41.5 Campo di azione delle variabili
41.6 Riferimento a una variabile
41.7 Operatori ed espressioni
41.8 Strutture di controllo di flusso
41.8.1 Struttura condizionale: ''if''
41.8.2 Struttura di selezione: ''switch''
41.8.3 Iterazione con condizione di uscita iniziale: ''while''
41.8.4 Iterazione con condizione di uscita finale: ''do-while''
41.8.5 Ciclo enumerativo: ''for''
41.8.6 Ciclo di scansione degli array: ''foreach''
41.9 Funzioni
41.10 Suddivisione del programma in più file
41.11 Input di dati
41.12 Sessione
41.13 Accesso ai file
41.14 Espressioni regolari
41.15 Accesso a basi di dati MySQL
41.16 Il problema dell'iniezione di codice SQL
41.17 GWADM
41.18 Riferimenti
42 Filtri, proxy e ridirezione del traffico IP
42.1 Traffico IPv4 e filtri
42.1.1 Caratteristiche elementari dei protocolli fondamentali
42.1.2 Porte
42.1.3 Frammentazione IP
42.1.4 Pacchetti SYN
42.1.5 Conseguenze nell'introduzione di un filtro
42.1.5.1 Messaggi ICMP
42.1.5.2 Protocolli basati su TCP
42.1.5.3 Protocolli basati su UDP
42.2 Cache proxy
42.2.1 Schema essenziale
42.2.1.1 Servire un segmento di rete
42.2.1.2 Proxy a più livelli
42.2.1.3 Proxy come filtro verso l'esterno
42.2.2 Dal lato del cliente
42.2.3 Caratteristiche comuni ai cache proxy da considerare
42.2.4 Tinyproxy
42.3 PICS: Platform for Internet content selection
42.3.1 Come si classifica
42.3.2 Come si pubblica la classificazione
42.3.3 Come si sceglie e come si interpreta la classificazione
42.4 Introduzione ai concetti di firewall e di NAT/PAT
42.4.1 Firewall in forma di filtri di pacchetto
42.4.1.1 Punto di applicazione e significato dell'intercettazione
42.4.1.2 Ricomposizione dei pacchetti frammentati
42.4.2 Esempi di utilizzo di firewall
42.4.3 Annotazioni finali sulla gestione di un firewall
42.4.3.1 Pacchetti ICMP
42.4.3.2 Pacchetti UDP
42.4.4 NAT/PAT
42.4.4.1 Conversione dinamica degli indirizzi IP
42.4.4.2 Conversione dinamica delle porte: PAT
42.4.4.3 Problemi
42.5 Firewall con kernel Linux
42.5.1 Schema generale di funzionamento del kernel
42.5.2 IPTables per l'amministrazione del firewall
42.5.2.1 Un po' di confidenza con IPTables per la gestione del firewall
42.5.2.2 Opzioni di contorno
42.5.2.3 Regole che non fanno riferimento a un protocollo
42.5.2.4 Utilizzo pratico di regole elementari
42.5.2.5 Regole per i protocolli TCP e UDP
42.5.2.6 Regole per il protocollo ICMP
42.5.2.7 Pacchetti frammentati
42.5.3 Estensioni particolari
42.5.3.1 Limiti
42.5.3.2 Stato delle connessioni
42.5.4 Strategie
42.5.4.1 UDP e DNS
42.5.4.2 Contraffazione dell'origine: IP spoof
42.5.4.3 Esempi
42.5.5 Contabilizzazione del traffico
42.5.6 Registrazione del traffico
42.5.7 Raggruppamenti di regole al di fuori dei punti di controllo standard
42.6 NAT/PAT con kernel Linux
42.6.1 Struttura e punti di intervento
42.6.2 Gestione con IPTables
42.6.3 Modifica dell'origine
42.6.4 Modifica della destinazione
42.7 Annotazioni sull'uso di un router ADSL per le utenze comuni
42.7.1 Protocolli di comunicazione
42.7.2 Comunicazione e configurazione con il router ADSL
42.7.3 Controllo
42.7.4 DNS
42.7.5 Protezione e accesso dall'esterno
42.7.5.1 Firewall
42.7.5.2 Tunnel 6to4
42.7.6 Configurazione con indirizzi statici
42.8 Riferimenti
43 Sicurezza e controllo
43.1 Introduzione ai problemi di sicurezza con la rete
43.1.1 Problemi legali
43.1.2 Informazioni: la prima debolezza
43.1.2.1 Finger
43.1.2.2 NFS
43.1.2.3 Servizi RPC
43.1.2.4 SNMP
43.1.2.5 Indirizzo fisico
43.1.3 Errori comuni di configurazione
43.1.3.1 FTP anonimo
43.1.3.2 Accesso remoto
43.1.4 Servizi e programmi pericolosi per loro natura
43.1.4.1 Trivial FTP
43.1.4.2 NIS
43.1.4.3 X
43.1.4.4 Sendmail
43.1.5 Fiducia e interdipendenza tra i sistemi
43.1.5.1 Fiducia incondizionata
43.1.5.2 Chiavi di identificazione
43.1.5.3 Cifratura delle comunicazioni
43.1.6 Backdoor: cosa ci si può attendere da un sistema compromesso
43.1.7 Regole dettate dal buon senso
43.2 Virus, vermi e cavalli di Troia
43.2.1 Dazuko
43.2.2 Clamav
43.2.2.1 Aggiornamento delle impronte virali
43.2.2.2 Scansioni più o meno automatiche
43.2.2.3 Utilizzo di ''clamdscan''
43.2.2.4 Verifica del funzionamento
43.2.2.5 Utilizzare Procmail per scandire automaticamente i messaggi di posta elettronica
43.2.3 Clamuko
43.2.3.1 Preparazione del demone ''clamd''
43.2.3.2 Configurazione del demone ''clamd''
43.2.3.3 Sequenza di attivazione e verifica del funzionamento
43.2.3.4 Problemi
43.3 Protocollo IDENT
43.3.1 Ident2
43.3.2 Interrogazione del servizio e librerie
43.3.3 Autenticazione interna tramite IDENT
43.3.4 Proxy trasparente
43.4 TCP wrapper in dettaglio
43.4.1 Limiti e particolarità del TCP wrapper
43.4.2 Configurazione del TCP wrapper
43.4.2.1 Demoni e clienti specificati in modo più preciso
43.4.2.2 Comandi di shell
43.4.2.3 Esempi e trappole
43.4.2.4 Comandi e servizi UDP
43.4.3 Verifica della configurazione
43.4.4 Verifica delle corrispondenze
43.4.5 Un Finger speciale
43.4.6 Verifica della propria identificazione
43.5 Cambiare directory radice
43.5.1 Un esempio pratico: TELNET
43.6 Verifica dell'integrità dei file con AIDE
43.6.1 Configurazione di AIDE: ''aide.conf''
43.6.2 Utilizzo
43.7 Verifica della vulnerabilità della propria rete
43.7.1 Queso
43.7.2 Raccess
43.7.3 Nmap
43.8 Strumenti per il controllo e l'analisi del traffico IP
43.8.1 Netstat
43.8.2 Fuser
43.8.3 Tcpdump
43.8.4 IPTraf
43.8.5 Sniffit
43.8.6 Wireshark
43.8.7 IPlogger
43.8.8 Psad
43.8.9 Netcat
43.9 Protezione della sessione di lavoro
43.9.1 Utilizzo di ''vlock''
43.9.2 Utilizzo di ''xlock''
43.9.3 Utilizzo di ''xtrlock''
43.10 Riferimenti
44 Riservatezza e certificazione delle comunicazioni
44.1 Introduzione ai problemi legati alla crittografia e alla firma digitale
44.1.1 Crittografia
44.1.2 Firma digitale
44.1.3 Gestione delle chiavi, certificazione e fiducia
44.1.4 Cosa può succedere se...
44.1.5 Servizi per la diffusione delle chiavi pubbliche
44.1.6 Problemi legali
44.2 GnuPG: GNU Privacy Guard
44.2.1 Creazione delle chiavi e del certificato di revoca
44.2.2 Scambio di chiavi pubbliche
44.2.3 Utilizzo della crittografia
44.2.4 Firma di documenti
44.2.5 Gestione della fiducia
44.2.6 Accesso a un servente di chiavi
44.2.7 Gnome PGP
44.3 Autorità di certificazione e certificati
44.3.1 Catena di certificazione
44.3.2 Numero di serie, scadenza e revoca dei certificati
44.3.3 Certificato X.509
44.3.4 Richiesta di certificato X.509
44.3.5 Revoca dei certificati
44.4 Connessioni cifrate e certificate
44.4.1 SSL/TLS
44.4.2 SSH
44.4.2.1 Autenticazione RHOST
44.4.2.2 Autenticazione RHOST+RSA
44.4.2.3 Autenticazione RSA
44.4.2.4 Autenticazione attraverso la parola d'ordine tradizionale
44.4.2.5 Chiave privata e chiave pubblica
44.4.2.6 Verifica dell'identità dei serventi
44.5 Introduzione a OpenSSL
44.5.1 Collocazione e impostazione
44.5.2 Procedimento per ottenere un certificato
44.5.2.1 File contenente dati casuali
44.5.2.2 Chiave privata
44.5.2.3 Richiesta di certificazione
44.5.2.4 Certificato fittizio
44.5.3 Cenni sulla configurazione di OpenSSL
44.5.3.1 Politica dell'autorità di certificazione
44.5.4 Simulazione dell'allestimento e del funzionamento di un'autorità di certificazione
44.5.4.1 Autorità di certificazione autonoma
44.5.4.2 Rilascio di certificazioni
44.5.4.3 Revoca dei certificati
44.5.4.4 Conversione nei formati
44.6 Applicazioni che usano OpenSSL
44.6.1 Aggiornare l'elenco dei servizi
44.6.2 Opzioni comuni
44.6.3 Certificati dei servizi
44.6.4 Telnet-SSL
44.6.5 SSLwrap
44.6.6 Stunnel
44.7 OpenSSH
44.7.1 Preparazione delle chiavi
44.7.2 Verifica dell'identità dei serventi
44.7.3 Autenticazione RHOST
44.7.4 Autenticazione RHOST sommata al riconoscimento della chiave pubblica
44.7.5 Autenticazione basata sul controllo della chiave pubblica
44.7.6 Autenticazione normale
44.7.7 Servente OpenSSH
44.7.8 Cliente OpenSSH
44.7.9 Verifica del funzionamento di un servente OpenSSH
44.7.10 X in un tunnel OpenSSH
44.7.11 Creazione di un tunnel cifrato generico con OpenSSH
44.7.12 Installazione
44.8 VPN: virtual private network
44.8.1 Interfacce dei tunnel
44.8.2 Introduzione a OpenVPN
44.8.3 OpenVPN attraverso un router NAT
44.8.4 Utilizzare un servizio anonimizzatore con OpenVPN
44.8.5 VPN attraverso OpenSSH
44.8.5.1 Configurazione e opzioni significative
44.8.5.2 Attivazione del tunnel dal lato ''cliente''
44.8.5.3 Configurazione dal lato ''servente''
44.8.5.4 Autenticazione automatica
44.9 Steganografia
44.9.1 Tecniche steganografiche
44.9.2 Outguess
44.9.3 Stegdetect
44.9.4 Steghide
44.9.5 Codici audio
44.10 Riferimenti
45 Cloud computing: il ritorno all'informatica centralizzata
45.1 Sistemi tradizionali di accesso remoto
45.2 Applicazioni ''web''
45.3 Applicazioni ''web'' invadenti
45.4 eyeOS 1.*
45.4.1 Manutenzione e ripristino dell'utenza amministrativa
45.4.2 Installazione presso Altervista o un servizio simile
45.5 eyeOS 2.*
45.5.1 Osservazioni su eyeOS 2.5
45.5.2 Riutilizzo di una versione 2.5 già installata
45.5.3 Installazione presso un provider HTTP esterno
45.6 Lucid desktop 1.*
45.7 Feng Office
45.8 Google documenti
45.8.1 Creazione, caricamento e gestione dei file
45.8.2 Condivisione, nel senso di collaborazione e attribuzione di responsabilità
45.8.3 Osservazioni e problematiche da considerare
45.9 Riferimenti
46 Strumenti ''cloud'' per la didattica
46.1 Google documenti nella didattica
46.1.1 Utenze
46.1.2 Organizzazione nella denominazione dei file
46.1.3 File per le comunicazioni personali
46.1.4 File per le comunicazioni alla classe
46.1.5 Esercitazioni svolte con Google documenti
46.1.6 Esercitazioni svolte con altri programmi che producono documenti PDF
46.1.7 Pagina personale del docente con Google Blogger
46.1.8 Predisposizione di modelli
46.1.9 Cronologia
46.1.10 Fornire una copia elettronica delle verifiche
46.1.11 Dal formulario al test di verifica
46.2 Servizi di memorizzazione remota
46.2.1 Adrive
46.3 Servizi ''pastebin''
46.3.1 Registrazione e utilizzo del servizio Ideone
46.3.2 Codepad
46.3.3 Utilizzo didattico dei servizi ''pastebin''
46.4 Xeround
46.4.1 Iscrizione e creazione di un'istanza DB
46.4.2 Creazione di una base di dati con phpMyAdmin
46.4.3 Utilizzo di una base di dati Xeround attraverso un'applicazione PHP
46.5 Servizi di ''freehosting''
46.6 Analisi del codice web
46.7 Gestione di file PDF
46.7.1 PDFescape
46.8 Gazie e GZT
46.9 WIMS: ''www interactive multipurpose server''
46.10 Mappe mentali
46.11 Riferimenti
u1 Indice analitico del volume
Volume II Scrittura e pubblicazione
47 Editoria e stile
47.1 Formati standard della carta
47.1.1 Utilizzo pratico dei vari formati ISO 216
47.1.2 Formati multipli
47.2 Nozioni elementari di tipografia
47.2.1 Carattere
47.2.1.1 Specie alfabetica
47.2.1.2 Gruppo stilistico
47.2.1.3 Serie
47.2.2 Tipometria
47.2.2.1 Corpo, dimensioni e scala
47.2.2.2 Giustezza, spaziatura e giustificazione orizzontale
47.2.2.3 Giustificazione verticale
47.2.3 Il carattere nel software di composizione
47.2.3.1 Terminologia
47.2.3.2 Caratteristiche di una carattere tipografico elettronico
47.2.3.3 Codifica
47.2.4 Problemi legati ai caratteri
47.2.5 Il libro
47.3 Stile letterario
47.3.1 Regole di composizione del testo
47.3.1.1 Punteggiatura e spaziatura
47.3.1.2 Utilizzo dei simboli di interpunzione
47.3.1.3 Accenti e troncamenti
47.3.1.4 Segnaccento obbligatorio «UNI 6015»
47.3.1.5 Uso della ''d'' eufonica
47.3.1.6 Elisione davanti alla lettera ''h''
47.3.1.7 Uso delle maiuscole
47.3.1.8 Plurali
47.3.1.9 Interfacce o interfaccie?
47.3.1.10 Elenchi
47.3.1.11 Citazioni
47.3.1.12 Acquisizione di termini stranieri
47.3.2 Anglofilia eccessiva
47.3.3 Unità di misura
47.3.3.1 Come si scrive una grandezza
47.3.3.2 Nomi e simboli
47.3.3.3 Prefissi moltiplicatori
47.3.3.4 Prefissi per multipli binari
47.3.4 Rappresentazione di valori
47.3.4.1 Valori percentuali
47.3.4.2 Valori numerici
47.3.5 Stile tipografico
47.3.5.1 Blocchi di testo letterale
47.3.5.2 Nomi di file e directory
47.3.5.3 Schermate, listati e simili
47.3.5.4 Variabili di ambiente
47.3.5.5 Comandi e istruzioni
47.3.5.6 Nomi di applicativi
47.3.5.7 Concetti e termini nuovi
47.3.5.8 Nomi proprietari e logotipi
47.3.5.9 Titoli
47.3.5.10 Didascalie
47.3.5.11 Elenchi descrittivi
47.3.5.12 Richiami in nota
47.3.5.13 Indicizzazione
47.3.5.14 Riferimenti bibliografici e simili
47.4 Evoluzione dell'editoria elettronica
47.4.1 Evoluzione
47.4.2 Codifica del testo «markup»
47.4.2.1 Linguaggio di markup
47.4.2.2 Vantaggi di un linguaggio descrittivo
47.4.3 SGML
47.4.4 XML, XSLT e XSL-FO
47.5 Lettera, codifica e carattere da stampa
47.6 Ambiguità nel concetto di ''carattere''
47.6.1 CCS: insieme di caratteri codificato
47.6.2 CEF: forma codificata del carattere
47.6.3 CES: schema di codifica del carattere
47.6.4 TES: sintassi di codifica per il trasferimento
47.7 Codifica in pratica: da Unicode a ASCII
47.7.1 UTF-8
47.7.2 Schema di codifica e firma di riconoscimento
47.7.3 Tipi di dati nuovi
47.7.4 Apparenza e realtà
47.7.5 ASCII «ISO 646»
47.7.6 ISO 8859-n
47.7.7 IBM Code Page nnn Character Set
47.7.8 Utilizzo di ''ascii''
47.7.9 Utilizzo di ''unicode''
47.7.10 Gucharmap
47.8 Trasformazione della codifica
47.8.1 Recode
47.8.2 Iconv
47.8.3 Utilizzo di ''luit''
47.9 Analisi lessicale
47.9.1 Ispell
47.9.1.1 Dizionari
47.9.1.2 Avvio e opzioni fondamentali
47.9.1.3 Funzionamento interattivo
47.9.1.4 Funzionamento non interattivo
47.9.1.5 Programmi di servizio di contorno a Ispell
47.9.1.6 Gestione dei dizionari personali
47.9.2 Aspell
47.9.3 Myspell e Hunspell
47.10 Analisi sintattica e stilistica con Textchk
47.10.1 Principio di funzionamento
47.10.1.1 Espressioni regolari
47.10.2 Configurazione
47.10.2.1 Gerarchia della configurazione
47.10.2.2 Casi particolari
47.10.2.3 L'indicazione di parole doppie
47.10.3 Come si usa
47.10.3.1 Come vengono mostrati gli errori e i dati diagnostici
47.10.4 Come si installa
47.10.4.1 Gettext
47.10.4.2 Dipendenze
47.11 Dizionari
47.11.1 Dictd o Serpento
47.11.2 Interrogazione manuale di un servizio DICT
47.11.3 Il programma Dict per l'interrogazione del servizio
47.12 Riferimenti
48 PostScript: un linguaggio per la composizione finale
48.1 Impostazione generale
48.1.1 Piano di lavoro e unità di misura
48.1.2 Posizione corrente
48.1.3 Istruzioni speciali più importanti
48.1.4 Aspetto delle istruzioni normali
48.2 Linee e aree
48.2.1 Archi e curve
48.3 Salvare e recuperare le impostazioni grafiche
48.4 Spostamento del piano cartesiano e modifica della scala
48.5 Ripetizione
48.6 Testo
48.7 Salvataggio e recupero delle impostazioni della pagina nel complesso
48.8 La pila
48.9 Funzioni comuni
48.10 Operazioni sulle stringhe
48.11 Funzioni
48.11.1 Variabili
48.12 Dizionari
48.13 Caratteri da stampa
48.14 Aspetto dei caratteri da stampa comuni
48.15 Distorsione e spostamento dei caratteri da stampa
48.16 Esempi di funzioni
48.16.1 Unità di misura
48.16.2 Funzioni diagnostiche
48.16.3 Gestione di stringhe
48.17 Approfondimento: modifica sistematica dei contenuti
48.17.1 Modifica del file PostScript
48.17.2 Due programmi Perl che fanno tutto da soli
48.17.3 Utilizzo pratico di questi programmi
48.18 Riferimenti
49 TeX
49.1 La distribuzione Unix di TeX
49.1.1 Collocazione
49.1.2 Configurazione
49.1.3 Funzionamento fondamentale di TeX
49.1.4 Interazione con TeX
49.2 Elementi essenziali del linguaggio TeX
49.2.1 Testo letterale, parole e simboli di controllo
49.2.2 Raggruppamenti
49.2.3 Inclusione di file esterni
49.3 Variabili e tipi di dati
49.3.1 Stringhe
49.3.2 Trasformazione delle stringhe
49.3.3 Contatori
49.3.4 Lunghezze
49.3.5 Lunghezze elastiche
49.3.6 Operazioni con i valori numerici
49.3.7 Trasformazione in stringa di dati numerici
49.3.8 Controllo del campo di azione delle variabili
49.3.9 Ordine nell'espansione delle sequenze di controllo
49.4 Dichiarazione di macroistruzioni
49.4.1 Chiamata di macroistruzioni che richiedono l'indicazione di argomenti
49.5 Riferimenti ad altre parole o simboli di controllo
49.6 Testo normale e ambienti matematici
49.7 Modalità orizzontale e modalità verticale
49.8 Strutture di controllo
49.8.1 Istruzione ''.ifodd''
49.8.2 Istruzione ''.ifmmode''
49.8.3 Istruzione ''.ifnum''
49.8.4 Istruzioni ''.ifhmode'' e ''.ifvmode''
49.9 Verifica del significato di un'istruzione elementare
49.10 Caratteri
49.10.1 Caratteri speciali
49.10.2 Accenti
49.10.3 Apici, trattini e legati automatici
49.10.4 Istruzioni alternative per generare simboli particolari
49.10.5 Caratteri da stampa standard
49.10.6 Sottolineatura
49.11 La pagina
49.11.1 La parte centrale della pagina
49.11.2 Intestazione e fondo pagina
49.11.3 Numerazione delle pagine
49.11.4 Note a piè di pagina
49.11.5 Oggetti fluttuanti
49.12 Paragrafi
49.12.1 Spaziatura orizzontale automatica e separazione automatica dei paragrafi in righe
49.12.2 Rientri particolari
49.12.3 Paragrafi etichettati
49.12.4 Attuazione dei comandi riferiti ai paragrafi
49.12.5 Tolleranza estetica
49.12.6 Sillabazione
49.12.7 Spaziature verticali
49.13 Righe
49.13.1 Spazi orizzontali
49.13.2 Spazio rigido
49.13.3 Linee guida
49.13.4 Linee
49.14 Scatole
49.14.1 Spostamento orizzontale delle scatole
49.14.2 Scatole più complesse
49.15 Tabelle
49.15.1 Tabulazione
49.15.2 Tabelle più complesse
49.16 Ambienti matematici
49.16.1 Due situazioni differenti
49.17 Spazi orizzontali
49.17.1 Caratteri e simboli
49.17.2 Dimensione del testo matematico
49.17.3 Punteggiatura
49.17.4 Frazioni e simili
49.17.5 Apici e pedici
49.17.6 Radici
49.17.7 Sottolineature e sopralineature
49.17.8 Funzioni
49.17.9 Delimitatori
49.17.10 Matrici e sistemi di equazioni
49.17.11 Dichiarazione di teoremi e corollari
49.17.12 Equazioni in evidenza
49.18 Riferimenti
50 LaTeX
50.1 LaTeX: introduzione
50.1.1 Comandi e modelli sintattici
50.1.2 Opzioni e argomenti
50.1.3 Esempio iniziale
50.1.4 Sopravvivere nel caos
50.1.5 Struttura essenziale di un documento LaTeX
50.1.6 Composizione per approssimazione successiva
50.2 Personalizzazione
50.2.1 Definizione e ridefinizione di macro
50.2.2 File di stile
50.3 Localizzazione
50.3.1 Terminologia
50.3.2 Sillabazione
50.3.3 Inconvenienti legati alla sillabazione
50.3.4 Spaziatura orizzontale
50.3.5 Codifica
50.3.6 Localizzazione in pratica
50.4 Variabili e tipi di dati
50.4.1 Lunghezze
50.4.2 Contatori
50.5 Struttura del documento
50.5.1 Dichiarazione dello stile generale
50.5.2 Preambolo
50.5.3 Inizio e fine del documento
50.5.4 Suddivisione del documento
50.5.5 Ambienti
50.6 LaTeX: la pagina
50.6.1 Dimensioni della pagina
50.6.2 Flusso verticale del testo, colonne e salti pagina
50.6.3 Stile della pagina
50.6.4 Numerazione delle pagine
50.6.5 Note a piè di pagina
50.6.6 Sillabazione
50.7 Caratteri
50.7.1 Caratteri che hanno un significato speciale
50.7.2 Corpi uniformi
50.7.3 Caratteri da stampa
50.7.3.1 Enfatizzazione
50.7.4 Definizione dettagliata del carattere da stampa
50.7.5 Linee e cornicette attorno al testo
50.7.6 Spostamento verticale del testo
50.8 LaTeX: blocchi di testo
50.8.1 Caratteristiche normali di un paragrafo
50.8.2 Allineamento del testo
50.8.3 Elenchi
50.8.4 Citazioni
50.8.5 Versi
50.8.6 Testo letterale
50.8.7 Ambienti fluttuanti
50.9 Spazi e scatole
50.9.1 Spazi orizzontali
50.9.2 Spazi verticali
50.9.3 Elasticità controllabile
50.9.4 Interlinea
50.9.5 Scatole
50.9.6 Testo da salvare e da recuperare
50.9.7 Linee
50.10 Riferimenti incrociati
50.10.1 Indice generale, indice delle tabelle e delle figure
50.10.2 Riferimenti liberi
50.10.3 Indice analitico
50.10.4 Bibliografie
50.11 Tabelle
50.11.1 Tabella fatta di tabulazioni
50.11.2 Tabella fatta di colonne e righe
50.11.3 Tabella a cavallo di più pagine
50.12 LaTeX: figure
50.12.1 Disegnare con LaTeX
50.12.2 Importazione di file EPS esterni
50.12.3 Estrazione di file EPS dal file PostScript finale
50.13 Ambienti matematici
50.13.1 Definizione della modalità matematica
50.13.2 Spazi orizzontali e punteggiatura
50.13.3 Caratteri e simboli
50.13.4 Delimitatori
50.13.5 Modifica delle caratteristiche del carattere
50.13.6 Espressioni varie
50.13.7 Matrici e sistemi di equazioni
50.13.8 Teoremi, corollari e dichiarazioni simili
50.14 File esterni
50.14.1 Importazione
50.14.2 Importazione letterale
50.14.3 Creazione di file
50.15 Riferimenti
51 SGML
51.1 DTD: definizione del tipo di documento
51.1.1 Elementi
51.1.1.1 Abbreviazioni nell'indicazione degli elementi
51.1.1.2 Primo impatto con un DTD
51.1.2 Regole di minimizzazione
51.1.3 Modello del contenuto
51.1.3.1 Indicatori di ripetizione
51.1.3.2 Connettori
51.1.3.3 Raggruppamenti
51.1.3.4 Eccezione
51.1.3.5 Elementi vuoti
51.1.4 Dichiarazione multipla
51.1.5 Attributi
51.1.6 Entità
51.1.6.1 Acquisizione dall'esterno
51.1.6.2 Codici macro speciali
51.1.7 Sezioni marcate
51.1.8 Dettagli importanti
51.1.8.1 Commenti
51.1.8.2 Maiuscole e minuscole
51.1.8.3 Delimitatori di stringa
51.1.8.4 Tipo di contenuto di un'entità generale
51.1.8.5 Contenuto elementare degli elementi
51.1.9 Abbinare il DTD al documento SGML
51.1.9.1 Strategie
51.1.9.2 Entità generali
51.1.9.3 Entità parametriche
51.1.9.4 Ultime annotazioni sulla dichiarazione del DTD
51.1.10 Mappe di sostituzione «shortref»
51.1.10.1 Dichiarazione e abbinamento delle mappe di sostituzione
51.1.10.2 Spaziature e interruzioni di riga
51.1.10.3 Limitazioni ed esagerazioni
51.1.10.4 Soluzione normale
51.1.11 Elementi di testo riportato letteralmente
51.1.11.1 Tipo di contenuto letterale
51.1.11.2 Sezioni marcate
51.1.12 Cataloghi
51.1.12.1 Riferimenti esterni
51.1.12.2 Il catalogo in pratica
51.2 Elaborazione SGML
51.2.1 SP
51.2.1.1 Avvio di nsgmls
51.2.1.2 Variabili di ambiente
51.2.1.3 Formato dell'output
51.2.2 Sgmls
51.2.3 SGMLSpm
51.2.3.1 File con le specifiche di sostituzione
51.2.3.2 Scheletro pronto con ''skel.pl''
51.2.3.3 Ridirezione dell'output e altre sofisticazioni
51.2.3.4 Verifica sintattica secondo Perl
51.2.4 Esempio di un mini-sistema SGML
51.2.4.1 Il DTD
51.2.4.2 Il catalogo
51.2.4.3 Le entità standard
51.2.4.4 Rimpiazzo ASP
51.2.4.5 I documenti SGML
51.2.4.6 I comandi necessari
51.2.5 Lo scalino successivo
51.2.5.1 Gestione simultanea di più sistemi di composizione
51.2.5.2 Insieme di caratteri
51.2.6 Organizzazione degli strumenti SGML in una distribuzione GNU/Linux
51.2.7 perlSGML: analisi di un DTD
51.3 Dichiarazione SGML
51.3.1 Codifica
51.3.2 Capacità
51.3.3 Ambito
51.3.4 Sintassi concreta
51.3.4.1 Caratteri da evitare
51.3.4.2 Codifica nell'ambito della sintassi concreta
51.3.4.3 Codici con funzioni speciali
51.3.4.4 Nomi
51.3.4.5 Delimitatori
51.3.4.6 Nomi riservati
51.3.4.7 Quantità
51.3.5 Proprietà
51.3.6 Applicazione di una dichiarazione SGML in pratica
51.3.7 Esempio conclusivo
51.4 Riferimenti
52 XML
52.1 Transizione da SGML a XML
52.1.1 Codifica
52.1.2 Commenti
52.1.3 Marcatori ed elementi vuoti
52.1.4 Entità predefinite
52.1.5 Entità parametriche
52.1.6 Altre sezioni marcate
52.1.7 Istruzioni di elaborazione
52.1.8 Convenzioni dell'XML
52.1.9 Correttezza formale e validità
52.1.10 Verifica della validità con SP
52.1.11 Domini applicativi: ''namespace''
52.2 Introduzione ai fogli di stile XSLT
52.2.1 Struttura ad albero, percorsi e modelli di confronto
52.2.2 Struttura generale del foglio di stile XSLT
52.2.3 Modelli di confronto e trasformazione
52.2.4 Testo
52.2.4.1 Formato generale del risultato della trasformazione
52.2.4.2 Inserimento di testo aggiuntivo
52.2.4.3 Estrazione del valore contenuto in un nodo
52.2.5 Creazione di componenti XML e HTML
52.2.5.1 Creazione di elementi e di attributi
52.2.5.2 Creazione di commenti e di istruzioni di elaborazione
52.2.6 Xalan
52.2.7 Esempio completo
52.2.7.1 Trasformazione in un sorgente LaTeX
52.2.7.2 Trasformazione in un sorgente HTML
52.2.7.3 Trasformazione in un sorgente XHTML
52.3 Introduzione a XSL-FO
52.3.1 Preparazione degli strumenti
52.3.2 Struttura generale del documento secondo XSL-FO
52.3.3 Margini e direzione
52.3.4 Un DTD per XSL-FO
52.4 XSL-FO: impaginazione
52.4.1 Impaginazione semplificata
52.4.2 Impaginazione più articolata
52.4.3 Contenuto
52.5 XSL-FO: contenuto
52.5.1 Blocchi di testo comuni
52.5.2 Testo lineare
52.5.3 Elenchi
52.5.4 Tabelle
52.5.5 Inserzione di immagini
52.5.6 Linee orizzontali
52.5.7 Riferimenti incrociati
52.5.8 Componenti autonomi rispetto al testo
52.6 XSLT e XSL-FO
52.7 XMLTeX e PassiveTeX
52.7.1 XMLTeX
52.7.2 PassiveTeX
52.8 Riferimenti
53 LinuxDoc, DocBook e TEI
53.1 Sistemi SGML basati su Qwertz
53.1.1 Struttura di LinuxDoc
53.1.1.1 Utilizzo sommario
53.1.1.2 Supporto per altri SGML
53.1.2 LinuxDoc più in dettaglio
53.1.2.1 Preambolo e definizione dello stile
53.1.2.2 Suddivisione del documento
53.1.2.3 Paragrafi
53.1.2.4 Elenchi
53.1.2.5 Inclusione di testo letterale
53.1.2.6 Testo citato
53.1.2.7 Enfatizzazioni
53.1.2.8 Riferimenti incrociati
53.1.2.9 Indici
53.1.2.10 Inclusione di immagini
53.1.2.11 Tabelle
53.1.2.12 Mappa dei caratteri
53.1.3 Struttura di DebianDoc
53.1.3.1 Organizzazione del catalogo, del DTD e delle entità
53.1.3.2 Utilizzo sommario
53.1.4 Guida rapida di DebianDoc
53.2 Introduzione a DocBook
53.2.1 Edizioni e varianti del DTD
53.2.2 Esperimenti con il DTD e convalida
53.2.3 Strumenti per la composizione
53.2.4 Struttura generale
53.2.5 Corpo del documento
53.2.5.1 Elenchi
53.2.5.2 Tabelle
53.2.5.3 Immagini
53.2.5.4 Riferimenti interni ed esterni
53.2.6 Conclusione
53.3 Introduzione a TEI
53.3.1 Strumenti per la composizione
53.3.2 Struttura generale di un documento TEI
53.3.2.1 Suddivisione del testo
53.3.2.2 Blocchi comuni
53.3.3 Elenchi
53.3.4 Tabelle
53.3.5 Figure
53.3.6 Forme di evidenziamento
53.3.7 Note
53.3.8 Riferimenti incrociati e riferimenti esterni
53.3.9 Documentazione tecnica
53.3.10 Indici
53.4 Riferimenti
54 HTML
54.1 URI e IRI
54.1.1 Trascrivibilità
54.1.2 Sintassi
54.1.2.1 Accesso a un servente attraverso la rete
54.1.2.2 Riferimento agli URI
54.1.2.3 Esempi
54.1.3 Limitazioni nell'uso dei caratteri
54.2 Aspetti generali di HTML
54.2.1 HTML e SGML
54.2.1.1 Attributi comuni attraverso le entità parametriche
54.2.1.2 Classificazione fondamentale degli elementi
54.2.2 Stili
54.2.3 Struttura di un documento HTML
54.2.3.1 Intestazione e informazioni supplementari
54.2.3.2 Corpo del documento
54.3 Attributi comuni
54.3.1 Linguaggio
54.3.2 Codifica
54.3.3 Direzione del testo
54.3.4 Titolo
54.3.5 Identificazione di un elemento
54.3.6 Classificazione degli elementi
54.4 HTML: corpo
54.4.1 Delimitazione di blocchi e di testo normale
54.4.2 Titoli e struttura implicita del testo
54.4.3 Testo
54.4.3.1 Paragrafi e interruzioni
54.4.3.2 Elementi tipici utilizzati all'interno delle frasi
54.4.3.3 Citazioni
54.4.3.4 Testo preformattato
54.4.4 Elenchi
54.4.5 Tabelle
54.4.6 Riferimenti ipertestuali
54.4.6.1 Riferimenti a una pagina intera
54.4.6.2 Riferimenti a una posizione di una pagina
54.4.6.3 Collegamenti simmetrici
54.4.6.4 Utilizzo dell'attributo ID
54.4.7 Inserzioni di oggetti
54.4.7.1 Immagini
54.5 XHTML
54.5.1 Scheletro di un file XHTML
54.5.2 Verifica della validità di un file XHTML
54.6 CSS
54.6.1 Logica del linguaggio CSS
54.6.1.1 Ereditarietà e collegamento in cascata
54.6.1.2 Selettori
54.6.1.3 Stili in cascata
54.6.2 Proprietà
54.6.3 Definizione della pagina
54.7 JavaScript
54.7.1 Verifica sintattica
54.7.2 Caratteristiche generali del linguaggio di programmazione
54.7.3 Variabili, costanti, tipi di dati ed espressioni
54.7.4 Funzioni e campo di azione delle variabili
54.7.5 Strutture di controllo di flusso
54.7.6 Array
54.7.7 Funzioni standard
54.7.8 Gestione delle stringhe
54.7.9 Moduli ''FORM''
54.7.10 Esempi di programmazione
54.7.10.1 Fattoriale
54.7.10.2 Massimo comune divisore
54.7.10.3 Numero primo
54.7.10.4 Ricerca sequenziale
54.8 Approfondimento: verifiche automatiche con JavaScript
54.8.1 Utilizzo del programma
54.8.2 Codice HTML
54.8.3 Variabili globali
54.8.4 Conto alla rovescia
54.8.5 Scansione di un elenco di tipo ''RADIO''
54.8.6 Valutazione della verifica
54.9 HTML2ps
54.9.1 Configurazione di HTML2ps
54.9.1.1 Configurazione della regola corrispondente al selettore speciale .html2ps
54.9.1.2 Configurazione in cascata
54.9.2 Avvio di HTML2ps
54.9.3 Particolarità nell'HTML
54.9.4 Programma frontale per semplificare l'utilizzo di HTML2ps
54.10 Introduzione a Amaya
54.10.1 Navigazione e composizione
54.10.1.1 Modifica del documento
54.10.2 Configurazione
54.10.3 Aggregazione di un documento composto
54.11 HTMLDOC
54.11.1 Sorgente HTML
54.11.2 Funzionamento
54.11.3 Definizione dei file sorgenti
54.11.4 Composizione
54.11.5 Formato e aspetto delle pagine
54.11.6 Indice generale
54.11.7 Carattere da stampa
54.11.8 Altre opzioni
54.11.9 Programmazione della composizione
54.11.10 Informazioni particolari nel sorgente
54.12 Motori di ricerca e robot
54.12.1 Elementi META
54.12.2 Filtro iniziale alla scansione dei robot
54.13 Riferimenti
55 HTML: lezioni pratiche e verifiche
55.1 Struttura generale e intestazione
55.1.1 File ''struttura-01.html''
55.1.2 File ''struttura-02.html''
55.1.3 File ''struttura-03.html''
55.1.4 File ''struttura-04.html''
55.2 Caratteri speciali
55.2.1 File ''macro-01.html''
55.2.2 File ''macro-02.html''
55.2.3 Verifica sulla struttura generale e sull'uso delle macro
55.3 Contenuto del testo lineare
55.3.1 File ''testo-lineare-01.html''
55.3.2 File ''testo-lineare-02.html''
55.3.3 Verifica sull'uso degli elementi interni al testo lineare
55.3.4 Seconda verifica sull'uso degli elementi interni al testo lineare
55.4 Testo preformattato
55.4.1 File ''testo-preformattato-01.html''
55.4.2 File ''testo-preformattato-02.html''
55.4.3 File ''testo-preformattato-03.html''
55.4.4 Verifica sull'uso degli elementi per il testo preformattato
55.5 Elenchi
55.5.1 File ''elenchi-01.html''
55.5.2 Verifica sull'uso degli elenchi
55.6 Tabelle
55.6.1 File ''tabelle-01.html''
55.6.2 File ''tabelle-02.html''
55.6.3 Verifica sull'uso di tabelle elementari
55.7 Tabelle complesse
55.7.1 File ''tabelle-03.html''
55.7.2 Verifica sull'uso di tabelle complesse
55.8 Riferimenti ipertestuali
55.8.1 File ''riferimenti-01.html''
55.8.2 Verifica sull'uso dei riferimenti ipertestuali
55.9 Citazioni
55.9.1 File ''citazioni-01.html''
55.10 Inserzione di oggetti
55.10.1 File ''oggetti-01.html''
55.10.2 File ''oggetti-02.html''
55.10.3 Verifica sull'inserzione di oggetti
55.11 Inserzione di immagini
55.11.1 File ''immagini-01.html''
55.11.2 File ''immagini-02.html''
55.11.3 Verifica sull'inserzione di immagini
55.12 Fogli di stile CSS
55.12.1 File ''stile-01.html''
55.12.2 File ''stile-02.html'' e ''stile-02.css''
55.13 Linguaggio CSS
55.13.1 File ''linguaggio-css-01.html''
55.13.2 Elementi ''DIV'' e ''SPAN''
55.14 Controllo del carattere
55.14.1 File ''caratteri-css-01.html''
55.14.2 File ''caratteri-css-02.html''
55.14.3 Verifica sull'uso delle proprietà riferite ai caratteri
55.15 Colore e sfondo
55.15.1 File ''colori-css-01.html''
55.15.2 File ''colori-css-02.html''
55.15.3 File ''sfondo-css-01.html''
55.15.4 File ''sfondo-css-02.html''
55.15.5 Verifica sull'uso delle proprietà riferite ai colori
55.16 Testo
55.16.1 File ''testo-css-01.html''
55.16.2 Verifica sull'uso delle proprietà riferite al testo
55.17 Blocchi
55.17.1 File ''blocchi-css-01.html''
55.17.2 File ''blocchi-css-02.html''
55.17.3 File ''blocchi-css-03.html''
55.17.4 Verifica sull'uso delle proprietà riferite ai blocchi
55.18 Contesto dinamico
55.18.1 File ''dinamica-css-01.html''
55.19 Rispetto del diritto d'autore
55.19.1 Verifica conclusiva
55.20 Riferimenti
56 introduzione a RDF: collegamento dei dati nel web
56.1 Un esempio prima di cominciare
56.2 Una base di dati fatta di ''triple''
56.3 Vocabolari
56.4 Abbreviazioni
56.5 Nodi vuoti
56.6 Tipo di nodo o classe
56.7 RDFa
56.8 N-Triples
56.9 Turtle
56.10 Riferimenti
57 Spartiti musicali
57.1 Concetti elementari sulle notazioni musicali
57.1.1 Denominazione delle note
57.1.2 Disposizione simbolica delle note sul pentagramma
57.1.3 Rappresentazione delle note e delle pause sul pentagramma
57.1.4 Unità di tempo
57.1.5 Alterazioni
57.2 Introduzione a LilyPond
57.2.1 Note e pause
57.2.2 Alterazioni
57.2.3 Impaginazione
57.2.4 File MIDI
57.2.5 Altri formati
57.2.6 Programmi frontali
57.2.7 Progetto Mutopia
57.3 Riferimenti
58 Codici a barre
58.1 Codice di controllo ''modulo n''
58.2 UPC-E e UPC-A
58.3 EAN-8 e EAN-13
58.4 Codici UCC ed EAN
58.5 ISBN
58.5.1 ISSN
58.6 Code 39
58.6.1 Code 39 esteso
58.7 Code 128
58.7.1 UCC/EAN 128
58.8 ITF, ovvero i25
58.9 Barcode
58.10 Codice QR
58.11 ZBar
58.12 Codice PDF417
58.13 Codice DataMatrix e Semacode
58.14 Riferimenti
59 Usare i programmi di scrittura visuale
59.1 La pagina
59.1.1 Pagine non omogenee
59.1.2 Formato della carta, orientamento e margini esterni
59.1.3 Intestazione e fondo pagina
59.1.4 Colonne
59.1.5 Pagine destre e sinistre
59.1.6 Esercizio
59.2 Il ''paragrafo''
59.2.1 Dimensioni
59.2.2 Controllo del flusso del testo
59.2.3 Allineamento
59.2.4 Tabulazione
59.2.5 Elenchi
59.2.6 Righello
59.3 Il testo
59.3.1 La specie alfabetica e il tipo di carattere
59.3.2 Gruppo stilistico, serie e corpo
59.3.3 Effetti comuni applicabili al carattere
59.3.4 Maiuscole e minuscole
59.3.5 Direzione del testo
59.3.6 Controllo ortografico
59.3.7 Correzione ortografica
59.3.8 Simboli speciali e il limite della tastiera
59.3.9 Visualizzazione dei ''caratteri non stampabili''
59.3.10 Inserzione di codici con funzioni speciali
59.4 Selezione, spostamento, copia
59.4.1 Selezione
59.4.2 Spostamento
59.4.3 Taglia-copia-incolla
59.5 Tabelle
59.5.1 Creazione di una tabella
59.5.2 Interazione con le tabelle
59.5.3 Righe, colonne e fusione delle celle
59.5.4 Bordi e sfondi
59.5.5 Righe di intestazione
59.5.6 Copia dal foglio elettronico
59.6 Incorporazione di oggetti
59.6.1 Scorrimento
59.6.2 Ancoraggio
59.7 Carta legale
59.7.1 Modello didattico
59.7.2 Impaginazione
59.7.3 Esercizio
59.7.4 Esercizio
59.8 Stili e indici
59.8.1 Competenze
59.8.2 Stili predefiniti
59.8.3 Modifica degli stili
59.8.4 Creazione di stili propri
59.8.5 Stili di uso comune
59.8.6 Indice generale
59.9 Stampa in serie o ''stampa unione''
59.9.1 Preparazione di un elenco di indirizzi
59.9.2 Acquisizione degli indirizzi
59.9.3 Inserimento dei campi
59.9.4 Visualizzazione dei dati
59.9.5 Stampa in serie
59.9.6 Associazione di un elenco alternativo
60 Lavagna elettronica
60.1 Bluetooth con i sistemi GNU/Linux
60.2 Bluetooth con i sistemi MS-Windows
60.2.1 Problemi con il PIN
60.3 Wiimote
60.4 Wminput
60.5 Wmgui
60.6 Penna a infrarossi
60.7 Inquadratura dello schermo
60.8 Gtkwhiteboard
60.9 WiimoteWhiteboard
60.10 Uniboard «non libero»
60.11 Riferimenti
61 Linguaggio naturale, tra uomo e macchina
61.1 AIML
61.1.1 Esempio iniziale
61.1.2 Stimoli
61.1.3 Responsi semplici
61.1.4 Responsi contenenti variabili
61.1.5 Ultimo responso
61.1.6 Contesto
61.1.7 Responso scelto casualmente
61.1.8 Responso scelto in base a una variabile
61.1.9 Lo scambio di persona, ma solo per la lingua inglese
61.1.10 Installazione e configurazione di un sistema basato su AIML: ''Program-O''
61.1.11 File AIML già pronti
61.1.12 Considerazioni finali
61.2 Analisi automatica del testo
61.2.1 POS: le parti del discorso
61.2.2 Treebank o corpus
61.2.3 Lemma, o radice della parola
61.2.4 NLP: elaborazione del linguaggio naturale
61.3 Freeling
61.3.1 Sistema di etichette per la lingua italiana
61.3.2 Uso del sistema già pronto
61.3.3 Altre osservazioni
61.3.4 Riferimenti
u2 Indice analitico del volume
Volume III Programmazione
Parte iii Dal linguaggio macchina al C
62 Algoritmi e notazioni
62.1 Notazione BNF
62.1.1 BNF essenziale
62.1.2 Estensioni usuali
62.2 Pseudocodifica
62.3 Problemi elementari di programmazione
62.3.1 Somma tra due numeri positivi
62.3.2 Moltiplicazione di due numeri positivi attraverso la somma
62.3.3 Divisione intera tra due numeri positivi
62.3.4 Elevamento a potenza
62.3.5 Radice quadrata
62.3.6 Fattoriale
62.3.7 Massimo comune divisore
62.3.8 Numero primo
62.3.9 Successione di Fibonacci
62.4 Scansione di array
62.4.1 Ricerca sequenziale
62.4.2 Ricerca binaria
62.5 Problemi classici di programmazione
62.5.1 Bubblesort
62.5.2 Fusione tra due array ordinati
62.5.3 Torre di Hanoi
62.5.4 Quicksort «ordinamento non decrescente»
62.5.5 Permutazioni
62.6 Gestione dei file
62.6.1 Fusione tra due file ordinati
62.6.2 Riordino attraverso la fusione
62.7 Trasformazione in lettere
62.7.1 Da numero a sequenza alfabetica pura
62.7.2 Da numero a numero romano
62.7.3 Da numero a lettere, nel senso verbale
62.8 Algoritmi elementari con la shell POSIX
62.8.1 ARCS0: ricerca del valore più grande tra tre numeri interi
62.8.2 ARCS1: moltiplicazione di due numeri interi
62.8.3 ARCS2: valore assoluto della differenza tra due valori
62.8.4 ARCS3: somma tra due numeri
62.8.5 ARCS4: prodotto tra due numeri
62.8.6 ARCS5: quoziente
62.8.7 ARCS6: verifica della parità di un numero
62.8.8 ARCS7: fattoriale
62.8.9 ARCS8: coefficiente binomiale
62.8.10 ARCS10: massimo comune divisore
62.8.11 ARCS11: massimo comune divisore
62.8.12 ARCS12: radice quadrata intera
62.8.13 ARCS13: numero primo
62.8.14 ARCS14: numero primo
62.9 Riferimenti
63 Linguaggio macchina
63.1 Organizzazione della memoria
63.1.1 Pila per salvare i dati
63.1.2 Chiamate di funzioni
63.1.3 Funzioni attraverso le istruzioni di salto
63.1.4 Variabili e array
63.1.5 Gestione alternativa degli indici
63.1.6 Ordine dei byte
63.1.7 Stringhe, array e puntatori
63.1.8 Utilizzo della memoria
63.2 Architettura, linguaggio, contesto virtuale, terminologia
63.2.1 Memoria e registri
63.2.2 Indicatori o ''flag''
63.2.3 ''Opcode''
63.2.4 Accesso alla memoria
63.2.5 Modello della memoria nei sistemi Unix
63.2.6 Sintassi ''AT&T'' e ''Intel''
63.2.7 Macchina virtuale
63.2.8 Compilazione e collegamento
63.3 Rappresentazione di valori numerici
63.3.1 Codifica delle singole cifre
63.3.2 Rappresentazione binaria di numeri interi senza segno
63.3.3 Rappresentazioni binarie superate di numeri interi con segno
63.3.4 Complemento a due
63.3.5 Rappresentazione binaria di numeri in virgola mobile
63.3.6 Rappresentazione in virgola mobile IEEE 754
63.3.7 Ordine dei byte
63.4 Calcoli con i valori binari rappresentati nella forma usata negli elaboratori
63.4.1 Modifica della quantità di cifre di un numero binario intero
63.4.2 Sommatorie con i valori interi con segno
63.4.3 Somme e sottrazioni con i valori interi senza segno
63.4.4 Somme e sottrazioni in fasi successive
63.4.5 Indicatori
63.5 Scorrimenti, rotazioni, operazioni logiche
63.5.1 Scorrimento logico
63.5.2 Scorrimento aritmetico
63.5.3 Scorrimento e indicatori
63.5.4 Moltiplicazione
63.5.5 Divisione
63.5.6 Rotazione
63.5.7 Rotazione e indicatori
63.5.8 Operatori logici
63.5.9 Intervenire su bit singoli
63.5.10 Somme e sottrazioni abbinate agli operatori logici
63.6 Confronti attraverso la sottrazione
63.6.1 Confronto di valori senza segno
63.6.2 Confronto di valori con segno
63.7 Riferimenti
64 Microprocessori x86-32
64.1 Terminologia impropria
64.2 Registri principali fino ai 32 bit
64.3 Sintesi delle istruzioni principali
64.4 Primo approccio al linguaggio assemblatore per x86
64.4.1 Il primo programma
64.4.2 Utilizzo di GDB
64.4.3 Modalità ''TUI''
64.4.4 Utilizzo di DDD
64.4.5 Alcune istruzioni comuni
64.4.5.1 MOV
64.4.5.2 ADD
64.4.5.3 SUB
64.4.5.4 INC e DEC
64.4.6 Dimensione dei dati nelle istruzioni
64.4.7 Direttive per il compilatore
64.4.7.1 Commenti
64.4.7.2 Direttiva ''equ''
64.4.7.3 Direttive di dichiarazione dei dati
64.4.8 Sezioni del sorgente
64.4.9 Usare GNU AS con la notazione Intel
64.5 Esempi con le ''quattro operazioni''
64.5.1 Somma
64.5.1.1 Traboccamento
64.5.1.2 Riporto
64.5.1.3 Somma di valori molti grandi
64.5.2 Sottrazione
64.5.2.1 Inversione del segno
64.5.2.2 Sottrazione per fasi successive
64.5.3 Moltiplicazione senza segno
64.5.4 Moltiplicazione con segno
64.5.5 Divisione
64.6 Esempi con gli ''spostamenti''
64.6.1 Scorrimento logico
64.6.2 Scorrimento aritmetico
64.6.3 Rotazione
64.6.4 Rotazione con riporto
64.7 Esempi con i confronti
64.8 Le istruzioni di salto
64.8.1 Portata del salto
64.8.2 Salto incondizionato
64.8.3 Salto condizionato dallo stato di un indicatore
64.8.4 Salto condizionato da un confronto
64.8.5 Cicli
64.9 Esempi di programmi con strutture di controllo
64.9.1 Somma attraverso l'incremento unitario
64.9.2 Moltiplicazione attraverso la somma
64.9.3 Divisione attraverso la sottrazione
64.9.4 Elevamento a potenza
64.9.5 Moltiplicazione attraverso lo scorrimento e la somma
64.9.6 Conteggio dei bit a uno
64.10 Funzioni
64.10.1 Esempio banale di chiamata
64.10.2 Salvataggio dei registri prima della chiamata
64.10.3 Passaggio di parametri attraverso la pila
64.10.4 Utilizzo del registro ''EBP''
64.10.5 Allocazione dello spazio per le variabili locali e preservazione dei registri
64.10.6 Convenzioni di chiamata
64.10.7 Nota sugli array ''locali''
64.11 Esempi di funzioni ricorsive
64.11.1 Elevamento a potenza
64.11.2 Fattoriale
64.12 Indirizzamento dei dati
64.12.1 Gestione di array
64.12.2 Istruzione ''LEA''
64.13 Rappresentazione dei dati in memoria attraverso un esempio
64.14 Esempi con gli array
64.14.1 Ricerca sequenziale
64.14.2 Ricerca binaria
64.14.3 Bubblesort
64.15 Calcoli con gli indirizzi in fase di compilazione
64.15.1 Distanza tra due indirizzi
64.15.2 Riempimento di spazio inutilizzato
64.16 Interazione con il sistema operativo
64.16.1 Parametri di chiamata del programma
64.16.2 Funzioni del sistema operativo
64.16.3 Esempi di lettura e scrittura con i flussi standard
64.17 Riferimenti
65 Compilazione e formato binario eseguibile
65.1 Compilazione di programmi composti da più file sorgenti
65.1.1 Inclusione di file
65.1.2 Due file sorgenti da collegare assieme
65.1.3 Incorporazione di codice in linguaggio C
65.2 Librerie dinamiche e librerie statiche
65.2.1 Il processo di ''collegamento'' dinamico
65.2.2 Creazione di una libreria dinamica
65.2.3 Creare un programma che utilizza una libreria dinamica
65.2.4 Creare un file che utilizza una libreria dinamica standard
65.2.5 Librerie statiche
65.3 Dal sorgente all'immagine in memoria
65.3.1 File oggetto
65.3.2 File eseguibile
65.3.3 Immagine del processo nella memoria virtuale
65.3.4 Allineamento dei segmenti in memoria
65.3.5 Script per il collegamento
65.3.6 Osservazioni sui simboli
65.3.7 Formati dei file oggetto
65.4 Formato ELF
65.4.1 Sezioni e segmenti
65.4.2 Intestazione ELF
65.4.3 Descrizione dei segmenti
65.4.4 Definizione manuale di un formato ELF
65.4.5 Esempio più complesso
65.5 Programmi completamente autonomi
65.5.1 Le specifiche ''multiboot''
65.5.1.1 Formato del file che deve essere avviato
65.5.1.2 Situazione dopo l'avvio del file-immagine
65.5.1.3 Informazioni passate dal sistema di avvio al programma
65.5.2 Esempio di programma da avviare secondo le specifiche ''multiboot''
65.5.3 Visualizzazione di messaggi
65.5.4 Colori dello schermo
65.6 Compilazione C dal basso in alto
65.6.1 Compilazione di un programma che non fa uso di librerie
65.6.2 Uso di GDB e di DDD
65.6.3 Da ''.start'' a ''main''
65.6.4 Compilazione naturale di un programma in linguaggio C
65.7 Compilazione C dall'alto in basso
65.7.1 Le fasi della compilazione
65.7.2 Precompilatore
65.7.3 Compilazione dei file intermedi
65.7.4 L'uso di librerie
65.7.5 Librerie statiche e librerie dinamiche
65.7.6 L'ordine dei file e delle librerie nella compilazione
65.7.7 Prevenzione e ricerca degli errori
65.7.8 Problemi con l'ottimizzazione
65.8 Compilazione guidata con Make
65.8.1 Obiettivo, dipendenze e comandi
65.8.2 Obiettivi fittizi
65.8.3 Scelta dell'obiettivo
65.8.4 Interpretazione dei comandi che portano a un obiettivo
65.8.5 Variabili o ''macro''
65.8.6 Utilizzo oculato delle variabili
65.8.7 Espansione e continuazione al di fuori dei comandi
65.8.8 Variabili automatiche
65.8.9 Regole implicite
65.8.10 Uno script per ogni sottodirectory
65.8.11 Una regola per più obiettivi
65.8.12 Regole fittizie tipiche
65.8.13 Variabili per l'installazione
65.8.14 Definizione della shell
65.8.15 Installazione dei programmi
65.9 Riferimenti
66 Introduzione al linguaggio C
66.1 Nozioni minime
66.1.1 Struttura fondamentale
66.1.2 Ciao mondo!
66.1.2.1 Compilazione
66.1.2.2 Emissione dati attraverso ''printf«»''
66.1.3 Variabili e tipi
66.1.3.1 Bit, byte e caratteri
66.1.3.2 Tipi primitivi
66.1.3.3 Costanti letterali comuni
66.1.3.4 Valore numerico delle costanti carattere
66.1.3.5 Campo di azione delle variabili
66.1.3.6 Dichiarazione delle variabili
66.1.3.7 Variabili costanti e variabili volatili
66.1.3.8 Il tipo indefinito: ''void''
66.1.4 Operatori ed espressioni
66.1.4.1 Operatori aritmetici
66.1.4.2 Operatori di confronto e operatori logici
66.1.4.3 Operatori binari
66.1.4.4 Conversione di tipo
66.1.4.5 Espressioni multiple
66.1.5 Strutture di controllo di flusso
66.1.5.1 Struttura condizionale: ''if''
66.1.5.2 Struttura di selezione: ''switch''
66.1.5.3 Iterazione con condizione di uscita iniziale: ''while''
66.1.5.4 Iterazione con condizione di uscita finale: ''do-while''
66.1.5.5 Ciclo enumerativo: ''for''
66.1.6 Funzioni
66.1.6.1 Dichiarazione di un prototipo
66.1.6.2 Descrizione di una funzione
66.1.6.3 File di intestazione e libreria
66.1.7 Vincoli nei nomi
66.1.8 I/O elementare
66.1.9 Restituzione di un valore
66.1.10 Attributi per GNU C
66.2 Istruzioni del precompilatore
66.2.1 Linguaggio a sé stante
66.2.2 Direttiva ''#include''
66.2.3 Direttiva ''#define''
66.2.4 Direttiva ''#define'' con parametri
66.2.5 Direttive ''#if'', ''#else'', ''#elif'' e ''#endif''
66.2.6 Direttive ''#if defined'', ''#if !defined'', ''#ifdef'' e ''#ifndef''
66.2.7 Direttiva ''#undef''
66.2.8 Direttiva ''#line''
66.2.9 Direttiva ''#error''
66.2.10 Macro predefinite
66.2.11 Pragma
66.3 Dal campo di azione alla compilazione
66.3.1 Il punto di vista del ''collegatore''
66.3.2 Campo di azione legato al file sorgente
66.3.3 Semplificazione dovuta all'uso comune dei file di intestazione
66.3.4 Campo di azione interno alle funzioni
66.3.5 Campo di azione interno ai raggruppamenti di istruzioni
66.3.6 Funzioni annidate
66.3.7 Visibilità, accessibilità, staticità
66.3.8 Compilazione di un progetto composto da più file
66.3.9 Osservazioni sulla vita delle costanti letterali
66.3.10 Libreria standard e file di intestazione
66.4 Annotazioni sulla terminologia
66.4.1 Parametri e argomenti
66.4.2 Byte e caratteri
66.4.3 Unità di traduzione
66.4.4 ''Linkage''
66.4.5 Durata di memorizzazione
66.4.6 ''Lvalue'' e ''rvalue''
66.4.7 ''Digraph'' e ''Trigraph''
66.5 Puntatori, array, stringhe e allocazione dinamica della memoria
66.5.1 Espressioni a cui si assegnano dei valori
66.5.2 Puntatori
66.5.3 Array
66.5.4 Array multidimensionali
66.5.5 Natura dell'array
66.5.6 Puntatori costanti
66.5.7 Array e funzioni
66.5.8 Aritmetica dei puntatori
66.5.9 Osservazioni sui puntatori
66.5.10 Stringhe
66.5.11 Parametri della funzione main«»
66.5.12 Puntatori a puntatori
66.5.13 Puntatori a più dimensioni
66.5.14 Puntatori e funzioni
66.5.14.1 Puntatori a funzione, membri di una struttura
66.5.15 Puntatori a variabili distrutte
66.5.16 Puntatore nullo
66.5.17 Utilizzo della memoria in modo dinamico
66.5.18 Puntatori ''ristretti''
66.6 Le funzioni
66.6.1 Pila dei dati
66.6.2 Dichiarazione e chiamata di una funzione
66.6.3 Elenco indefinito di parametri
66.6.4 Annotazioni su ''printf«»'' e altre funzioni simili
66.6.5 Costante predefinita ''..func..''
66.7 Struttura, unione, campo, enumerazione, costante composta
66.7.1 Enumerazioni
66.7.2 Strutture
66.7.3 Assegnamento, inizializzazione, campo di azione e puntatori delle strutture
66.7.4 Scostamento all'interno delle strutture
66.7.5 Unioni
66.7.6 Campi
66.7.7 Istruzione ''typedef''
66.7.8 Costanti letterali composte
66.8 Tipi di dati speciali, di uso comune
66.8.1 Tipo ''.Bool''
66.8.2 Tipo ''void''
66.8.3 Tipo ''size.t''
66.8.4 Tipo ''ptrdiff.t''
66.8.5 Tipo ''va.list''
66.8.6 Tipo ''wchar.t''
66.8.7 Tipo ''wint.t''
66.8.8 Tipo ''time.t''
66.8.9 Tipo ''struct tm''
66.8.10 Tipo ''FILE''
66.8.11 Tipo ''fpos.t''
66.9 Configurazione locale
66.9.1 Configurazione locale nei sistemi Unix e simili
66.9.2 Configurazione locale nel linguaggio C
66.9.3 Caratteri multibyte e caratteri estesi
66.9.4 Concatenamento eterogeneo
66.9.5 Conversione tra caratteri multibyte e caratteri estesi
66.10 Organizzazione dei file sorgenti
66.10.1 File di intestazione
66.10.2 Funzioni pubbliche
66.10.3 Funzioni e variabili private
66.10.4 Esempio di ''stdlib.h''
66.10.5 Parametri delle macroistruzioni
66.10.6 Compilazione
66.11 K&R
66.11.1 Prototipi e chiamate delle funzioni
66.11.1.1 La macroistruzione ''.PROTOTYPE'' di Minix
66.11.2 Dichiarazione delle funzioni
66.11.3 Operatori composti di assegnamento
66.11.4 Tipi numerici
66.11.5 Tipo ''void *''
66.11.6 Direttive del preprocessore
66.11.7 Altre osservazioni su K&R
66.11.8 Unproto
66.12 Riferimenti
67 Gestione dei flussi di file in C
67.1 Concetti generali
67.1.1 Dal file al flusso di file
67.1.2 File di testo e file binari
67.1.3 Fine del file
67.1.4 Memoria tampone
67.1.5 Flussi standard
67.1.6 Orientamento
67.2 Utilizzo comune dei file
67.2.1 Apertura e chiusura
67.2.2 Lettura e scrittura
67.2.3 Indicatore interno al file
67.2.4 File di testo
67.2.5 I/O standard
67.2.6 Ridirezione
67.2.7 Controllo degli errori
67.3 Conversione di input e output
67.3.1 Composizione dell'output
67.3.2 Rappresentazione degli specificatori di composizione per l'emissione dei dati
67.3.3 Funzioni per la composizione dell'output
67.3.4 Concatenamento di stringhe
67.3.5 Interpretazione dell'input
67.3.6 Rappresentazione degli specificatori di conversione
67.3.7 Funzioni per l'interpretazione dell'input
67.4 Riferimenti
u3 Esempi di programmazione in C
u2.1 Problemi elementari
i3.1.1 Somma tra due numeri positivi
i3.1.2 Moltiplicazione di due numeri positivi attraverso la somma
i3.1.3 Divisione intera tra due numeri positivi
i3.1.4 Elevamento a potenza
i3.1.5 Radice quadrata
i3.1.6 Fattoriale
i3.1.7 Massimo comune divisore
i3.1.8 Numero primo
i3.1.9 Successione di Fibonacci
u2.2 Scansione di array
i3.2.1 Ricerca sequenziale
i3.2.2 Ricerca binaria
u2.3 Algoritmi tradizionali
i3.3.1 Bubblesort
i3.3.2 Torre di Hanoi
i3.3.3 Quicksort
i3.3.4 Permutazioni
68 Introduzione alle estensioni POSIX
68.1 Dal C a POSIX
68.1.1 Byte di otto bit
68.1.2 Errori
68.1.3 Gestione dei file
68.1.4 Altre funzionalità particolari
68.2 Espressioni regolari POSIX
68.2.1 Compilazione, confronto e rilascio della memoria
68.2.2 Compilazione dell'espressione regolare
68.2.3 Liberazione della memoria
68.2.4 Confronto
68.2.5 Estrapolazione di sottostringhe
68.2.6 Informazioni diagnostiche
68.2.7 Esempio completo
68.3 Avvio e conclusione dei processi
68.3.1 Biforcazione: ''fork''
68.3.2 Sostituzione: ''exec''
68.3.3 Attesa della conclusione di un processo figlio
68.3.4 Adozione dei processi
68.3.5 Gli zombie
68.3.6 Variabili di ambiente
68.3.7 Variabili di ambiente e avvio di un programma
68.4 Nozioni sui thread POSIX
68.4.1 Numero identificativo del thread
68.4.2 Creazione e conclusione di un thread aggiuntivo
68.4.3 Caratteristiche della funzione che costituisce un thread aggiuntivo
68.4.4 Avvio di thread separati e fusione successiva
68.4.5 Conflitto nell'accesso ai dati
68.4.6 Accesso alle risorse in modo mutualmente esclusivo
68.4.7 Accesso esclusivo, ma condizionato
68.4.8 Osservazioni finali
68.5 I file secondo i sistemi POSIX
68.5.1 Apertura e chiusura di un file
68.5.2 Lettura e scrittura
68.5.3 Spostamento dell'indicatore interno al file
68.5.4 Controllo degli errori
68.6 Il file system Unix e la sua gestione tipica
68.6.1 Il blocco
68.6.2 Il super blocco
68.6.3 Gli inode
68.6.4 La directory
68.6.5 Tabelle del sistema operativo
68.6.5.1 Tabella dei super blocchi
68.6.5.2 Tabella degli inode
68.6.5.3 Tabella dei file
68.6.5.4 Tabella dei descrittori dei file
68.6.5.5 Flussi di file
68.7 Il file system Minix 1
68.7.1 Blocchi e zone
68.7.2 Struttura generale
68.7.3 Super blocco
68.7.4 Mappa di inode
68.7.5 Mappa di zone
68.7.6 Inode
68.7.7 Directory
68.7.8 Il problema dell'inversione dei byte
68.8 Creazione ed eliminazione di file di qualunque tipo
68.8.1 La funzione ''mknod«»''
68.8.1.1 Creazione di un file ''normale''
68.8.1.2 Creazione di una directory
68.8.1.3 Creazione di un file FIFO
68.8.1.4 Creazione di file di dispositivo
68.8.2 La funzione ''mkdir«»''
68.8.3 La funzione ''mkfifo«»''
68.8.4 La funzione ''unlink«»''
68.8.5 La funzione ''rmdir«»''
68.8.6 La funzione ''remove«»''
68.9 Condotti
68.9.1 Realizzazione materiale del condotto
68.9.2 Condotti ''senza nome'' e condotti ''con nome''
68.9.3 Protocollo di accesso ai condotti
68.9.4 Funzione ''pipe«»''
68.9.5 Esempio di condotto attraverso un file FIFO
68.10 Lettura delle directory
68.10.1 Tipi derivati
68.10.2 Procedura per accedere a una directory
68.10.3 Attributo ''FD.CLOEXEC''
68.10.4 Esempio di utilizzo delle funzioni di accesso alle directory
68.11 Riferimenti
69 Libreria C, con qualche estensione POSIX
69.1 Funzionalità di libreria non dichiarate
69.2 File ''assert.h''
69.2.1 Utilizzo
69.3 File ''limits.h''
69.3.1 Confronto tra architetture
69.3.2 Estensioni POSIX
69.4 File ''stdint.h''
69.4.1 Tipi interi ad ampiezza esatta
69.4.2 Tipi interi di rango minimo
69.4.3 Tipi interi ''veloci''
69.4.4 Tipi interi per rappresentare dei puntatori
69.4.5 Tipi interi di rango massimo
69.4.6 Limiti per altri tipi interi
69.5 File ''errno.h''
69.6 File ''locale.h''
69.6.1 Impostazione della configurazione locale
69.6.2 Composizione dei valori numerici
69.7 File ''ctype.h''
69.7.1 Funzioni ''is... «»''
69.7.2 macroistruzioni ''is...«»''
69.7.3 Funzioni di conversione
69.7.4 macroistruzioni di conversione
69.7.5 Esempio di utilizzo delle funzioni
69.8 File ''stdarg.h''
69.8.1 Realizzazione
69.8.2 Esempio di utilizzo delle macro
69.8.3 Promozione
69.9 File ''stdlib.h''
69.9.1 Tipi di dati speciali
69.9.2 Macro-variabili
69.9.3 Conversioni numeriche
69.9.4 Funzioni per la generazione di numeri in modo pseudo-casuale
69.9.5 Funzioni standard per la generazione di numeri pseudo-casuali
69.9.6 Amministrazione della memoria
69.9.7 Conclusione forzata del programma
69.9.8 Funzioni di comunicazione con l'ambiente
69.9.9 Funzioni di ricerca e riordino
69.9.10 Funzioni per l'aritmetica con i numeri interi
69.9.11 Funzioni per la gestione di caratteri estesi e sequenze multibyte
69.9.12 Funzione ''mblen«»''
69.9.13 Funzioni ''mbtowc«»'' e ''wctomb«»''
69.9.14 Funzioni ''mbstowcs«»'' e ''wcstombs«»''
69.10 File ''inttypes.h''
69.10.1 Divisione intera con interi di rango massimo
69.10.2 Macro-variabili in qualità di specificatori di conversione
69.10.3 Valore assoluto
69.10.4 Conversione da stringa a numero intero
69.11 File ''iso646.h''
69.12 File ''stdbool.h''
69.13 File ''stddef.h''
69.14 File ''string.h''
69.14.1 Copia
69.14.1.1 Funzione ''memcpy«»'' «memory copy»
69.14.1.2 Funzione ''memccpy«»''
69.14.1.3 Funzione ''memmove«»'' «memory move»
69.14.1.4 Funzione ''strcpy«»'' «string copy»
69.14.1.5 Funzione ''strncpy«»''
69.14.1.6 Funzione ''strdup«»''
69.14.2 Concatenamento
69.14.2.1 Funzione ''strcat«»'' «string cat»
69.14.2.2 Funzione ''strncat«»''
69.14.3 Comparazione
69.14.3.1 Funzione ''memcmp«»'' «memory compare»
69.14.3.2 Funzione ''strcmp«»'' «string compare»
69.14.3.3 Funzione ''strcoll«»'' «string collate compare»
69.14.3.4 Funzione ''strncmp«»''
69.14.3.5 Funzione ''strxfrm«»'' «string transform»
69.14.4 Ricerca
69.14.4.1 Funzione ''memchr«»'' «memory character»
69.14.4.2 Funzione ''strchr«»'' «string character»
69.14.4.3 Funzione ''strrchr«»'' «string character»
69.14.4.4 Funzione ''strspn«»'' «string span»
69.14.4.5 Funzione ''strcspn«»''
69.14.4.6 Funzione ''strpbrk«»'' «string point break»
69.14.4.7 Funzione ''strstr«»''
69.14.4.8 Funzione ''strtok«»'' «string token»
69.14.4.9 Funzione ''strtok.r«»''
69.14.5 Funzioni varie
69.14.5.1 Funzione ''memset«»'' «memory set»
69.14.5.2 Funzione ''strerror«»'' «string error»
69.14.5.3 Funzione ''strerror.r«»'' «string error»
69.14.5.4 Funzione ''strlen«»'' «string length»
69.15 File ''signal.h''
69.15.1 Dichiarazione contorta
69.15.2 Tipo speciale
69.15.3 Denominazione dei segnali
69.15.4 Segnali secondo POSIX
69.15.5 Gestori fittizi di segnali
69.15.6 Funzioni
69.15.7 Esempio
69.16 File ''time.h''
69.16.1 Il tempo di CPU
69.16.2 Rappresentazione interna del tempo
69.16.3 Rappresentazione strutturata del tempo
69.16.4 Funzioni per l'elaborazione di valori legati al tempo
69.16.4.1 Funzione ''time«»''
69.16.4.2 Funzione ''difftime«»''
69.16.4.3 Funzione ''mktime«»''
69.16.4.4 Funzioni ''gmtime«»'' e ''localtime«»''
69.16.5 Conversione in stringa
69.16.5.1 Funzione ''asctime«»''
69.16.5.2 Funzione ''ctime«»''
69.16.5.3 Funzione ''strftime«»''
69.17 File ''stdio.h''
69.17.1 Tipi
69.17.2 Macro-variabili varie
69.17.3 Ipotesi di gestione del tipo ''FILE''
69.17.4 Flussi standard
69.17.5 Funzioni per la rimozione e la ridenominazione dei file
69.17.6 Funzioni per la gestione dei file temporanei
69.17.7 Funzioni per l'apertura e la chiusura dei flussi di file
69.17.8 Funzioni per la gestione della memoria tampone
69.17.9 Funzioni per la composizione dell'output
69.17.9.1 Funzioni che ricevono gli argomenti direttamente
69.17.9.2 Funzioni che ricevono gli argomenti da un'altra funzione
69.17.10 Funzioni per l'interpretazione dell'input
69.17.10.1 Funzioni che ricevono gli argomenti direttamente
69.17.10.2 Funzioni che ricevono gli argomenti da un'altra funzione
69.17.11 Funzioni per la lettura e la scrittura di un carattere alla volta
69.17.12 Funzioni per l'input e l'output di file di testo
69.17.13 Funzioni per l'input e output diretto
69.17.14 Funzioni per il posizionamento
69.17.15 Accesso esclusivo ai flussi di file
69.17.16 Condotti
69.17.17 Informazioni sul terminale
69.17.18 Gestione degli errori
69.17.19 Realizzazione di ''vsnprintf«»'' e altre collegate
69.18 Riferimenti
70 Libreria POSIX
70.1 File ''sys/types.h''
70.2 File ''sys/stat.h''
70.2.1 Macro-variabili per la definizione del contenuto di un valore di tipo ''mode.t''
70.2.2 Struttura ''stat''
70.2.3 Prototipi di funzione
70.3 File ''strings.h''
70.3.1 Funzione ''ffs«»''
70.3.2 Funzioni ''strcasecmp«»'' e ''strncasecmp«»''
70.4 File ''fcntl.h''
70.4.1 Tipi di dati derivati
70.4.2 Opzioni per la funzione ''fcntl«»''
70.4.3 Gestione del blocco dei file
70.4.4 Funzioni
70.5 File ''unistd.h''
70.5.1 Denominazione dei descrittori di file
70.5.2 Verifica dei permessi di accesso
70.5.3 Funzioni
70.5.4 Funzioni di servizio per la gestione di file e directory
70.5.4.1 Funzione ''access«»''
70.5.4.2 Funzione ''getcwd«»''
70.5.4.3 Funzione ''chdir«»''
70.5.4.4 Funzioni ''link«»'' e ''unlink«»''
70.6 File ''dirent.h''
70.6.1 Struttura ''dirent''
70.6.2 Tipo ''DIR''
70.6.3 Prototipi di funzioni
70.7 File ''termios.h''
70.7.1 Tipi speciali
70.7.2 Tipo ''struct termios''
70.7.3 Codici di controllo
70.7.4 Indicatori per il membro ''c.iflag''
70.7.5 Indicatori per il membro ''c.oflag''
70.7.6 Indicatori per il membro ''c.cflag''
70.7.7 Indicatori per il membro ''c.lflag''
70.7.8 Funzioni
70.8 Riferimenti
u4 Tabelle riepilogative della libreria C e POSIX
u2.1 File ''stdarg.h''
u2.2 File ''limits.h''
u2.3 File ''stdint.h''
u2.4 File ''inttypes.h''
u2.5 File ''ctype.h''
u2.6 File ''stdlib.h''
u2.7 File ''string.h''
u2.8 File ''time.h''
u2.9 File ''stdio.h'' per la gestione dei file e degli errori
u2.10 File ''stdio.h'' per la composizione dell'output
u2.11 File ''stdio.h'' per l'interpretazione dell'input
u2.12 File ''assert.h''
u2.13 File ''stddef.h''
u2.14 File ''locale.h''
u2.15 File ''regex.h''
u2.16 File ''sys/stat.h''
71 Gettext
71.1 Principio di funzionamento
71.2 Fasi di preparazione
71.3 Abbinamento a un ''pacchetto''
71.4 Creazione e mantenimento dei file PO
71.4.1 Commenti ''fuzzy''
71.5 Gettext con i programmi Perl
71.5.1 Adattare il sorgente Perl per facilitare l'estrazione dei messaggi da tradurre
71.5.2 Alleviare gli inconvenienti di un modulo in più
Parte iv COBOL
72 Manuale COBOL
72.1 Caratteristiche del linguaggio
72.1.1 Organizzazione del programma in forma sorgente
72.1.2 Insieme dei caratteri
72.1.3 Struttura del linguaggio
72.1.3.1 Separatori
72.1.3.2 Stringhe: ''character-string''
72.1.3.3 Parole
72.1.3.4 Parole definite dall'utente
72.1.3.5 Parole riservate
72.1.3.6 Costanti figurative
72.1.3.7 Parole di caratteri speciali
72.1.3.8 Rappresentazione delle costanti
72.1.4 Notazione sintattica
72.2 Modulo di programmazione
72.2.1 Indicatore
72.2.2 Area A e area B
72.2.3 Interpunzione
72.3 Divisione ''IDENTIFICATION DIVISION''
72.3.1 Struttura
72.3.2 Codifica della divisione
72.4 Divisione ''ENVIRONMENT DIVISION''
72.4.1 Struttura
72.4.2 Sezione ''CONFIGURATION SECTION''
72.4.2.1 Paragrafo ''SOURCE-COMPUTER''
72.4.2.2 Paragrafo ''OBJECT-COMPUTER''
72.4.2.3 Paragrafo ''SPECIAL-NAMES''
72.4.3 Sezione ''INPUT-OUTPUT SECTION''
72.4.3.1 Paragrafo ''FILE-CONTROL''
72.4.3.2 File fisici e file ''logici''
72.4.3.3 Istruzione ''SELECT'' per i file sequenziali
72.4.3.4 Istruzione ''SELECT'' per i file relativi
72.4.3.5 Istruzione ''SELECT'' per i file a indice
72.4.3.6 Riordino e fusione
72.4.3.7 Paragrafo ''I-O-CONTROL''
72.5 Divisione ''DATA DIVISION''
72.5.1 Sezione ''FILE SECTION''
72.5.1.1 Indicatore di livello ''FD''
72.5.1.2 Indicatore di livello ''SD''
72.5.1.3 Dichiarazione ''BLOCK CONTAINS''
72.5.1.4 Dichiarazione ''DATA RECORD''
72.5.1.5 Dichiarazione ''LABEL RECORD''
72.5.1.6 Dichiarazione ''RECORD CONTAINS''
72.5.1.7 Dichiarazione ''CODE-SET''
72.5.1.8 Dichiarazione ''VALUE OF''
72.5.1.9 Descrizione del record
72.5.2 Sezione ''WORKING-STORAGE SECTION''
72.5.3 Altri livelli speciali
72.6 Descrizione delle variabili
72.6.1 Oggetto della dichiarazione
72.6.2 Ridefinizione di una variabile
72.6.3 Opzione ''PICTURE''
72.6.4 Opzione ''USAGE''
72.6.5 Opzione ''SIGN''
72.6.6 Opzione ''OCCURS''
72.6.7 Opzione ''SYNCHRONIZED''
72.6.8 Opzione ''JUSTIFIED RIGHT''
72.6.9 Opzione ''BLANK WHEN ZERO''
72.6.10 Opzione ''VALUE''
72.6.11 Opzione ''RENAMES''
72.7 Tabelle
72.7.1 Dichiarazione di una tabella
72.7.2 Riferimento al contenuto di una tabella
72.7.3 Indice
72.7.4 Tabelle di dimensione variabile
72.7.5 Tabelle ordinate
72.7.6 Scansione delle tabelle
72.8 Nomi di condizione, raggruppamento e qualificazione
72.8.1 Nomi di condizione
72.8.2 Raggruppamento
72.8.3 Qualificazione
72.9 Modello di definizione della variabile
72.9.1 Dichiarazione del modello di definizione della variabile
72.9.2 Variabili alfanumeriche
72.9.3 Variabili alfanumeriche modificate
72.9.4 Variabili numeriche
72.9.5 Variabili numeriche modificate
72.10 Note sull'utilizzo dell'insieme di caratteri universale con il COBOL
72.10.1 Stringhe letterali
72.10.2 modello di definizione delle variabili
72.10.3 Costanti figurative
72.11 Divisione ''PROCEDURE DIVISION''
72.11.1 Gruppo di sezioni ''DECLARATIVES''
72.11.2 Sezioni e segmenti
72.11.3 Gruppi di istruzioni e istruzioni condizionali
72.11.4 Sezioni, paragrafi e qualificazione
72.11.5 Espressioni aritmetiche
72.11.6 Espressioni condizionali
72.11.6.1 Condizioni di relazione
72.11.6.2 Condizioni di classe
72.11.6.3 Nomi di condizione
72.11.6.4 Condizioni di segno
72.11.6.5 Condizioni composte e negate
72.11.7 Avverbi comuni
72.12 Istruzioni della divisione ''PROCEDURE DIVISION''
72.12.1 Istruzione ''ACCEPT''
72.12.2 Istruzione ''ADD''
72.12.3 Istruzione ''CLOSE''
72.12.4 Istruzione ''COMPUTE''
72.12.5 Istruzione ''DELETE''
72.12.6 Istruzione ''DISPLAY''
72.12.7 Istruzione ''DIVIDE''
72.12.8 Istruzione ''EXIT''
72.12.9 Istruzione ''GO TO''
72.12.10 Istruzione ''IF''
72.12.11 Istruzione ''INSPECT''
72.12.12 Istruzione ''MOVE''
72.12.13 Istruzione ''MULTIPLY''
72.12.14 Istruzione ''OPEN''
72.12.15 Istruzione ''PERFORM''
72.12.15.1 Chiamata semplice
72.12.15.2 Chiamata ripetuta un certo numero di volte
72.12.15.3 Chiamata ripetuta con condizione di uscita
72.12.15.4 Chiamata ripetuta con condizione di uscita e incremento di contatori
72.12.16 Istruzione ''READ''
72.12.17 Istruzione ''REWRITE''
72.12.18 Istruzione ''SEARCH''
72.12.18.1 Ricerca sequenziale
72.12.18.2 Ricerca in una tabella ordinata
72.12.19 Istruzione ''SET''
72.12.20 Istruzione ''START''
72.12.21 Istruzione ''STOP RUN''
72.12.22 Istruzione ''STRING''
72.12.23 Istruzione ''SUBTRACT''
72.12.24 Istruzione ''WRITE''
72.13 Riordino e fusione
72.13.1 Riordino
72.13.2 Fusione
72.13.3 Gestire i dati in ingresso o in uscita attraverso delle procedure
72.13.4 Lettura del risultato dell'ordinamento o della fusione attraverso una procedura
72.13.5 Acquisizione dei dati per il riordino da una procedura
72.14 Riferimenti
73 Programmare in COBOL
73.1 Preparazione
73.1.1 Problema del modulo di programmazione
73.1.1.1 Compatibilità con i compilatori
73.1.2 Riepilogo di alcuni concetti importanti del linguaggio
73.1.3 TinyCOBOL
73.1.4 OpenCOBOL
73.2 Esempi elementari
73.2.1 ELM0100: prodotto tra due numeri
73.2.2 ELM0200: prodotto tra due numeri
73.2.3 ELM0300: prodotto tra due numeri
73.2.4 ELM0400: prodotto tra due numeri
73.2.5 ELM0500: prodotto tra due numeri
73.2.6 ELM0600: inserimento dati in un vettore
73.2.7 ELM0700: inserimento dati in un vettore
73.2.8 ELM0800: inserimento dati in un vettore
73.2.9 ELM0900: ricerca sequenziale all'interno di un vettore
73.2.10 ELM1000: ricerca sequenziale all'interno di un vettore
73.2.11 ELM1100: ricerca sequenziale all'interno di un vettore
73.2.12 ELM1300: creazione di un file sequenziale
73.2.13 ELM1400: estensione di un file sequenziale
73.2.14 ELM1500: lettura di un file sequenziale
73.3 Esempi elementari con i file
73.3.1 AGO-83-1: estensione di un file sequenziale
73.3.2 AGO-83-2: lettura sequenziale e ricerca di una chiave
73.3.3 AGO-83-3: estensione di un file relativo
73.3.4 AGO-83-4: lettura di un file relativo ad accesso diretto
73.3.5 AGO-83-5: creazione di un file a indice
73.3.6 AGO-83-6: lettura di un file a indice ad accesso diretto
73.3.7 AGO-83-8: lettura di un file a indice ad accesso dinamico
73.3.8 AGO-83-10: lettura di un file a indice ad accesso dinamico
73.3.9 AGO-83-12: lettura di un file a indice ad accesso dinamico
73.3.10 AGO-83-13: creazione di un file sequenziale con dati da rielaborare
73.3.11 AGO-83-14: lettura e riscrittura di un file sequenziale
73.3.12 AGO-83-15: estensione di un file sequenziale contenente aggiornamenti successivi
73.3.13 AGO-83-16: aggiornamento di un file a indice
73.3.14 AGO-83-18: fusione tra due file sequenziali ordinati
73.3.15 AGO-83-20: riordino attraverso la fusione
73.4 Approfondimento: una tecnica per simulare la ricorsione in COBOL
73.4.1 Il concetto di locale e di globale
73.4.2 La ricorsione
73.4.3 Proprietà del linguaggio ricorsivo
73.4.4 Descrizione della tecnica per simulare la ricorsione in COBOL
73.4.5 Torre di Hanoi
73.4.6 Quicksort «ordinamento non decrescente»
73.4.7 Permutazioni
73.4.8 Bibliografia
73.5 Riferimenti
Parte v Basi di dati
74 DBMS e SQL
74.1 Introduzione ai DBMS
74.1.1 Caratteristiche fondamentali
74.1.1.1 Livelli di astrazione dei dati
74.1.1.2 Ruoli e sigle standard
74.1.2 Modello relazionale
74.1.2.1 Relazioni collegate
74.1.2.2 Tipi di dati, domini e informazioni mancanti
74.1.2.3 Vincoli di validità
74.1.2.4 Chiavi
74.1.3 Gestione delle relazioni
74.1.3.1 Unione, intersezione e differenza
74.1.3.2 Ridenominazione degli attributi
74.1.3.3 Selezione, proiezione e congiunzione
74.1.3.4 Gestione dei valori nulli
74.1.3.5 Relazioni derivate e viste
74.2 Questioni organizzative generali dei DBMS comuni
74.2.1 Configurazione e basi di dati amministrative
74.2.2 Copie di sicurezza delle basi di dati
74.2.3 Comunicazione con il DBMS e accesso alle basi di dati
74.2.4 Utenze e privilegi
74.2.5 ODBC
74.3 Introduzione a SQL
74.3.1 Concetti fondamentali
74.3.2 Terminologia
74.4 DDL
74.4.1 Tipi di dati
74.4.1.1 Stringhe di caratteri
74.4.1.2 Valori numerici
74.4.1.3 Valori Data-orario
74.4.1.4 Intervalli di tempo
74.4.2 Operatori, funzioni ed espressioni
74.4.2.1 Operatori aritmetici
74.4.2.2 Operazioni con i valori data-orario e con intervalli di tempo
74.4.2.3 Operatori di confronto e operatori logici
74.4.3 Le relazioni dal punto di vista di SQL
74.4.3.1 Creazione di una relazione
74.4.3.2 Valori predefiniti
74.4.3.3 Vincoli interni alla relazione
74.4.3.4 Vincoli esterni alla relazione
74.4.3.5 Modifica della struttura della relazione
74.4.3.6 Eliminazione di una relazione
74.5 DML
74.5.1 Inserimento, eliminazione e modifica dei dati
74.5.1.1 Inserimento di tuple
74.5.1.2 Aggiornamento delle tuple
74.5.1.3 Eliminazione di tuple
74.5.2 Interrogazioni di relazioni
74.5.2.1 Interrogazioni elementari
74.5.2.2 Interrogazioni ordinate
74.5.2.3 Interrogazioni simultanee di più relazioni
74.5.2.4 Condizioni
74.5.2.5 Aggregazioni
74.5.2.6 Raggruppamenti
74.5.3 Trasferimento di dati in un'altra relazione
74.5.3.1 Creazione di una nuova relazione a partire da altre
74.5.3.2 Inserimento in una relazione esistente
74.5.4 Viste
74.5.5 Cursori
74.5.5.1 Dichiarazione e apertura
74.5.5.2 Scansione
74.5.5.3 Chiusura
74.6 DCL
74.6.1 Gestione delle utenze
74.6.2 Gestione delle basi di dati
74.6.3 Gestione dei privilegi standard
74.6.4 Controllo delle transazioni
74.7 Riferimenti
75 PostgreSQL
75.1 Struttura e preparazione
75.1.1 Struttura dei dati nel file system
75.1.2 Amministratore
75.1.3 Creazione del sistema di basi di dati
75.1.4 Avvio del servizio
75.1.5 Configurazione del DBMS
75.1.6 Accesso e autenticazione
75.2 Gestione del DBMS
75.2.1 Accesso a una base di dati
75.2.1.1 Variabile di ambiente ''PAGER''
75.2.2 Organizzazione degli utenti
75.2.3 Creazione ed eliminazione delle basi di dati
75.2.4 La base di dati amministrativa
75.2.5 Manutenzione delle basi di dati
75.2.6 Copie di sicurezza
75.2.7 Importazione ed esportazione dei dati
75.3 Il linguaggio
75.3.1 Prima di iniziare
75.3.2 Tipi di dati e rappresentazione
75.3.3 Funzioni
75.3.4 Esempi comuni
75.3.4.1 Creazione di una relazione
75.3.4.2 Modifica della relazione
75.3.4.3 Inserimento dati in una relazione
75.3.4.4 Eliminazione di una relazione
75.3.4.5 Interrogazioni semplici
75.3.4.6 Interrogazioni simultanee di più relazioni
75.3.4.7 Alias
75.3.4.8 Viste
75.3.4.9 Aggiornamento delle tuple
75.3.4.10 Cancellazione delle tuple
75.3.4.11 Creazione di una nuova relazione a partire da altre
75.3.4.12 Inserimento in una relazione esistente
75.3.4.13 Controllare gli accessi a una relazione
75.3.5 Controllo delle transazioni
75.3.6 Cursori
75.3.7 Impostazione dell'ora locale
75.4 Accesso attraverso PgAccess
75.4.1 Accesso alla base di dati
75.4.2 Gli ''oggetti'' secondo PgAccess
75.4.3 Relazioni
75.4.4 Interrogazioni e viste
75.4.5 Stampe
75.5 Accesso attraverso WWW-SQL
75.5.1 Principio di funzionamento
75.5.2 Preparazione delle basi di dati e accesso
75.5.3 Linguaggio di WWW-SQL
75.5.3.1 Espressioni
75.5.3.2 Strutture di controllo
75.5.4 Istruzioni
75.5.4.1 Apertura e chiusura di una connessione, e accesso a una base di dati
75.5.4.2 Istruzioni di interrogazione normali
75.5.4.3 Istruzioni per la selezione dettagliata di tuple e attributi
75.6 Riferimenti
76 MySQL
76.1 Struttura e preparazione
76.1.1 Configurazione del servente
76.1.1.1 Controllo dell'accesso dalla rete
76.1.2 Avvio e arresto del servente
76.1.2.1 Struttura iniziale dei dati
76.1.3 Utenze
76.1.4 Accesso comune al servente
76.1.5 Base di dati amministrativa
76.2 Gestione del DBMS
76.2.1 Controllo delle utenze e degli accessi
76.2.2 Amministrazioni varie attraverso il sistema operativo
76.2.3 Ripristino della parola d'ordine dell'amministratore
76.2.4 Archiviazione e recupero delle basi di dati
76.3 Riferimenti
77 SQLite
77.1 Utilizzo generale
77.1.1 Utilizzo di ''sqlite3''
77.1.2 Copie di sicurezza
77.1.3 Accesso simultaneo a più basi di dati
77.2 Esempi comuni
77.2.1 Creazione di una relazione
77.2.2 Modifica della relazione
77.2.3 Inserimento dati in una relazione
77.2.4 Eliminazione di una relazione
77.2.5 Interrogazioni semplici
77.2.6 Interrogazioni simultanee di più relazioni
77.2.7 Alias
77.2.8 Viste
77.2.9 Aggiornamento delle tuple
77.2.10 Cancellazione delle tuple
77.2.11 Inserimento in una relazione esistente
77.3 Riferimenti
78 ODBC
78.1 DSN
78.2 unixODBC
78.3 ODBCConfig
78.4 Accesso a ODBC tramite ''isql'' o ''iusql''
78.5 Riferimenti
79 SQL: lezioni pratiche e verifiche
79.1 Creazione ed eliminazione delle relazioni
79.1.1 Creazione di una relazione
79.1.2 Eliminazione di una relazione
79.1.3 Verifica sulla creazione e popolazione della relazione ''Articoli''
79.1.4 Verifica sulla creazione e popolazione della relazione ''Causali''
79.1.5 Verifica sulla creazione e popolazione della relazione ''Fornitori''
79.1.6 Verifica sulla creazione e popolazione della relazione ''Clienti''
79.1.7 Verifica sulla creazione e popolazione della relazione ''Movimenti''
79.1.8 Conclusione
79.2 Interrogazione semplice di una relazione
79.2.1 Interrogazione completa
79.2.2 Interrogazione con selezione di alcuni attributi
79.2.3 Stampa del contenuto di una relazione
79.2.4 Verifica sull'interrogazione della relazione ''Articoli''
79.2.5 Verifica sull'interrogazione delle relazioni ''Fornitori'' e ''Clienti''
79.2.6 Conclusione
79.3 Interrogazione ordinata di una relazione
79.3.1 Interrogazione ordinata
79.3.2 Verifica sull'interrogazione ordinata della relazione ''Articoli''
79.3.3 Verifica sull'interrogazione ordinata della relazione ''Clienti''
79.3.4 Verifica sull'interrogazione ordinata della relazione ''Causali''
79.4 Interrogazione selettiva di una relazione
79.4.1 Interrogazione selettiva
79.4.2 Verifica sull'interrogazione selettiva della relazione ''Articoli''
79.4.3 Verifica sull'interrogazione selettiva e ordinata della relazione ''Articoli''
79.4.4 Verifica sull'interrogazione selettiva della relazione ''Causali''
79.5 Interrogazioni simultanee di più relazioni
79.5.1 Interrogazione simultanea delle relazioni ''Movimenti'' e ''Articoli''
79.5.2 Interrogazione simultanea delle relazioni ''Movimenti'', ''Articoli'' e ''Causali''
79.5.3 Verifica sull'interrogazione simultanea delle relazioni ''Movimenti'' e ''Causali''
79.5.4 Verifica sull'interrogazione simultanea delle relazioni ''Movimenti'', ''Causali'' e ''Clienti''
79.5.5 Verifica sull'interrogazione ordinata e simultanea delle relazioni ''Movimenti'', ''Causali'' e ''Clienti''
79.6 Interrogazioni simultanee di più relazioni e alias
79.6.1 Interrogazione simultanea delle relazioni ''Movimenti'', ''Articoli'' e ''Causali''
79.6.2 Verifica sull'interrogazione simultanea delle relazioni ''Movimenti'' e ''Causali''
79.6.3 Verifica sull'interrogazione simultanea delle relazioni ''Movimenti'', ''Causali'' e ''Clienti''
79.6.4 Conclusione
79.7 Viste
79.7.1 Creazione della vista ''Listino''
79.7.2 Creazione della vista ''Resi''
79.7.3 Verifica sulla creazione della vista ''Acquisti''
79.7.4 Verifica sulla creazione della vista ''Vendite''
79.7.5 Conclusione
79.8 Modifica del contenuto delle tuple
79.8.1 Modifica di una causale di magazzino
79.8.2 Modifica di diverse causali di magazzino
79.8.3 Verifica sulla modifica della relazione ''Articoli''
79.8.4 Verifica sulla modifica delle relazioni ''Clienti'' e ''Fornitori''
79.8.5 Conclusione
79.9 Eliminazione delle tuple
79.9.1 Cancellazione di una causale di magazzino
79.9.2 Cancellazione di diverse causali di magazzino
79.9.3 Verifica sulla cancellazione di alcuni articoli
79.9.4 Conclusione
79.10 Grilletti per il controllo del dominio degli attributi
79.10.1 Creazione dei grilletti ''Causali.ins'' e ''Causali.upd''
79.10.2 Creazione del grilletto ''Articoli.ins'' e ''Articoli.upd''
79.10.3 Verifica sulla creazione dei grilletti ''Movimenti.ins'' e ''Movimenti.upd''
79.10.4 Conclusione
79.11 Grilletti per il controllo della validità esterna
79.11.1 Controllo del codice articolo tra la relazione ''Movimenti'' e la relazione ''Articoli''
79.11.2 Controllo del codice cliente tra la relazione ''Movimenti'' e la relazione ''Clienti''
79.11.3 Verifica sulla creazione dei grilletti ''Movimenti.ins'', ''Movimenti.upd'' e ''Causali.del''
79.11.4 Verifica sulla creazione dei grilletti ''Movimenti.ins'', ''Movimenti.upd'' e ''Fornitori.del''
79.11.5 Conclusione
79.12 Selezione di attributi virtuali, ottenuti da un'espressione
79.12.1 Interrogazione della relazione ''Movimenti'' in modo da ottenere il valore unitario
79.12.2 Vista della relazione ''Movimenti'' in modo da ottenere il valore unitario
79.12.3 Verifica sulla creazione della vista ''MovimentiExtra''
79.12.4 Conclusione
79.13 Aggregazioni
79.13.1 Aggregazioni banali
79.13.2 Verifica sulla creazione della vista ''SituazioneMagazzino''
79.13.3 Verifica sulla creazione della vista ''SituazioneMagazzino''
79.13.4 Verifica sulla creazione della vista ''SituazioneMagazzino''
79.13.5 Conclusione
79.14 Inserimento automatico del costo medio
79.14.1 Vista ''CostoMedioValido''
79.14.2 Grilletto ''ValorizzazioneScarichi''
Parte vi Corso basilare di programmazione
u5 Introduzione
u2.1 Programma didattico
u2.2 Strumenti per la compilazione
80 Dai sistemi di numerazione all'organizzazione della memoria
80.1 Sistemi di numerazione
80.1.1 Sistema decimale
80.1.2 Sistema binario
80.1.2.1 Esercizio
80.1.2.2 Esercizio
80.1.3 Sistema ottale
80.1.3.1 Esercizio
80.1.3.2 Esercizio
80.1.4 Sistema esadecimale
80.1.4.1 Esercizio
80.1.4.2 Esercizio
80.2 Conversioni numeriche di valori interi
80.2.1 Numerazione ottale
80.2.1.1 Esercizio
80.2.1.2 Esercizio
80.2.2 Numerazione esadecimale
80.2.2.1 Esercizio
80.2.2.2 Esercizio
80.2.3 Numerazione binaria
80.2.3.1 Esercizio
80.2.3.2 Esercizio
80.2.4 Conversione tra ottale, esadecimale e binario
80.2.4.1 Esercizio
80.2.4.2 Esercizio
80.3 Conversioni numeriche di valori non interi
80.3.1 Conversione da base 10 ad altre basi
80.3.1.1 Esercizio
80.3.1.2 Esercizio
80.3.1.3 Esercizio
80.3.2 Conversione a base 10 da altre basi
80.3.2.1 Esercizio
80.3.2.2 Esercizio
80.3.2.3 Esercizio
80.3.3 Conversione tra ottale, esadecimale e binario
80.3.3.1 Esercizio
80.3.3.2 Esercizio
80.4 Operazioni elementari e sistema di rappresentazione binaria dei valori
80.4.1 Complemento alla base di numerazione
80.4.1.1 Esercizio
80.4.1.2 Esercizio
80.4.2 Complemento a uno e complemento a due
80.4.2.1 Esercizio
80.4.2.2 Esercizio
80.4.3 Addizione binaria
80.4.4 Sottrazione binaria
80.4.5 Moltiplicazione binaria
80.4.6 Divisione binaria
80.4.7 Rappresentazione binaria di numeri interi senza segno
80.4.8 Rappresentazione binaria di numeri interi con segno
80.4.8.1 Esercizio
80.4.8.2 Esercizio
80.4.8.3 Esercizio
80.4.8.4 Esercizio
80.4.8.5 Esercizio
80.4.8.6 Esercizio
80.4.9 Cenni alla rappresentazione binaria di numeri in virgola mobile
80.5 Calcoli con i valori binari rappresentati nella forma usata negli elaboratori
80.5.1 Modifica della quantità di cifre di un numero binario intero
80.5.1.1 Esercizio
80.5.1.2 Esercizio
80.5.1.3 Esercizio
80.5.2 Sommatorie con i valori interi con segno
80.5.2.1 Esercizio
80.5.2.2 Esercizio
80.5.2.3 Esercizio
80.5.3 Somme e sottrazioni con i valori interi senza segno
80.5.3.1 Esercizio
80.5.3.2 Esercizio
80.5.3.3 Esercizio
80.5.3.4 Esercizio
80.5.4 Somme e sottrazioni in fasi successive
80.6 Scorrimenti, rotazioni, operazioni logiche
80.6.1 Scorrimento logico
80.6.1.1 Esercizio
80.6.1.2 Esercizio
80.6.2 Scorrimento aritmetico
80.6.2.1 Esercizio
80.6.2.2 Esercizio
80.6.2.3 Esercizio
80.6.3 Moltiplicazione
80.6.4 Divisione
80.6.5 Rotazione
80.6.6 Operatori logici
80.6.6.1 Esercizio
80.6.6.2 Esercizio
80.6.6.3 Esercizio
80.6.6.4 Esercizio
80.7 Organizzazione della memoria
80.7.1 Pila per salvare i dati
80.7.2 Chiamate di funzioni
80.7.3 Variabili e array
80.7.3.1 Esercizio
80.7.3.2 Esercizio
80.7.3.3 Esercizio
80.7.3.4 Esercizio
80.7.3.5 Esercizio
80.7.4 Ordine dei byte
80.7.4.1 Esercizio
80.7.5 Stringhe, array e puntatori
80.7.5.1 Esercizio
80.7.5.2 Esercizio
80.7.5.3 Esercizio
80.7.6 Utilizzo della memoria
80.8 Riferimenti
80.9 Soluzioni agli esercizi proposti
81 Nozioni minime sul linguaggio C
81.1 Primo approccio al linguaggio C
81.1.1 Struttura fondamentale
81.1.2 Ciao mondo!
81.1.2.1 Esercizio
81.1.2.2 Esercizio
81.1.3 Compilazione
81.1.3.1 Esercizio
81.1.4 Emissione dati attraverso ''printf«»''
81.1.4.1 Esercizio
81.2 Variabili e tipi del linguaggio C
81.2.1 Bit, byte e caratteri
81.2.1.1 Esercizio
81.2.2 Tipi primitivi
81.2.2.1 Esercizio
81.2.2.2 Esercizio
81.2.2.3 Esercizio
81.2.2.4 Esercizio
81.2.3 Costanti letterali comuni
81.2.3.1 Esercizio
81.2.3.2 Esercizio
81.2.4 Caratteri privi di rappresentazione grafica
81.2.5 Valore numerico delle costanti carattere
81.2.5.1 Esercizio
81.2.6 Campo di azione delle variabili
81.2.7 Dichiarazione delle variabili
81.2.7.1 Esercizio
81.2.8 Il tipo indefinito: ''void''
81.3 Operatori ed espressioni del linguaggio C
81.3.1 Tipo del risultato di un'espressione
81.3.1.1 Esercizio
81.3.2 Operatori aritmetici
81.3.2.1 Esercizio
81.3.2.2 Esercizio
81.3.3 Operatori di confronto
81.3.3.1 Esercizio
81.3.3.2 Esercizio
81.3.4 Operatori logici
81.3.4.1 Esercizio
81.3.5 Operatori binari
81.3.5.1 Esercizio
81.3.5.2 Esercizio
81.3.6 Conversione di tipo
81.3.6.1 Esercizio
81.3.7 Espressioni multiple
81.3.7.1 Esercizio
81.3.7.2 Esercizio
81.4 Strutture di controllo di flusso del linguaggio C
81.4.1 Struttura condizionale: ''if''
81.4.1.1 Esercizio
81.4.1.2 Esercizio
81.4.2 Struttura di selezione: ''switch''
81.4.2.1 Esercizio
81.4.3 Iterazione con condizione di uscita iniziale: ''while''
81.4.3.1 Esercizio
81.4.3.2 Esercizio
81.4.4 Iterazione con condizione di uscita finale: ''do-while''
81.4.4.1 Esercizio
81.4.5 Ciclo enumerativo: ''for''
81.4.5.1 Esercizio
81.4.5.2 Esercizio
81.5 Funzioni del linguaggio C
81.5.1 Dichiarazione di un prototipo
81.5.1.1 Esercizio
81.5.2 Descrizione di una funzione
81.5.2.1 Esercizio
81.5.3 Vincoli nei nomi
81.5.4 I/O elementare
81.5.5 Restituzione di un valore
81.5.5.1 Esercizio
81.6 Riferimenti
81.7 Soluzioni agli esercizi proposti
82 Puntatori, array e stringhe in C
82.1 Espressioni a cui si assegnano dei valori
82.1.1 Esercizio
82.2 Puntatori
82.3 Dichiarazione di una variabile puntatore
82.3.1 Esercizio
82.4 Dereferenziazione
82.4.1 Esercizio
82.5 ''Little endian'' e ''big endian''
82.5.1 Esercizio
82.6 Chiamata di funzione con puntatori
82.6.1 Esercizio
82.6.2 Esercizio
82.7 Array
82.8 Array a una dimensione
82.8.1 Esercizio
82.8.2 Esercizio
82.8.3 Esercizio
82.9 Array multidimensionali
82.9.1 Esercizio
82.9.2 Esercizio
82.9.3 Esercizio
82.10 Natura dell'array
82.10.1 Esercizio
82.10.2 Esercizio
82.11 Array e funzioni
82.12 Aritmetica dei puntatori
82.12.1 Esercizio
82.13 Stringhe
82.13.1 Esercizio
82.13.2 Esercizio
82.14 Puntatori a puntatori
82.14.1 Esercizio
82.15 Puntatori a più dimensioni
82.15.1 Esercizio
82.16 Parametri della funzione main«»
82.17 Puntatori a variabili distrutte
82.18 Soluzioni agli esercizi proposti
u6 Indice analitico del volume
Volume IV os32
Parte vii Progetto
83 Primi passi verso un sistema per hardware x86-32
83.1 Privilegi dei segmenti
83.1.1 DPL, CPL e RPL
83.1.2 Pila dei dati
83.1.3 Segmenti, selettori e registri
83.2 Funzioni di utilità generale
83.2.1 Porte I/O
83.2.2 Sospensione e ripristino delle interruzioni hardware
83.3 Utilizzo dello schermo VGA a caratteri
83.3.1 Memoria dello schermo a caratteri
83.3.2 Cursore
83.4 GDT
83.4.1 Privilegi
83.4.2 Organizzazione e contenuti della tabella GDT
83.4.3 Struttura effettiva della tabella GDT
83.4.4 Tabella GDT elementare
83.4.5 Costruzione di una tabella GDT
83.4.6 Attivazione della tabella GDT
83.4.7 Verifica della tabella GDT
83.4.8 Istruzioni per l'attivazione
83.5 IDT
83.5.1 Struttura della tabella IDT
83.5.2 Codice per la costruzione di una tabella IDT
83.5.3 Attivazione della tabella IDT
83.5.4 Lo stato della pila al verificarsi di un'interruzione
83.5.5 Bozza di un gestore di interruzioni
83.5.6 Una funzione banale per il controllo delle interruzioni
83.5.7 Privilegi e protezioni
83.6 Gestione delle interruzioni
83.6.1 Eccezioni
83.6.2 PIC e rimappatura delle interruzioni
83.6.3 Procedura generalizzata per la gestione delle interruzioni
83.6.4 Attivazione
83.7 Gestione del temporizzatore: PIT, ovvero ''programmable interval timer''
83.8 Tastiera PS/2
83.9 Gestione di dischi PATA
83.9.1 Modalità di accesso
83.9.2 Registri per la gestione delle unità ATA
83.9.3 Alcuni comandi
83.9.3.1 Comando READ SECTORS
83.9.3.2 Comando WRITE SECTORS
83.9.3.3 Comando FLUSH CACHE
83.9.3.4 Comando IDENTIFY DEVICE
83.9.4 Individuazione dei bus utilizzati
83.9.5 Azzeramento dello stato dei dispositivi
83.9.6 Controllo delle interruzioni
83.9.7 Verifica dell'esito di un comando
83.9.8 Identificazione delle unità
83.9.9 Scomposizione dell'indirizzo
83.9.10 Lettura LBA28 PIO
83.9.11 Scrittura LBA28 PIO
83.10 PCI
83.10.1 Registri e porte
83.10.2 Strutture dei dati
83.10.3 Raccolta delle informazioni
83.11 NE2000
83.11.1 Memoria interna
83.11.2 Coda di ricezione
83.11.3 Tampone di trasmissione
83.11.4 Trasferimento dati tra la memoria interna e quella dell'elaboratore
83.11.5 Registri e porte
83.11.6 Procedura di riconoscimento
83.11.7 Procedura di inizializzazione
83.11.8 Trasmissione di un pacchetto
83.11.9 Ricezione
83.12 IPv4 in una rete Ethernet
83.12.1 ARP
83.12.2 IPv4
83.12.3 Il codice di controllo del TCP/IP
83.12.4 ICMP
83.12.5 UDP
83.12.6 TCP
83.13 Riferimenti
84 Studio per un sistema a 32 bit
84.1 Introduzione a os32
84.1.1 Organizzazione
84.1.2 Le directory
84.1.3 La struttura degli eseguibili
84.1.4 Tabelle
84.1.5 Guida di stile
84.1.6 Tipi derivati speciali
84.2 Caricamento ed esecuzione del kernel
84.2.1 Multiboot
84.2.2 File ''kernel.ld'', ''kernel/main/crt0.s'' e ''kernel/main/stack.s''
84.2.3 File ''kernel/main.h'' e ''kernel/main/* ''
84.3 Funzioni interne legate all'hardware, nei file ''kernel/ibm.i386.h'' e ''kernel/ibm.i386/... ''
84.3.1 Funzioni per l'input e l'output con le porte interne
84.3.2 Funzioni accessorie alla gestione delle interruzioni hardware
84.3.3 Gestione della tabella GDT
84.3.4 Gestione della tabella IDT
84.3.5 Gestione delle interruzioni
84.4 Gestione dei processi
84.4.1 File ''kernel/ibm.i386/isr.s''
84.4.1.1 Particolarità della routine ''isr.32'', ovvero ''irq.timer''
84.4.1.2 Particolarità della routine ''isr.128''
84.4.2 La tabella dei processi
84.4.3 Chiamate di sistema
84.4.4 Funzione ''proc.init«»''
84.4.5 Funzione ''sysroutine«»''
84.4.6 Funzione ''proc.scheduler«»''
84.4.7 Programmazione dei segnali
84.4.8 Salvataggio e recupero della pila per i ''salti non locali''
84.5 Caricamento ed esecuzione delle applicazioni
84.5.1 Caricamento in memoria
84.5.2 Il codice iniziale dell'applicativo
84.6 Gestione della memoria
84.6.1 File ''kernel/memory.h'' e ''kernel/memory/... ''
84.6.2 Scansione della mappa di memoria
84.7 Dispositivi
84.7.1 File ''kernel/dev.h'' e ''kernel/dev/... ''
84.7.2 File ''kernel/blk.h'' e ''kernel/blk/... ''
84.7.3 Numero primario e numero secondario
84.7.4 Dispositivi previsti
84.7.5 Gestione del terminale
84.7.5.1 Gestione della tastiera
84.7.5.2 Gestione dello schermo
84.7.5.3 Configurazione del terminale
84.7.6 Gestione delle unità di memorizzazione in generale
84.7.7 Gestione delle unità PATA
84.8 Gestione del file system
84.8.1 File ''kernel/fs/sb.... ''
84.8.2 File ''kernel/fs/zone.... ''
84.8.3 File ''kernel/fs/inode.... ''
84.8.4 Fasi dell'innesto di un file system
84.8.5 Condotti
84.8.6 File ''kernel/fs/file.... ''
84.8.7 Descrittori di file
84.8.8 File ''kernel/fs/path.... ''
84.8.9 File ''kernel/fs/fd.... ''
84.9 Gestione delle interfacce di rete
84.9.1 Gestione dei dispositivi NE2K
84.9.2 Tabella delle interfacce e funzioni accessorie
84.9.3 Tabella ARP
84.10 Gestione di IPv4
84.10.1 Tabella IPv4
84.10.2 Ricezione di un pacchetto IPv4
84.10.3 Instradamenti
84.11 Gestione del protocollo ICMP
84.12 Gestione dei protocolli UDP e TCP
84.12.1 UDP
84.12.2 TCP
Parte viii Manuale
85 Gestione
85.1 Disco fisso in un file-immagine
85.2 Configurazione dell'avvio e opzioni del kernel
85.3 Configurazione per l'uso della rete
85.4 Avvio di os32
85.5 Interazione con il kernel
85.6 Avvio e conclusione del sistema ''normale''
86 Sezione 1: programmi eseguibili o comandi interni di shell
86.1 os32: aaa«1»
86.2 os32: allocated«1»
86.3 os32: bbb«1»
86.4 os32: cat«1»
86.5 os32: ccc«1»
86.6 os32: chgrp«1»
86.7 os32: chmod«1»
86.8 os32: chown«1»
86.9 os32: cp«1»
86.10 os32: date«1»
86.11 os32: ed«1»
86.12 os32: kill«1»
86.13 os32: ln«1»
86.14 os32: login«1»
86.15 os32: ls«1»
86.16 os32: man«1»
86.17 os32: mkdir«1»
86.18 os32: mmcheck«1»
86.19 os32: more«1»
86.20 os32: nc«1»
86.21 os32: ps«1»
86.22 os32: rm«1»
86.23 os32: rmdir«1»
86.24 os32: shell«1»
86.25 os32: t.«1»
86.26 os32: touch«1»
86.27 os32: tty«1»
86.28 os32: yes«1»
87 Sezione 2: chiamate di sistema
87.1 os32: .Exit«2»
87.2 os32: .exit«2»
87.3 os32: accept«2»
87.4 os32: bind«2»
87.5 os32: brk«2»
87.6 os32: chdir«2»
87.7 os32: chmod«2»
87.8 os32: chown«2»
87.9 os32: clock«2»
87.10 os32: close«2»
87.11 os32: connect«2»
87.12 os32: dup«2»
87.13 os32: dup2«2»
87.14 os32: execve«2»
87.15 os32: fchdir«2»
87.16 os32: fchmod«2»
87.17 os32: fchown«2»
87.18 os32: fcntl«2»
87.19 os32: fork«2»
87.20 os32: fstat«2»
87.21 os32: getcwd«2»
87.22 os32: getgid«2»
87.23 os32: geteuid«2»
87.24 os32: getpgrp«2»
87.25 os32: getpid«2»
87.26 os32: getppid«2»
87.27 os32: getuid«2»
87.28 os32: ipconfig«2»
87.29 os32: kill«2»
87.30 os32: link«2»
87.31 os32: listen«2»
87.32 os32: longjmp«2»
87.33 os32: lseek«2»
87.34 os32: mkdir«2»
87.35 os32: mknod«2»
87.36 os32: mount«2»
87.37 os32: open«2»
87.38 os32: pipe«2»
87.39 os32: read«2»
87.40 os32: recvfrom«2»
87.41 os32: rmdir«2»
87.42 os32: routeadd«2»
87.43 os32: routedel«2»
87.44 os32: sbrk«2»
87.45 os32: send«2»
87.46 os32: setegid«2»
87.47 os32: seteuid«2»
87.48 os32: setgid«2»
87.49 os32: setjmp«2»
87.50 os32: setpgrp«2»
87.51 os32: setuid«2»
87.52 os32: signal«2»
87.53 os32: sleep«2»
87.54 os32: socket«2»
87.55 os32: stat«2»
87.56 os32: sys«2»
87.57 os32: stime«2»
87.58 os32: tcgetattr«2»
87.59 os32: time«2»
87.60 os32: umask«2»
87.61 os32: umount«2»
87.62 os32: unlink«2»
87.63 os32: wait«2»
87.64 os32: write«2»
87.65 os32: z«2»
87.66 os32: z.perror«2»
87.67 os32: z.printf«2»
87.68 os32: z.vprintf«2»
88 Sezione 3: funzioni di libreria
88.1 os32: .gcc«3»
88.2 os32: abort«3»
88.3 os32: abs«3»
88.4 os32: access«3»
88.5 os32: asctime«3»
88.6 os32: assert«3»
88.7 os32: atexit«3»
88.8 os32: atoi«3»
88.9 os32: atol«3»
88.10 os32: basename«3»
88.11 os32: byteorder«3»
88.12 os32: clearerr«3»
88.13 os32: closedir«3»
88.14 os32: creat«3»
88.15 os32: ctime«3»
88.16 os32: dirname«3»
88.17 os32: div«3»
88.18 os32: endgrent«3»
88.19 os32: endpwent«3»
88.20 os32: errno«3»
88.21 os32: exec«3»
88.22 os32: execl«3»
88.23 os32: execle«3»
88.24 os32: execlp«3»
88.25 os32: execv«3»
88.26 os32: execvp«3»
88.27 os32: exit«3»
88.28 os32: fclose«3»
88.29 os32: feof«3»
88.30 os32: ferror«3»
88.31 os32: fflush«3»
88.32 os32: fgetc«3»
88.33 os32: fgetpos«3»
88.34 os32: fgets«3»
88.35 os32: fileno«3»
88.36 os32: fopen«3»
88.37 os32: fprintf«3»
88.38 os32: fputc«3»
88.39 os32: fputs«3»
88.40 os32: fread«3»
88.41 os32: free«3»
88.42 os32: freopen«3»
88.43 os32: fscanf«3»
88.44 os32: fseek«3»
88.45 os32: fseeko«3»
88.46 os32: fsetpos«3»
88.47 os32: ftell«3»
88.48 os32: ftello«3»
88.49 os32: fwrite«3»
88.50 os32: getc«3»
88.51 os32: getchar«3»
88.52 os32: getenv«3»
88.53 os32: getgrent«3»
88.54 os32: getgrnam«3»
88.55 os32: getpwuid«3»
88.56 os32: getopt«3»
88.57 os32: getpwent«3»
88.58 os32: getpwnam«3»
88.59 os32: getpwuid«3»
88.60 os32: gets«3»
88.61 os32: gmtime«3»
88.62 os32: htonl«3»
88.63 os32: htons«3»
88.64 os32: imaxabs«3»
88.65 os32: imaxdiv«3»
88.66 os32: inet.ntop«3»
88.67 os32: inet.pton«3»
88.68 os32: input.line«3»
88.69 os32: isatty«3»
88.70 os32: labs«3»
88.71 os32: ldiv«3»
88.72 os32: llabs«3»
88.73 os32: lldiv«3»
88.74 os32: major«3»
88.75 os32: makedev«3»
88.76 os32: malloc«3»
88.77 os32: memccpy«3»
88.78 os32: memchr«3»
88.79 os32: memcmp«3»
88.80 os32: memcpy«3»
88.81 os32: memmove«3»
88.82 os32: memset«3»
88.83 os32: minor«3»
88.84 os32: mktime«3»
88.85 os32: namep«3»
88.86 os32: ntohl«3»
88.87 os32: ntohs«3»
88.88 os32: offsetof«3»
88.89 os32: opendir«3»
88.90 os32: perror«3»
88.91 os32: printf«3»
88.92 os32: putc«3»
88.93 os32: putchar«3»
88.94 os32: putenv«3»
88.95 os32: puts«3»
88.96 os32: qsort«3»
88.97 os32: rand«3»
88.98 os32: readdir«3»
88.99 os32: realloc«3»
88.100 os32: rewind«3»
88.101 os32: rewinddir«3»
88.102 os32: scanf«3»
88.103 os32: setbuf«3»
88.104 os32: setenv«3»
88.105 os32: setgrent«3»
88.106 os32: setpwent«3»
88.107 os32: setvbuf«3»
88.108 os32: snprintf«3»
88.109 os32: sprintf«3»
88.110 os32: srand«3»
88.111 os32: sscanf«3»
88.112 os32: stdio«3»
88.113 os32: strcat«3»
88.114 os32: strchr«3»
88.115 os32: strcmp«3»
88.116 os32: strcoll«3»
88.117 os32: strcpy«3»
88.118 os32: strcspn«3»
88.119 os32: strdup«3»
88.120 os32: strerror«3»
88.121 os32: strlen«3»
88.122 os32: strncat«3»
88.123 os32: strncmp«3»
88.124 os32: strncpy«3»
88.125 os32: strpbrk«3»
88.126 os32: strrchr«3»
88.127 os32: strspn«3»
88.128 os32: strstr«3»
88.129 os32: strtok«3»
88.130 os32: strtol«3»
88.131 os32: strtoul«3»
88.132 os32: strxfrm«3»
88.133 os32: ttyname«3»
88.134 os32: unsetenv«3»
88.135 os32: vfprintf«3»
88.136 os32: vfscanf«3»
88.137 os32: vprintf«3»
88.138 os32: vscanf«3»
88.139 os32: vsnprintf«3»
88.140 os32: vsprintf«3»
88.141 os32: vsscanf«3»
89 Sezione 4: file speciali
89.1 os32: console«4»
89.2 os32: ata«4»
89.3 os32: kmem.arp«4»
89.4 os32: kmem.file«4»
89.5 os32: kmem.inode«4»
89.6 os32: kmem.mmp«4»
89.7 os32: kmem.net«4»
89.8 os32: kmem.ps«4»
89.9 os32: kmem.route«4»
89.10 os32: kmem.sb«4»
89.11 os32: mem«4»
89.12 os32: null«4»
89.13 os32: port«4»
89.14 os32: tty«4»
89.15 os32: zero«4»
90 Sezione 5: formato dei file e convenzioni
90.1 os32: group«5»
90.2 os32: inittab«5»
90.3 os32: issue«5»
90.4 os32: passwd«5»
91 Sezione 7: varie
91.1 os32: environ«7»
91.2 os32: socket«7»
91.3 os32: undocumented«7»
92 Sezione 8: comandi per l'amministrazione del sistema
92.1 os32: arp«8»
92.2 os32: getty«8»
92.3 os32: http«8»
92.4 os32: init«8»
92.5 os32: ipconfig«8»
92.6 os32: MAKEDEV«8»
92.7 os32: mount«8»
92.8 os32: ping«8»
92.9 os32: route«8»
92.10 os32: umount«8»
93 Sezione 9: kernel
93.1 os32: arp«9»
93.2 os32: ata«9»
93.3 os32: blk«9»
93.3.1 os32: blk.ata«9»
93.3.2 os32: blk.cache.check«9»
93.3.3 os32: blk.cache.init«9»
93.3.4 os32: blk.cache.read«9»
93.3.5 os32: blk.cache.save«9»
93.4 os32: dev«9»
93.4.1 os32: dev.io«9»
93.4.2 os32: dev.dm«9»
93.4.3 os32: dev.ata«9»
93.4.4 os32: dev.kmem«9»
93.4.5 os32: dev.mem«9»
93.4.6 os32: dev.tty«9»
93.5 os32: dm«9»
93.6 os32: fs«9»
93.6.1 os32: fd.dup«9»
93.6.2 os32: fd.reference«9»
93.6.3 os32: fs.init«9»
93.6.4 os32: file.pipe.make«9»
93.6.5 os32: file.reference«9»
93.6.6 os32: file.stdio.dev.make«9»
93.6.7 os32: inode.alloc«9»
93.6.8 os32: inode.check«9»
93.6.9 os32: inode.dir.empty«9»
93.6.10 os32: inode.file.read«9»
93.6.11 os32: inode.file.write«9»
93.6.12 os32: inode.free«9»
93.6.13 os32: inode.fzones.read«9»
93.6.14 os32: inode.fzones.write«9»
93.6.15 os32: inode.get«9»
93.6.16 os32: inode.pipe.make«9»
93.6.17 os32: inode.pipe.read«9»
93.6.18 os32: inode.pipe.write«9»
93.6.19 os32: inode.print«9»
93.6.20 os32: inode.put«9»
93.6.21 os32: inode.reference«9»
93.6.22 os32: inode.save«9»
93.6.23 os32: inode.stdio.dev.make«9»
93.6.24 os32: inode.truncate«9»
93.6.25 os32: inode.zone«9»
93.6.26 os32: sb.inode.status«9»
93.6.27 os32: sb.mount«9»
93.6.28 os32: sb.print«9»
93.6.29 os32: sb.reference«9»
93.6.30 os32: sb.save«9»
93.6.31 os32: sb.zone.status«9»
93.6.32 os32: sock.free.port«9»
93.6.33 os32: sock.reference«9»
93.6.34 os32: zone.alloc«9»
93.6.35 os32: zone.free«9»
93.6.36 os32: zone.print«9»
93.6.37 os32: zone.read«9»
93.6.38 os32: path.device«9»
93.6.39 os32: path.fix«9»
93.6.40 os32: path.full«9»
93.6.41 os32: path.inode«9»
93.6.42 os32: path.inode.link«9»
93.7 os32: ibm.i386«9»
93.8 os32: icmp«9»
93.9 os32: ip«9»
93.10 os32: kbd«9»
93.11 os32: lib.k«9»
93.12 os32: lib.s«9»
93.13 os32: main«9»
93.14 os32: memory«9»
93.15 os32: multiboot«9»
93.16 os32: ne2k«9»
93.17 os32: net«9»
93.18 os32: part«9»
93.19 os32: pci«9»
93.20 os32: proc«9»
93.20.1 os32: proc.available«9»
93.20.2 os32: proc.dump.memory«9»
93.20.3 os32: proc.init«9»
93.20.4 os32: proc.print«9»
93.20.5 os32: proc.reference«9»
93.20.6 os32: proc.sch.net«9»
93.20.7 os32: proc.sch.signals«9»
93.20.8 os32: proc.sch.terminals«9»
93.20.9 os32: proc.sch.timers«9»
93.20.10 os32: proc.scheduler«9»
93.20.11 os32: proc.sig.chld«9»
93.20.12 os32: proc.sig.cont«9»
93.20.13 os32: proc.sig.core«9»
93.20.14 os32: proc.sig.handler«9»
93.20.15 os32: proc.sig.ignore«9»
93.20.16 os32: proc.sig.off«9»
93.20.17 os32: proc.sig.on«9»
93.20.18 os32: proc.sig.status«9»
93.20.19 os32: proc.sig.stop«9»
93.20.20 os32: proc.sig.term«9»
93.20.21 os32: proc.sys.exec«9»
93.20.22 os32: proc.timer.init«9»
93.20.23 os32: proc.wakeup«9»
93.20.24 os32: proc.wakeup.pipe.read«9»
93.20.25 os32: proc.wakeup.pipe.write«9»
93.20.26 os32: proc.wakeup.terminal«9»
93.20.27 os32: ptr«9»
93.20.28 os32: sysroutine«9»
93.21 os32: route«9»
93.22 os32: screen«9»
93.23 os32: tcp«9»
93.24 os32: tty«9»
Parte ix Codice
94 Script e sorgenti del kernel
94.1 os32: directory principale
94.1.1 applic.sep.ld
94.1.2 bochs
94.1.3 elf-to-os32
94.1.4 fdisk
94.1.5 file.image.functions
94.1.6 format
94.1.7 kernel.ld
94.1.8 makeit.sep
94.1.9 qemu
94.1.10 syslinux
94.1.11 tap0
94.2 os32: ''kernel/blk.h''
94.2.1 kernel/blk/blk.ata.c
94.2.2 kernel/blk/blk.cache.check.c
94.2.3 kernel/blk/blk.cache.init.c
94.2.4 kernel/blk/blk.cache.read.c
94.2.5 kernel/blk/blk.cache.save.c
94.2.6 kernel/blk/blk.public.c
94.3 os32: ''kernel/dev.h''
94.3.1 kernel/dev/dev.ata.c
94.3.2 kernel/dev/dev.dm.c
94.3.3 kernel/dev/dev.io.c
94.3.4 kernel/dev/dev.kmem.c
94.3.5 kernel/dev/dev.mem.c
94.3.6 kernel/dev/dev.tty.c
94.4 os32: ''kernel/dm.h''
94.4.1 kernel/dm/dm.init.c
94.4.2 kernel/dm/dm.public.c
94.4.3 kernel/driver/ata.h
94.4.4 kernel/driver/ata/ata.cmd.identify.device.c
94.4.5 kernel/driver/ata/ata.cmd.read.sectors.c
94.4.6 kernel/driver/ata/ata.cmd.write.sectors.c
94.4.7 kernel/driver/ata/ata.device.c
94.4.8 kernel/driver/ata/ata.drq.c
94.4.9 kernel/driver/ata/ata.init.c
94.4.10 kernel/driver/ata/ata.lba28.c
94.4.11 kernel/driver/ata/ata.public.c
94.4.12 kernel/driver/ata/ata.rdy.c
94.4.13 kernel/driver/ata/ata.reset.c
94.4.14 kernel/driver/ata/ata.valid.c
94.4.15 kernel/driver/kbd.h
94.4.16 kernel/driver/kbd/kbd.isr.c
94.4.17 kernel/driver/kbd/kbd.load.c
94.4.18 kernel/driver/kbd/kbd.public.c
94.4.19 kernel/driver/nic/ne2k.h
94.4.20 kernel/driver/nic/ne2k/ne2k.check.c
94.4.21 kernel/driver/nic/ne2k/ne2k.isr.c
94.4.22 kernel/driver/nic/ne2k/ne2k.isr.expect.c
94.4.23 kernel/driver/nic/ne2k/ne2k.reset.c
94.4.24 kernel/driver/nic/ne2k/ne2k.rx.c
94.4.25 kernel/driver/nic/ne2k/ne2k.rx.reset.c
94.4.26 kernel/driver/nic/ne2k/ne2k.tx.c
94.4.27 kernel/driver/pci.h
94.4.28 kernel/driver/pci/pci.init.c
94.4.29 kernel/driver/pci/pci.public.c
94.4.30 kernel/driver/screen.h
94.4.31 kernel/driver/screen/screen.clear.c
94.4.32 kernel/driver/screen/screen.current.c
94.4.33 kernel/driver/screen/screen.init.c
94.4.34 kernel/driver/screen/screen.new.line.c
94.4.35 kernel/driver/screen/screen.number.c
94.4.36 kernel/driver/screen/screen.pointer.c
94.4.37 kernel/driver/screen/screen.public.c
94.4.38 kernel/driver/screen/screen.putc.c
94.4.39 kernel/driver/screen/screen.scroll.c
94.4.40 kernel/driver/screen/screen.select.c
94.4.41 kernel/driver/screen/screen.update.c
94.4.42 kernel/driver/tty.h
94.4.43 kernel/driver/tty/tty.console.c
94.4.44 kernel/driver/tty/tty.init.c
94.4.45 kernel/driver/tty/tty.public.c
94.4.46 kernel/driver/tty/tty.read.c
94.4.47 kernel/driver/tty/tty.reference.c
94.4.48 kernel/driver/tty/tty.write.c
94.5 os32: ''kernel/fs.h''
94.5.1 kernel/fs/fd.dup.c
94.5.2 kernel/fs/fd.reference.c
94.5.3 kernel/fs/file.pipe.make.c
94.5.4 kernel/fs/file.reference.c
94.5.5 kernel/fs/file.stdio.dev.make.c
94.5.6 kernel/fs/fs.init.c
94.5.7 kernel/fs/fs.public.c
94.5.8 kernel/fs/inode.alloc.c
94.5.9 kernel/fs/inode.check.c
94.5.10 kernel/fs/inode.dir.empty.c
94.5.11 kernel/fs/inode.file.read.c
94.5.12 kernel/fs/inode.file.write.c
94.5.13 kernel/fs/inode.free.c
94.5.14 kernel/fs/inode.fzones.read.c
94.5.15 kernel/fs/inode.fzones.write.c
94.5.16 kernel/fs/inode.get.c
94.5.17 kernel/fs/inode.pipe.make.c
94.5.18 kernel/fs/inode.pipe.read.c
94.5.19 kernel/fs/inode.pipe.write.c
94.5.20 kernel/fs/inode.print.c
94.5.21 kernel/fs/inode.put.c
94.5.22 kernel/fs/inode.reference.c
94.5.23 kernel/fs/inode.save.c
94.5.24 kernel/fs/inode.stdio.dev.make.c
94.5.25 kernel/fs/inode.truncate.c
94.5.26 kernel/fs/inode.zone.c
94.5.27 kernel/fs/path.device.c
94.5.28 kernel/fs/path.fix.c
94.5.29 kernel/fs/path.full.c
94.5.30 kernel/fs/path.inode.c
94.5.31 kernel/fs/path.inode.link.c
94.5.32 kernel/fs/sb.inode.status.c
94.5.33 kernel/fs/sb.mount.c
94.5.34 kernel/fs/sb.print.c
94.5.35 kernel/fs/sb.reference.c
94.5.36 kernel/fs/sb.save.c
94.5.37 kernel/fs/sb.zone.status.c
94.5.38 kernel/fs/sock.free.port.c
94.5.39 kernel/fs/sock.reference.c
94.5.40 kernel/fs/zone.alloc.c
94.5.41 kernel/fs/zone.free.c
94.5.42 kernel/fs/zone.print.c
94.5.43 kernel/fs/zone.read.c
94.5.44 kernel/fs/zone.write.c
94.6 os32: ''kernel/ibm.i386.h''
94.6.1 kernel/ibm.i386/.in.16.s
94.6.2 kernel/ibm.i386/.in.32.s
94.6.3 kernel/ibm.i386/.in.8.s
94.6.4 kernel/ibm.i386/.out.16.s
94.6.5 kernel/ibm.i386/.out.32.s
94.6.6 kernel/ibm.i386/.out.8.s
94.6.7 kernel/ibm.i386/cli.s
94.6.8 kernel/ibm.i386/gdt.c
94.6.9 kernel/ibm.i386/gdt.load.s
94.6.10 kernel/ibm.i386/gdt.print.c
94.6.11 kernel/ibm.i386/gdt.public.c
94.6.12 kernel/ibm.i386/gdt.segment.c
94.6.13 kernel/ibm.i386/idt.c
94.6.14 kernel/ibm.i386/idt.descriptor.c
94.6.15 kernel/ibm.i386/idt.irq.remap.c
94.6.16 kernel/ibm.i386/idt.load.s
94.6.17 kernel/ibm.i386/idt.print.c
94.6.18 kernel/ibm.i386/idt.public.c
94.6.19 kernel/ibm.i386/irq.off.c
94.6.20 kernel/ibm.i386/irq.on.c
94.6.21 kernel/ibm.i386/isr.s
94.6.22 kernel/ibm.i386/isr.exception.name.c
94.6.23 kernel/ibm.i386/isr.exception.unrecoverable.c
94.6.24 kernel/ibm.i386/isr.irq.clear.c
94.6.25 kernel/ibm.i386/isr.irq.clear.pic1.c
94.6.26 kernel/ibm.i386/isr.irq.clear.pic2.c
94.6.27 kernel/ibm.i386/sti.s
94.7 os32: ''kernel/lib.k.h''
94.7.1 kernel/lib.k/k.exit.s
94.7.2 kernel/lib.k/k.gets.c
94.7.3 kernel/lib.k/k.perror.c
94.7.4 kernel/lib.k/k.printf.c
94.7.5 kernel/lib.k/k.sleep.c
94.7.6 kernel/lib.k/k.stime.c
94.7.7 kernel/lib.k/k.usleep.c
94.7.8 kernel/lib.k/k.vprintf.c
94.7.9 kernel/lib.k/k.vsprintf.c
94.8 os32: ''kernel/lib.s.h''
94.8.1 kernel/lib.s/s..exit.c
94.8.2 kernel/lib.s/s.accept.c
94.8.3 kernel/lib.s/s.bind.c
94.8.4 kernel/lib.s/s.brk.c
94.8.5 kernel/lib.s/s.chdir.c
94.8.6 kernel/lib.s/s.chmod.c
94.8.7 kernel/lib.s/s.chown.c
94.8.8 kernel/lib.s/s.clock.c
94.8.9 kernel/lib.s/s.close.c
94.8.10 kernel/lib.s/s.connect.c
94.8.11 kernel/lib.s/s.dup.c
94.8.12 kernel/lib.s/s.dup2.c
94.8.13 kernel/lib.s/s.fchmod.c
94.8.14 kernel/lib.s/s.fchown.c
94.8.15 kernel/lib.s/s.fcntl.c
94.8.16 kernel/lib.s/s.fork.c
94.8.17 kernel/lib.s/s.fstat.c
94.8.18 kernel/lib.s/s.ipconfig.c
94.8.19 kernel/lib.s/s.kill.c
94.8.20 kernel/lib.s/s.link.c
94.8.21 kernel/lib.s/s.listen.c
94.8.22 kernel/lib.s/s.longjmp.c
94.8.23 kernel/lib.s/s.lseek.c
94.8.24 kernel/lib.s/s.mkdir.c
94.8.25 kernel/lib.s/s.mknod.c
94.8.26 kernel/lib.s/s.mount.c
94.8.27 kernel/lib.s/s.open.c
94.8.28 kernel/lib.s/s.pipe.c
94.8.29 kernel/lib.s/s.read.c
94.8.30 kernel/lib.s/s.recvfrom.c
94.8.31 kernel/lib.s/s.routeadd.c
94.8.32 kernel/lib.s/s.routedel.c
94.8.33 kernel/lib.s/s.sbrk.c
94.8.34 kernel/lib.s/s.send.c
94.8.35 kernel/lib.s/s.setegid.c
94.8.36 kernel/lib.s/s.seteuid.c
94.8.37 kernel/lib.s/s.setgid.c
94.8.38 kernel/lib.s/s.setjmp.c
94.8.39 kernel/lib.s/s.setuid.c
94.8.40 kernel/lib.s/s.signal.c
94.8.41 kernel/lib.s/s.socket.c
94.8.42 kernel/lib.s/s.stat.c
94.8.43 kernel/lib.s/s.stime.c
94.8.44 kernel/lib.s/s.tcgetattr.c
94.8.45 kernel/lib.s/s.tcsetattr.c
94.8.46 kernel/lib.s/s.time.c
94.8.47 kernel/lib.s/s.umount.c
94.8.48 kernel/lib.s/s.unlink.c
94.8.49 kernel/lib.s/s.wait.c
94.8.50 kernel/lib.s/s.write.c
94.9 os32: ''kernel/main.h''
94.9.1 kernel/main/build.h
94.9.2 kernel/main/crt0.s
94.9.3 kernel/main/kmain.c
94.9.4 kernel/main/menu.c
94.9.5 kernel/main/run.c
94.9.6 kernel/main/stack.s
94.10 os32: ''kernel/memory.h''
94.10.1 kernel/memory/mb.alloc.c
94.10.2 kernel/memory/mb.alloc.size.c
94.10.3 kernel/memory/mb.clean.c
94.10.4 kernel/memory/mb.free.c
94.10.5 kernel/memory/mb.print.c
94.10.6 kernel/memory/mb.public.c
94.10.7 kernel/memory/mb.reduce.c
94.10.8 kernel/memory/mb.reference.c
94.10.9 kernel/memory/mb.size.c
94.11 os32: ''kernel/multiboot.h''
94.11.1 kernel/multiboot/mboot.cmdline.opt.c
94.11.2 kernel/multiboot/mboot.public.c
94.11.3 kernel/multiboot/mboot.save.c
94.12 os32: ''kernel/net.h''
94.12.1 kernel/net/arp.h
94.12.2 kernel/net/arp/arp.clean.c
94.12.3 kernel/net/arp/arp.index.c
94.12.4 kernel/net/arp/arp.init.c
94.12.5 kernel/net/arp/arp.print.c
94.12.6 kernel/net/arp/arp.public.c
94.12.7 kernel/net/arp/arp.reference.c
94.12.8 kernel/net/arp/arp.request.c
94.12.9 kernel/net/arp/arp.rx.c
94.12.10 kernel/net/icmp.h
94.12.11 kernel/net/icmp/icmp.rx.c
94.12.12 kernel/net/icmp/icmp.tx.c
94.12.13 kernel/net/icmp/icmp.tx.echo.c
94.12.14 kernel/net/icmp/icmp.tx.unreachable.c
94.12.15 kernel/net/ip.h
94.12.16 kernel/net/ip/ip.checksum.c
94.12.17 kernel/net/ip/ip.header.c
94.12.18 kernel/net/ip/ip.mask.c
94.12.19 kernel/net/ip/ip.public.c
94.12.20 kernel/net/ip/ip.reference.c
94.12.21 kernel/net/ip/ip.rx.c
94.12.22 kernel/net/ip/ip.tx.c
94.12.23 kernel/net/net.buffer.eth.c
94.12.24 kernel/net/net.buffer.lo.c
94.12.25 kernel/net/net.eth.ip.tx.c
94.12.26 kernel/net/net.eth.tx.c
94.12.27 kernel/net/net.index.c
94.12.28 kernel/net/net.index.eth.c
94.12.29 kernel/net/net.init.c
94.12.30 kernel/net/net.print.c
94.12.31 kernel/net/net.public.c
94.12.32 kernel/net/net.rx.c
94.12.33 kernel/net/route.h
94.12.34 kernel/net/route/route.init.c
94.12.35 kernel/net/route/route.print.c
94.12.36 kernel/net/route/route.public.c
94.12.37 kernel/net/route/route.remote.to.local.c
94.12.38 kernel/net/route/route.remote.to.router.c
94.12.39 kernel/net/route/route.sort.c
94.12.40 kernel/net/tcp.h
94.12.41 kernel/net/tcp/tcp.c
94.12.42 kernel/net/tcp/tcp.close.c
94.12.43 kernel/net/tcp/tcp.connect.c
94.12.44 kernel/net/tcp/tcp.rx.ack.c
94.12.45 kernel/net/tcp/tcp.rx.data.c
94.12.46 kernel/net/tcp/tcp.show.c
94.12.47 kernel/net/tcp/tcp.status.c
94.12.48 kernel/net/tcp/tcp.test.c
94.12.49 kernel/net/tcp/tcp.tx.ack.c
94.12.50 kernel/net/tcp/tcp.tx.raw.c
94.12.51 kernel/net/tcp/tcp.tx.rst.c
94.12.52 kernel/net/tcp/tcp.tx.sock.c
94.12.53 kernel/net/udp.h
94.12.54 kernel/net/udp/udp.tx.c
94.13 os32: ''kernel/part.h''
94.14 os32: ''kernel/proc.h''
94.14.1 kernel/proc/proc.available.c
94.14.2 kernel/proc/proc.dump.memory.c
94.14.3 kernel/proc/proc.init.c
94.14.4 kernel/proc/proc.print.c
94.14.5 kernel/proc/proc.public.c
94.14.6 kernel/proc/proc.reference.c
94.14.7 kernel/proc/proc.sch.net.c
94.14.8 kernel/proc/proc.sch.signals.c
94.14.9 kernel/proc/proc.sch.terminals.c
94.14.10 kernel/proc/proc.sch.timers.c
94.14.11 kernel/proc/proc.scheduler.c
94.14.12 kernel/proc/proc.sig.chld.c
94.14.13 kernel/proc/proc.sig.cont.c
94.14.14 kernel/proc/proc.sig.core.c
94.14.15 kernel/proc/proc.sig.handler.c
94.14.16 kernel/proc/proc.sig.ignore.c
94.14.17 kernel/proc/proc.sig.off.c
94.14.18 kernel/proc/proc.sig.on.c
94.14.19 kernel/proc/proc.sig.status.c
94.14.20 kernel/proc/proc.sig.stop.c
94.14.21 kernel/proc/proc.sig.term.c
94.14.22 kernel/proc/proc.sys.exec.c
94.14.23 kernel/proc/proc.timer.init.c
94.14.24 kernel/proc/proc.wakeup.pipe.read.c
94.14.25 kernel/proc/proc.wakeup.pipe.write.c
94.14.26 kernel/proc/proc.wakeup.terminal.c
94.14.27 kernel/proc/ptr.c
94.14.28 kernel/proc/sysroutine.c
95 Sorgenti della libreria generale
95.1 os32: file isolati della directory ''lib/''
95.1.1 lib/NULL.h
95.1.2 lib/SEEK.h
95.1.3 lib/assert.h
95.1.4 lib/clock.t.h
95.1.5 lib/ctype.h
95.1.6 lib/limits.h
95.1.7 lib/ptrdiff.t.h
95.1.8 lib/restrict.h
95.1.9 lib/size.t.h
95.1.10 lib/stdarg.h
95.1.11 lib/stdbool.h
95.1.12 lib/stddef.h
95.1.13 lib/stdint.h
95.1.14 lib/time.t.h
95.1.15 lib/wchar.t.h
95.2 os32: ''lib/.gcc.h''
95.2.1 lib/.gcc/..divdi3.c
95.2.2 lib/.gcc/..moddi3.c
95.2.3 lib/.gcc/..udivdi3.c
95.2.4 lib/.gcc/..umoddi3.c
95.2.5 lib/.gcc/.lldiv.c
95.2.6 lib/.gcc/.ulldiv.c
95.3 os32: ''lib/arpa/inet.h''
95.3.1 lib/arpa/inet/htonl.c
95.3.2 lib/arpa/inet/htons.c
95.3.3 lib/arpa/inet/inet.ntop.c
95.3.4 lib/arpa/inet/inet.pton.c
95.3.5 lib/arpa/inet/ntohl.c
95.3.6 lib/arpa/inet/ntohs.c
95.4 os32: ''lib/dirent.h''
95.4.1 lib/dirent/DIR.c
95.4.2 lib/dirent/closedir.c
95.4.3 lib/dirent/opendir.c
95.4.4 lib/dirent/readdir.c
95.4.5 lib/dirent/rewinddir.c
95.5 os32: ''lib/errno.h''
95.5.1 lib/errno/errno.c
95.6 os32: ''lib/fcntl.h''
95.6.1 lib/fcntl/creat.c
95.6.2 lib/fcntl/fcntl.c
95.6.3 lib/fcntl/open.c
95.7 os32: ''lib/grp.h''
95.7.1 lib/grp/grent.c
95.8 os32: ''lib/inttypes.h''
95.8.1 lib/inttypes/imaxabs.c
95.8.2 lib/inttypes/imaxdiv.c
95.9 os32: ''lib/libgen.h''
95.9.1 lib/libgen/basename.c
95.9.2 lib/libgen/dirname.c
95.10 os32: ''lib/netinet/icmp.h''
95.11 os32: ''lib/netinet/in.h''
95.12 os32: ''lib/netinet/ip.h''
95.13 os32: ''lib/netinet/tcp.h''
95.14 os32: ''lib/netinet/udp.h''
95.15 os32: ''lib/pwd.h''
95.15.1 lib/pwd/pwent.c
95.16 os32: ''lib/setjmp.h''
95.16.1 lib/setjmp/longjmp.c
95.16.2 lib/setjmp/setjmp.s
95.17 os32: ''lib/signal.h''
95.17.1 lib/signal/.sighandler.wrapper.s
95.17.2 lib/signal/kill.c
95.17.3 lib/signal/signal.c
95.18 os32: ''lib/stdio.h''
95.18.1 lib/stdio/FILE.c
95.18.2 lib/stdio/clearerr.c
95.18.3 lib/stdio/fclose.c
95.18.4 lib/stdio/feof.c
95.18.5 lib/stdio/ferror.c
95.18.6 lib/stdio/fflush.c
95.18.7 lib/stdio/fgetc.c
95.18.8 lib/stdio/fgetpos.c
95.18.9 lib/stdio/fgets.c
95.18.10 lib/stdio/fileno.c
95.18.11 lib/stdio/fopen.c
95.18.12 lib/stdio/fprintf.c
95.18.13 lib/stdio/fputc.c
95.18.14 lib/stdio/fputs.c
95.18.15 lib/stdio/fread.c
95.18.16 lib/stdio/freopen.c
95.18.17 lib/stdio/fscanf.c
95.18.18 lib/stdio/fseek.c
95.18.19 lib/stdio/fseeko.c
95.18.20 lib/stdio/fsetpos.c
95.18.21 lib/stdio/ftell.c
95.18.22 lib/stdio/ftello.c
95.18.23 lib/stdio/fwrite.c
95.18.24 lib/stdio/getchar.c
95.18.25 lib/stdio/gets.c
95.18.26 lib/stdio/perror.c
95.18.27 lib/stdio/printf.c
95.18.28 lib/stdio/putchar.c
95.18.29 lib/stdio/puts.c
95.18.30 lib/stdio/rewind.c
95.18.31 lib/stdio/scanf.c
95.18.32 lib/stdio/setbuf.c
95.18.33 lib/stdio/setvbuf.c
95.18.34 lib/stdio/snprintf.c
95.18.35 lib/stdio/sprintf.c
95.18.36 lib/stdio/sscanf.c
95.18.37 lib/stdio/vfprintf.c
95.18.38 lib/stdio/vfscanf.c
95.18.39 lib/stdio/vfsscanf.c
95.18.40 lib/stdio/vprintf.c
95.18.41 lib/stdio/vscanf.c
95.18.42 lib/stdio/vsnprintf.c
95.18.43 lib/stdio/vsprintf.c
95.18.44 lib/stdio/vsscanf.c
95.19 os32: ''lib/stdlib.h''
95.19.1 lib/stdlib/.Exit.c
95.19.2 lib/stdlib/abort.c
95.19.3 lib/stdlib/abs.c
95.19.4 lib/stdlib/atexit.c
95.19.5 lib/stdlib/atoi.c
95.19.6 lib/stdlib/atol.c
95.19.7 lib/stdlib/div.c
95.19.8 lib/stdlib/environment.c
95.19.9 lib/stdlib/exit.c
95.19.10 lib/stdlib/getenv.c
95.19.11 lib/stdlib/labs.c
95.19.12 lib/stdlib/ldiv.c
95.19.13 lib/stdlib/llabs.c
95.19.14 lib/stdlib/lldiv.c
95.19.15 lib/stdlib/putenv.c
95.19.16 lib/stdlib/qsort.c
95.19.17 lib/stdlib/rand.c
95.19.18 lib/stdlib/setenv.c
95.19.19 lib/stdlib/strtol.c
95.19.20 lib/stdlib/strtoul.c
95.19.21 lib/stdlib/unsetenv.c
95.19.22 lib/stdlib.alloc/.alloc.list.c
95.19.23 lib/stdlib.alloc/free.c
95.19.24 lib/stdlib.alloc/malloc.c
95.19.25 lib/stdlib.alloc/realloc.c
95.20 os32: ''lib/string.h''
95.20.1 lib/string/memccpy.c
95.20.2 lib/string/memchr.c
95.20.3 lib/string/memcmp.c
95.20.4 lib/string/memcpy.c
95.20.5 lib/string/memmove.c
95.20.6 lib/string/memset.c
95.20.7 lib/string/strcat.c
95.20.8 lib/string/strchr.c
95.20.9 lib/string/strcmp.c
95.20.10 lib/string/strcoll.c
95.20.11 lib/string/strcpy.c
95.20.12 lib/string/strcspn.c
95.20.13 lib/string/strdup.c
95.20.14 lib/string/strerror.c
95.20.15 lib/string/strlen.c
95.20.16 lib/string/strncat.c
95.20.17 lib/string/strncmp.c
95.20.18 lib/string/strncpy.c
95.20.19 lib/string/strpbrk.c
95.20.20 lib/string/strrchr.c
95.20.21 lib/string/strspn.c
95.20.22 lib/string/strstr.c
95.20.23 lib/string/strtok.c
95.20.24 lib/string/strxfrm.c
95.21 os32: ''lib/sys/os32.h''
95.21.1 lib/sys/os32/input.line.c
95.21.2 lib/sys/os32/ipconfig.c
95.21.3 lib/sys/os32/mount.c
95.21.4 lib/sys/os32/namep.c
95.21.5 lib/sys/os32/routeadd.c
95.21.6 lib/sys/os32/routedel.c
95.21.7 lib/sys/os32/sys.s
95.21.8 lib/sys/os32/umount.c
95.21.9 lib/sys/os32/z.perror.c
95.21.10 lib/sys/os32/z.printf.c
95.21.11 lib/sys/os32/z.vprintf.c
95.22 os32: ''lib/sys/sa.family.t.h''
95.23 os32: ''lib/sys/socket.h''
95.23.1 lib/sys/socket/accept.c
95.23.2 lib/sys/socket/bind.c
95.23.3 lib/sys/socket/connect.c
95.23.4 lib/sys/socket/listen.c
95.23.5 lib/sys/socket/recvfrom.c
95.23.6 lib/sys/socket/send.c
95.23.7 lib/sys/socket/socket.c
95.24 os32: ''lib/sys/socklen.t.h''
95.25 os32: ''lib/sys/stat.h''
95.25.1 lib/sys/stat/chmod.c
95.25.2 lib/sys/stat/fchmod.c
95.25.3 lib/sys/stat/fstat.c
95.25.4 lib/sys/stat/mkdir.c
95.25.5 lib/sys/stat/mknod.c
95.25.6 lib/sys/stat/stat.c
95.25.7 lib/sys/stat/umask.c
95.26 os32: ''lib/sys/types.h''
95.26.1 lib/sys/types/major.c
95.26.2 lib/sys/types/makedev.c
95.26.3 lib/sys/types/minor.c
95.27 os32: ''lib/sys/wait.h''
95.27.1 lib/sys/wait/wait.c
95.28 os32: ''lib/termios.h''
95.28.1 lib/termios/tcgetattr.c
95.28.2 lib/termios/tcsetattr.c
95.29 os32: ''lib/time.h''
95.29.1 lib/time/asctime.c
95.29.2 lib/time/clock.c
95.29.3 lib/time/gmtime.c
95.29.4 lib/time/mktime.c
95.29.5 lib/time/stime.c
95.29.6 lib/time/time.c
95.30 os32: ''lib/unistd.h''
95.30.1 lib/unistd/.exit.c
95.30.2 lib/unistd/access.c
95.30.3 lib/unistd/brk.c
95.30.4 lib/unistd/chdir.c
95.30.5 lib/unistd/chown.c
95.30.6 lib/unistd/close.c
95.30.7 lib/unistd/dup.c
95.30.8 lib/unistd/dup2.c
95.30.9 lib/unistd/environ.c
95.30.10 lib/unistd/execl.c
95.30.11 lib/unistd/execle.c
95.30.12 lib/unistd/execlp.c
95.30.13 lib/unistd/execv.c
95.30.14 lib/unistd/execve.c
95.30.15 lib/unistd/execvp.c
95.30.16 lib/unistd/fchdir.c
95.30.17 lib/unistd/fchown.c
95.30.18 lib/unistd/fork.c
95.30.19 lib/unistd/getcwd.c
95.30.20 lib/unistd/getegid.c
95.30.21 lib/unistd/geteuid.c
95.30.22 lib/unistd/getgid.c
95.30.23 lib/unistd/getopt.c
95.30.24 lib/unistd/getpgrp.c
95.30.25 lib/unistd/getpid.c
95.30.26 lib/unistd/getppid.c
95.30.27 lib/unistd/getuid.c
95.30.28 lib/unistd/isatty.c
95.30.29 lib/unistd/link.c
95.30.30 lib/unistd/lseek.c
95.30.31 lib/unistd/pipe.c
95.30.32 lib/unistd/read.c
95.30.33 lib/unistd/rmdir.c
95.30.34 lib/unistd/sbrk.c
95.30.35 lib/unistd/setegid.c
95.30.36 lib/unistd/seteuid.c
95.30.37 lib/unistd/setgid.c
95.30.38 lib/unistd/setpgrp.c
95.30.39 lib/unistd/setuid.c
95.30.40 lib/unistd/sleep.c
95.30.41 lib/unistd/ttyname.c
95.30.42 lib/unistd/unlink.c
95.30.43 lib/unistd/write.c
95.31 os32: ''lib/utime.h''
95.31.1 lib/utime/utime.c
96 Sorgenti delle applicazioni
96.1 os32: directory ''applic/''
96.1.1 applic/MAKEDEV.c
96.1.2 applic/aaa.c
96.1.3 applic/allocated.c
96.1.4 applic/arp.c
96.1.5 applic/bbb.c
96.1.6 applic/cat.c
96.1.7 applic/ccc.c
96.1.8 applic/chgrp.c
96.1.9 applic/chmod.c
96.1.10 applic/chown.c
96.1.11 applic/cp.c
96.1.12 applic/crt0.mer.s
96.1.13 applic/crt0.sep.s
96.1.14 applic/date.c
96.1.15 applic/ed.c
96.1.16 applic/getty.c
96.1.17 applic/http.c
96.1.18 applic/init.c
96.1.19 applic/ipconfig.c
96.1.20 applic/kill.c
96.1.21 applic/ln.c
96.1.22 applic/login.c
96.1.23 applic/ls.c
96.1.24 applic/man.c
96.1.25 applic/mkdir.c
96.1.26 applic/mmcheck.c
96.1.27 applic/more.c
96.1.28 applic/mount.c
96.1.29 applic/nc.c
96.1.30 applic/ping.c
96.1.31 applic/ps.c
96.1.32 applic/rm.c
96.1.33 applic/rmdir.c
96.1.34 applic/route.c
96.1.35 applic/shell.c
96.1.36 applic/t.fcntl.c
96.1.37 applic/t.fifo.c
96.1.38 applic/t.grp.c
96.1.39 applic/t.nc.c
96.1.40 applic/t.ping2.c
96.1.41 applic/t.pipe.c
96.1.42 applic/t.read.c
96.1.43 applic/t.ret.c
96.1.44 applic/t.rx.udp.c
96.1.45 applic/t.scr.c
96.1.46 applic/t.setjmp.c
96.1.47 applic/t.sig.c
96.1.48 applic/t.sig2.c
96.1.49 applic/t.tx.tcp.c
96.1.50 applic/t.tx.udp.c
96.1.51 applic/touch.c
96.1.52 applic/tty.c
96.1.53 applic/umount.c
96.1.54 applic/yes.c
u7 Indice analitico del volume
Volume V Didattica in laboratorio
Parte x Foglio elettronico
97 Corso elementare sul foglio elettronico
97.1 Primo approccio al foglio elettronico
97.1.1 Esercizi
97.1.1.1 Osservando la figura, qual è la cella che contiene il nome ''gennaio''?
97.1.1.2 Osservando la figura, come si indica l'insieme di celle che contiene i valori numerici?
97.1.1.3 Osservando la figura, come si indica l'insieme di celle che contiene tutti i valori visibili?
97.1.2 Indicazione formale delle coordinate delle celle
97.1.3 Esercizi
97.1.3.1 Osservando la figura, come si indica formalmente l'insieme di celle che contiene i valori numerici?
97.1.3.2 Osservando la figura, come si indica formalmente l'insieme di celle che contiene tutti i valori visibili?
97.1.3.3 Osservando la figura, come si indica formalmente l'insieme di celle che contiene i valori numerici, specificando anche la scheda in cui si trova?
97.1.3.4 Osservando la figura, come si indica formalmente l'insieme di celle che contiene tutti i valori visibili, specificando anche la scheda in cui si trova?
97.1.4 Tipi di dati
97.1.5 Costanti numeriche
97.1.6 Esercizi
97.1.6.1 Se in una cella si inserisce 23,5%, quale valore viene trattato effettivamente?
97.1.6.2 Premesso che il foglio elettronico viene usato in configurazione italiana, se in una cella si inserisce letteralmente 11.10, cosa è stato inserito effettivamente? il numero 11,10, l'orario 11:10 o la data 11 ottobre?
97.1.6.3 Con un foglio elettronico comune, se in una cella viene inserito regolarmente l'orario 12:00, qual è il valore numerico corrispondente di questo dato?
97.1.6.4 Con un foglio elettronico comune, sapendo che il valore 123 456, se considerato come data, corrisponde al 3 gennaio 2238, a cosa può corrispondere il numero 123 456,25?
97.1.7 Informazioni testuali: stringhe
97.1.8 Espressioni
97.1.9 Esercizi
97.1.9.1 Con un foglio elettronico comune, nella cella A3 si inserisce l'espressione seguente, premendo [Invio] al termine, ma si ottiene un errore. Da cosa deriva tale errore?
97.1.9.2 Nella cella A1 è stata inserita la stringa ciao; nella cella B1 è inserita la stringa amore. Nella cella D1 si inserisce l'espressione =A1&B1. Cosa appare poi nella cella D1? Per fare in modo che nella cella D1 si veda il testo ''ciao amore!'', come andrebbe modificata l'espressione inserita nella stessa cella?.
97.1.9.3 Nella cella B3 si vuole sommare il numero 123,4 al contenuto della cella A1. Come si può scrivere l'espressione in B3?
97.1.9.4 Nella cella B3 si vuole sommare il contenuto delle celle A1 e A2, dividendo tale somma per il numero 123,4. Come si può scrivere l'espressione in B3?
97.1.9.5 Nella cella B3 si scrive l'espressione seguente, ma si ottiene un errore. Perché?
97.2 Introduzione a LibreOffice Calc
97.2.1 Aspetto generale
97.2.2 Navigazione nel menù
97.2.3 Esercizi
97.2.3.1 Utilizzando il mouse «o un dispositivo equivalente», come si raggiunge la voce Formato, Aree di stampa, Definisci?
97.2.3.2 Utilizzando la tastiera e limitandosi all'uso di [Alt] e dei tasti freccia, come si raggiunge la voce Formato, Aree di stampa, Definisci?
97.2.4 Navigazione nell'area di lavoro
97.2.5 Esercizi
97.2.5.1 Utilizzando il mouse «o un dispositivo equivalente», come si raggiunge la cella A1, mentre, per qualche motivo, ci si trova vicino alla cella AZ99?
97.2.5.2 Utilizzando la tastiera, come si raggiunge la cella A1, mentre, per qualche motivo, ci si trova vicino alla cella AZ99?
97.2.5.3 Utilizzando la tastiera, come si raggiunge la prima colonna nella riga in cui si trova già il cursore dell'area di lavoro?
97.2.5.4 Utilizzando la tastiera, come si raggiunge la prima riga nella colonna in cui si trova già il cursore dell'area di lavoro?
97.2.5.5 Utilizzando il mouse «o un dispositivo equivalente», come si raggiunge la scheda ''Foglio3''?
97.2.5.6 Utilizzando la tastiera, come si raggiunge la scheda ''Foglio3''?
97.2.6 Aspetto del puntatore del mouse
97.2.7 Selezione nell'area di lavoro
97.2.8 Esercizi
97.2.8.1 Utilizzando il mouse «o un dispositivo equivalente», come si seleziona la zona di celle A7:C9?
97.2.8.2 Utilizzando la tastiera, come si seleziona la zona di celle A7:C9?
97.2.8.3 Utilizzando il mouse «o un dispositivo equivalente», come si seleziona la zona di celle A7:C9 e la zona D3:F7?
97.2.8.4 Utilizzando il mouse «o un dispositivo equivalente», come si selezionano le colonne B, D, E e G?
97.2.8.5 Utilizzando il mouse «o un dispositivo equivalente», come si selezionano tutte le celle del foglio attivo?
97.2.9 Regolazione delle dimensioni delle celle
97.2.10 Esercizi
97.2.10.1 Utilizzando il mouse «o un dispositivo equivalente», come si regola l'altezza della riga 5?
97.2.10.2 Utilizzando il mouse «o un dispositivo equivalente», come si regola l'altezza della riga 5 e della riga 7, in modo simultaneo?
97.2.10.3 Utilizzando la tastiera, come si regola l'altezza della riga 7 e la larghezza della colonna C?
97.3 Bordi, sfondi e fusione celle
97.3.1 Definizione dei bordi associata alla cella
97.3.2 Esercizi
97.3.2.1 Tra le colonne C e D appare un bordo che occupa le righe dalla terza alla quinta. Volendo togliere il bordo, si selezionano le celle da C3 a C5 e si elimina il bordo destro. Ma se ciò non dovesse funzionare, quale sarebbe la ragione?
97.3.2.2 La cella A1 ha un bordo destro, di colore nero e con uno spessore di un punto; la cella B1 ha un bordo sinistro di colore rosso, con uno spessore di due punti. Quale linea si vede tra la cella A1 e B1?
97.3.3 Bordi rapidi
97.3.4 Esercizi
97.3.4.1 Si seleziona la zona B2:D3 che inizialmente è priva di bordi. Con i bordi rapidi, cosa occorre scegliere per bordare il lato sinistro delle celle B2 e B3?
97.3.4.2 Si seleziona la zona B1:F10 che inizialmente è priva di bordi. Con i bordi rapidi, cosa occorre scegliere per bordare tutti i lati esterni e solo quelli verticali interni?
97.3.5 Bordi attraverso il menù
97.3.6 Sfondi
97.3.7 Fusione delle celle
97.3.8 Esercitazione pratica
97.4 Configurazione della stampa
97.4.1 Area da riservare alla stampa
97.4.2 Configurazione della pagina
97.4.3 Verifica
97.5 Inserimento, variazione, collocazione e composizione dei dati nelle celle
97.5.1 Inserimento e variazione
97.5.1.1 Inserimento di un'interruzione di riga nel testo di una cella
97.5.2 Collocazione nella cella
97.5.3 Rotazione del contenuto della cella
97.5.4 Testo a capo in modo automatico
97.5.5 Caratteristiche del carattere tipografico
97.5.6 Modalità di rappresentazione numerica di un valore
97.5.7 Esercizi
97.5.7.1 Come si può richiedere un formato numerico che consenta di rappresentare un valore nella forma 1 234 567 890,12, mantenendo due decimali fissi in ogni caso?
97.5.7.2 Lavorando con una configurazione italiana, come si può richiedere un formato numerico che consenta di rappresentare un orario nella forma 11:45:33?
97.5.7.3 Lavorando con una configurazione italiana, come si può richiedere un formato numerico che consenta di rappresentare una data e un orario nella forma ven 30 dic 2050 12:15?
97.5.7.4 Quale tipo di rappresentazione numerica chiarisce che i dati introdotti in una cella vanno trattati soltanto in forma testuale?
97.5.8 Verifica
97.6 Inserimento, copia e spostamento, riferimenti relativi e assoluti
97.6.1 Espressione esplicita
97.6.2 Inserimento facilitato degli operandi di un'espressione
97.6.3 Controllo delle zone coinvolte in un'espressione
97.6.4 Copia normale delle celle
97.6.5 Copia per trascinamento
97.6.6 Spostamento delle celle: taglia e incolla
97.6.7 Esercizio
97.6.8 Funzione ''somma«»''
97.6.9 Esercizio
97.6.10 Esercizio
97.6.11 Esercizio
97.6.12 Riferimenti relativi e riferimenti assoluti alle celle
97.7 Percentuali
97.7.1 Inserimento di un valore percentuale
97.7.2 Esercizi
97.7.2.1 A cosa corrisponde il valore 0,401 2 se lo si rappresenta in percentuale?
97.7.2.2 A cosa corrisponde 12,34 % se lo si rappresenta nella forma numerica consueta?
97.7.2.3 A cosa corrisponde 100 % se lo si rappresenta nella forma numerica consueta?
97.7.3 Calcolo della porzione rimanente
97.7.4 Esercizio
97.7.5 Esercizio
97.7.6 Verifica
97.8 Aggiunta ed eliminazione delle celle
97.8.1 Inserimento ed eliminazione di zone di celle
97.8.2 Inserimento ed eliminazione di righe e colonne intere
97.9 Uso delle funzioni
97.9.1 Inserimento facilitato delle funzioni
97.9.2 Lista delle funzioni
97.10 Segnalazioni di errore
97.10.1 Errori a catena
97.10.2 Esercizio
97.11 Funzioni di uso comune
97.11.1 Minimo, massimo e media
97.11.2 Esercizio
97.11.3 Arrotondamenti
97.11.4 Esercizio
97.11.5 Esercizio
97.11.6 Somma condizionata
97.11.7 Esercizio
97.11.8 Verifica
97.11.9 Verifica
97.12 Condizioni
97.12.1 Formato logico
97.12.2 Operatori di confronto
97.12.3 Esercizio
97.12.4 Operatori logici
97.12.5 Esercizio
97.12.6 Funzione ''SE«»''
97.12.7 Esercizio
97.12.8 Esercizio
97.13 Date e orari
97.13.1 1900: anno bisestile?
97.13.2 Inserimento di date e orari
97.13.3 Operazioni con le date e gli orari
97.13.4 Esercizio
97.13.5 Esercizio
97.13.6 Esercizio
97.13.7 Esercizio
97.13.8 Verifica
97.14 Grafici
97.14.1 Componenti di un grafico comune
97.14.2 Creazione di un grafico con LibreOffice Calc
97.14.3 Organizzazione dei dati: per riga o per colonna
97.14.4 Area dei dati discontinua
97.14.5 Grafici a istogramma
97.14.6 Grafici a torta
97.14.7 Grafici lineari
97.14.8 Grafici XY
97.15 Ripartizione
97.15.1 Esercizio
97.15.2 Esercizio
97.15.3 Esercizio: ripartizione delle spese non documentate
97.15.4 Verifica
97.16 Calcolo del bollo della cambiale
97.16.1 Percentuale del bollo
97.16.2 Esercizio
97.16.3 Esercizio
97.16.4 Esercizio
97.16.5 Verifica
97.17 Funzioni di ricerca
97.17.1 Funzione ''CERCA.VERT«»''
97.17.2 Esercizio
97.17.3 Funzione ''CERCA.ORIZZ«»''
97.17.4 Esercizio
97.17.5 Verifica
97.17.6 Verifica
97.17.7 Verifica
97.17.8 Verifica
97.17.9 Verifica
97.17.10 Esercizio
97.18 Riordino, filtro e moduli
97.18.1 Riordino
97.18.2 Filtro
97.18.3 Modulo di immissione
97.19 Nomi e casella nome
97.19.1 Gestione completa
97.19.2 Denominazione automatica
97.19.3 Inserimento guidato
97.20 Verifica di validità
97.21 Protezione
97.21.1 Modifica dello stato di protezione delle celle
97.21.2 Attivazione e disabilitazione della gestione protetta
97.21.3 Esercizio
97.22 Stili
97.22.1 Gestione degli stili
97.22.2 Applicazione di uno stile
97.22.3 Osservazioni sulla gestione degli stili riferiti all'impaginazione
97.22.4 Applicazione di uno stile in modo condizionato
97.23 Ricerca obiettivo
97.24 Tabella ''pivot'', o ''data pilot''
97.24.1 Creazione di una ''tabella pivot''
97.24.2 Esercizio: dalla prima nota alla situazione dei conti
97.24.3 Filtro
97.25 Struttura
97.25.1 Raggruppamento automatico
97.25.2 Raggruppamento manuale
97.25.3 Eliminazione di un raggruppamento
97.26 Configurazione di LibreOffice Calc
97.26.1 Maschere di configurazione di LibreOffice Calc
97.26.2 Osservazioni sulla configurazione linguistica
97.27 Soluzioni agli esercizi proposti
97.28 Riepilogo delle funzioni comuni
Parte xi Applicativo gestionale con il foglio elettronico
98 Utilizzo
98.1 Organizzazione generale e accorgimenti nell'utilizzo
98.1.1 Struttura
98.1.2 Evitare gli spostamenti
98.1.3 Cancellazione dei contenuti
98.1.4 Riordino
98.1.5 Filtro delle righe
98.1.5.1 Formato della pagina
98.1.6 Scheda riassuntiva degli errori individuati automaticamente
98.1.7 Aggiunta di nuove schede
98.2 Anagrafica azienda
98.3 Contabilità generale
98.3.1 Prima nota
98.3.2 Piano dei conti
98.3.3 Giornale
98.3.4 Partitario o ''mastrini''
98.4 Bilancio
98.4.1 Situazione dei conti
98.4.2 Scheda del bilancio
98.4.3 Collegamento nel piano dei conti
98.4.4 Esempio completo
98.4.5 Correzione di un bilancio errato
98.4.6 Indici di bilancio
98.4.7 Bilancio manuale
98.5 Clienti e fornitori
98.5.1 Elenco delle banche di appoggio
98.5.2 Tabelle anagrafiche di clienti e fornitori
98.5.3 Libro giornale
98.5.4 Partitario clienti e fornitori
98.6 Registri IVA
98.6.1 Codici IVA
98.6.2 Registri delle fatture
98.7 Contabilità di magazzino
98.7.1 Articoli di magazzino
98.7.2 Movimenti di magazzino
98.7.3 Valorizzazione al costo medio ponderato per movimento
98.7.4 Valorizzazione al costo medio ponderato per periodo
98.8 Vendite
98.8.1 Condizioni di pagamento
98.8.2 Tipi di trasporto
98.8.3 Porto franco e porto assegnato
98.8.4 Aspetto dei beni trasportati
98.8.5 Causali del trasporto
98.8.6 Documenti di trasporto
98.8.7 Fatture accompagnatorie
98.8.8 Fatture immediate o differite
98.8.9 Cambiali tratte
98.8.10 Note di accredito
98.9 Conti correnti
98.9.1 Scheda del conto
98.9.2 Riordino per valuta
98.9.3 Compilazione del prospetto delle spese e delle competenze
98.9.4 Staffa
98.9.5 Descrizione di un esempio alternativo, con estinzione del conto
98.10 Altre schede
98.10.1 Raggruppamenti contabili
98.10.2 Assegni bancari
98.10.3 Cambiali generiche
99 Esercitazioni con l'applicativo gestionale
99.1 Codifica
99.1.1 Piano dei conti
99.1.2 Banche
99.1.3 Clienti
99.1.4 Fornitori
99.1.5 Codici IVA
99.1.6 Articoli di magazzino
99.1.7 Condizioni di pagamento
99.2 Esercitazione con la contabilità generale «coge1»
99.2.1 Giornale di contabilità generale
99.2.2 Registri delle fatture
99.2.3 Partitario clienti e fornitori
99.2.4 Variazioni dei conti utilizzati
99.3 Verifica sulla gestione della contabilità generale «coge2»
99.4 Verifica guidata sulla chiusura «coge3»
99.4.1 Inserimento della situazione dei conti, prima degli assestamenti
99.4.2 Operazioni di assestamento
99.4.2.1 Operazioni di chiusura
99.4.3 Conclusione della verifica sulla chiusura
99.5 Verifica guidata sul bilancio «coge4»
99.5.1 Ripristino delle eccedenze
99.5.2 Predisposizione di una situazione contabile
99.5.3 Associare i conti alle voci di bilancio
99.5.4 Stampa del bilancio
99.5.5 Conclusione della verifica sul bilancio
99.6 Esercitazione con la contabilità di magazzino «mag1»
99.6.1 Giornale di magazzino
99.6.2 Valorizzazione al costo medio ponderato per movimento
99.6.3 Valorizzazione al costo medio ponderato per periodo
99.7 Verifica sulla gestione della contabilità di magazzino «mag2»
99.8 Esercitazione sulla gestione delle vendite «vend1»
99.8.1 Fattura
99.8.2 Cambiale tratta
99.8.3 Nota di accredito
99.8.4 Giornale di contabilità generale
99.8.5 Registro IVA delle vendite
99.8.6 Partitario clienti
99.8.7 Giornale di magazzino
99.9 Verifica sulla gestione dei documenti della vendita «vend2»
99.10 Verifica sulla gestione dei documenti della vendita «vend3»
99.11 Verifica sulla gestione dei documenti della vendita «vend4»
99.12 Verifica integrata «int1»
99.13 Verifica integrata «int2», guidata - prima parte
99.13.1 Preparazione
99.13.2 Inserimento della situazione iniziale
99.13.3 Le operazioni dal 1 ottobre al 31 ottobre
99.13.4 Conclusione della prima parte
99.14 Verifica integrata «int2», guidata - seconda parte
99.14.1 Conclusione
99.15 Verifica integrata «int2» - terza parte
99.15.1 Le operazioni dal 1 novembre al 30 novembre
99.15.2 Conclusione
Parte xii Gazie
100 Installazione e manutenzione generale
100.1 Gazie in un sistema Unix
100.1.1 Configurazione del servente HTTP
100.1.2 MySQL
100.1.2.1 Copia di sicurezza
100.1.3 PHP: ''magic.quotes.gpc = Off''
100.2 Gazie in un sistema MS-Windows
100.2.1 XAMPP in un sistema MS-Windows
100.2.2 Installazione di WampServer in un sistema MS-Windows
100.2.3 Installazione di Gazie
100.2.4 Installazione di più gestioni indipendenti
100.2.5 Copia di sicurezza con phpMyAdmin
100.2.6 Aggiornamento di Gazie
100.3 Predisposizione di un servizio ''on-line''
100.3.1 Servente HTTP
100.3.2 Struttura di ''/var/www/gazie/'' e associazione alle basi di dati
100.3.3 Le basi di dati
100.3.4 Conclusione
100.3.5 Predisposizione di un servizio ''on-line'' con una base di dati unica
100.4 Installazione presso un servizio esterno
100.4.1 Preparazione e copia di Gazie
100.4.2 Preparazione della base di dati
100.5 GZT: un sistema per la didattica con Gazie
100.6 Riferimenti
101 Manuale sintetico delle funzionalità principali di Gazie
101.1 Piano dei conti e associazione al bilancio
101.2 Archivi di base
101.2.1 Azienda
101.2.1.1 Lista aziende installate
101.2.1.2 Crea nuova azienda
101.2.2 Banche di appoggio
101.2.3 Conti correnti bancari
101.2.4 Aliquote IVA
101.2.5 Pagamenti
101.2.6 Spedizioni
101.2.7 Vettori
101.2.8 Imballi
101.2.9 Porti
101.2.10 Utenti
101.3 Home
101.4 Contabilità
101.4.1 Piano dei conti
101.4.1.1 Nuovo conto
101.4.1.2 Stampa piano dei conti
101.4.1.3 Partitario
101.4.2 Prima nota
101.4.2.1 Nuovo movimento contabile
101.4.3 Causali contabili
101.4.4 Libro giornale
101.4.5 Registri IVA
101.5 Fine anno
101.5.1 Bilancio
101.5.2 Bilancio CEE
101.5.3 Chiusura e apertura conti
101.6 Magazzino
101.6.1 Causali
101.6.2 Categorie merceologiche
101.6.3 Articoli
101.6.3.1 Rivalutazione esistente
101.6.4 Movimenti
101.6.4.1 Nuovo movimento di magazzino
101.6.4.2 Genera movimenti di magazzino
101.6.4.3 Stampa giornale di magazzino
101.6.4.4 Stampa schedari articoli di magazzino
101.6.5 Listini
101.6.6 Modifica prezzi
101.6.7 Cataloghi
101.6.8 Statistiche
101.7 Vendite
101.7.1 Clienti
101.7.2 Corrispettivi
101.7.3 D.d.T.
101.7.3.1 Emetti D.d.T.
101.7.4 Fatture
101.7.4.1 Emetti fattura
101.7.4.2 Fatturazione D.d.t.
101.7.4.3 Contabilizza fatture
101.7.4.4 Emetti nota credito
101.7.4.5 Emetti parcella
101.7.4.6 Modifica della numerazione
101.7.4.7 Eliminazione di un documento intermedio
101.7.5 Effetti
101.7.5.1 Emetti effetto
101.7.5.2 Genera effetti da fatture
101.7.5.3 Stampa effetti
101.7.5.4 Distinta effetti
101.7.5.5 Contabilizza effetti
101.7.6 Ordini
101.7.6.1 Ordini da cliente
101.7.6.2 Evadi ordini
101.7.7 Agenti
101.8 Acquisti
101.8.1 Fornitori
101.8.2 Preventivi e ordini
101.8.2.1 Richiedi preventivo
101.8.2.2 Ordine a fornitore
101.8.3 Documenti di trasporto relativi all'acquisto
101.8.3.1 Emetti D.d.t. di reso
101.8.3.2 Ricevuto D.d.t. di acquisto
101.8.4 Fatture
102 Tabelle principali della base di dati di Gazie
102.1 Tabella ''aliiva''
102.2 Tabella ''pagame''
102.3 Tabelle ''clfoco'' e ''anagra''
102.4 Tabella ''caucon''
102.5 Tabelle ''tesmov'', ''rigmoc'' e ''rigmoi''
102.6 Tabelle ''artico'' e ''catmer''
102.7 Tabelle ''agenti'' e ''provvigioni''
102.8 Tabella ''caumag''
102.9 Tabella ''movmag''
102.10 Tabella ''banapp''
102.11 Tabella ''imball''
102.12 Tabella ''portos''
102.13 Tabella ''spediz''
102.14 Tabella ''vettor''
102.15 Tabella ''body.text''
102.16 Tabelle ''tesdoc'', ''rigdoc''
102.17 Tabella ''effett''
102.18 Tabelle ''contract'' e ''contract.row''
102.19 Tabelle ''tesbro'' e ''rigbro''
102.20 Tabella ''aziend''
Parte xiii Esercitazioni con Gazie
u8 Utilizzo di Google documenti per le esercitazioni con Gazie
u9 Utilizzo di ''gzt.nssitaly.com''
103 Esercitazione con la contabilità generale «coge1»
103.1 Introduzione della prima nota
103.1.1 Prima registrazione del 4 gennaio
103.1.2 Seconda registrazione del 4 gennaio
103.1.3 Terza registrazione del 5 gennaio
103.1.4 Quarta registrazione del 5 gennaio
103.2 Stampa del giornale di contabilità generale
103.3 Stampa dei registri delle fatture
103.4 Condivisione dei file con il docente
104 Verifica sulla gestione della contabilità generale «coge2»
105 Verifica guidata sulla chiusura «coge3»
105.1 Inserimento della situazione dei conti, prima degli assestamenti
105.2 Operazioni di assestamento
105.3 Bilancio finale
105.3.1 Operazioni di chiusura
105.4 Conclusione della verifica sulla chiusura
106 Esercitazione con la contabilità di magazzino «mag1»
106.1 Movimenti da inserire
106.2 Stampa del giornale di magazzino
106.3 Stampa delle schede di magazzino
106.4 Condivisione dei file con il docente
107 Verifica sulla gestione della contabilità di magazzino «mag2»
108 Esercitazione sulla gestione delle vendite «vend1»
108.1 Emissione della fattura
108.2 Contabilizzazione della fattura
108.3 Emissione della cambiale tratta
108.4 Distinta degli effetti
108.5 Contabilizzazione degli effetti
108.6 Emissione di una nota di accredito
108.7 Contabilizzazione della nota di accredito
108.8 Giornale di contabilità generale
108.9 Registro IVA delle vendite
108.10 Partitario clienti
108.11 Giornale di magazzino
109 Verifica sulla gestione dei documenti della vendita «vend2»
110 Verifica sulla gestione dei documenti della vendita «vend3»
111 Esercitazione sulla gestione degli ordini da clienti «vend4»
111.1 Emissione della conferma d'ordine
111.2 Evasione dell'ordine
111.3 Completamento
112 Verifica sulla gestione degli ordini da clienti «vend5»
113 Esercitazione sulla gestione delle provvigioni «vend6»
114 Esercitazione sulla gestione degli acquisti «acq1»
114.1 Emissione della richiesta di preventivo
114.2 Emissione dell'ordine
114.3 Ricezione del DDT
114.4 Ricezione della fattura differita
114.5 Merce resa al fornitore
114.6 Nota di accredito da fornitore
114.7 Completamento
115 Verifica integrata «int1»
116 Verifica integrata guidata «int2» - prima parte
116.1 Articoli di magazzino
116.2 Inserimento della situazione iniziale
116.3 Le operazioni dal 1 ottobre al 31 ottobre
116.4 Conclusione della prima parte
117 Verifica integrata guidata «int2» - seconda parte
117.1 Conclusione
118 Verifica integrata guidata «int2» - terza parte
118.1 Le operazioni dal 1 novembre al 30 novembre
118.2 Conclusione
Volume VI ''a0''
Parte xiv Applicativi
u10 Spreadsheet Calculator
u2.1 Concetti generali
i10.1.1 Zona
i10.1.2 Navigazione nel foglio
i10.1.3 Inserimento e modifica di dati nella riga di comando
u2.2 Avvio e opzioni di funzionamento
u2.3 Inserimento e modifica dei valori nelle celle
i10.3.1 Particolarità dell'inserimento di valori ed espressioni stringa
i10.3.2 Particolarità dell'inserimento di valori ed espressioni numerici
u2.4 Formato delle celle
u2.5 Comandi per intervenire sui file
u2.6 Comandi per intervenire su zone del foglio
i10.6.1 Aiuto alla definizione delle celle e delle zone
i10.6.2 Coordinate relative o assolute
u2.7 Comandi vari
u2.8 Espressioni
u2.9 Formato del file
Parte xv NLNX
u11 Semplicità e controllo
u2.1 Caratteristiche generali
u2.2 Insieme dei pacchetti applicativi disponibili
u2.3 File system compresso
u2.4 Espulsione del disco
u2.5 Aggiornamento
u2.6 Sistema di emergenza
u2.7 Installazione: normale o in sola lettura
u2.8 Avvio dalla rete
u12 Ambiente operativo ideale di NLNX
u2.1 Servente
u2.2 Elaboratori periferici
u2.3 Accesso alle stampanti
u2.4 Proxy HTTP
u2.5 Il lavoro a casa
u2.6 Osservazioni
u13 NLNX per il principiante
u2.1 Utilizzo del DVD live
u2.2 Installazione in ''C:.''
u2.3 Utenze
u2.4 Configurazione automatica della rete
u2.5 Voci per l'avvio
u14 La configurazione grafica di NLNX
u2.1 Menù
u2.2 Configurazione delle finestre
u2.3 Comandi da tastiera
u2.4 Configurazione locale
u2.5 Configurazione della mappa della tastiera
u2.6 Livelli di inserimento
u2.7 Accenti morti
i14.7.1 Metodi di inserimento
u2.8 Messaggi di errore
u2.9 Avvio dei programmi
u2.10 Chiusura dei programmi
u2.11 Configurazione del mouse
u2.12 Sfondo
u2.13 Cattura dell'immagine dello schermo
u2.14 Bottoni della barra delle applicazioni
u2.15 Registrazione dello schermo
u2.16 Uso dello scanner
u2.17 Avvio manuale del sistema grafico
u2.18 Autorizzazione per l'accesso al servente X
u2.19 Altre annotazioni
u15 Accesso ad altri file system con NLNX
u2.1 Innesto di altri file system
u2.2 Accesso semplificato alle unità rimovibili
u2.3 Accesso a unità non rimovibili
u2.4 Limitazione all'accesso
u2.5 Accesso a risorse di rete SMB
u16 Sintesi dei comandi
u17 Sintesi delle opzioni di avvio
u18 Preparazione delle partizioni
u2.1 Piano di utilizzo delle partizioni
u2.2 Sistema di emergenza: ''rescue''
u2.3 Suddivisione in partizioni
u2.4 Inizializzazione delle partizioni
u19 Copia del sistema operativo
u2.1 Copia di NLNX in una partizione di un disco ''normale''
u2.2 Copia in una directory
u2.3 Configurazione
u2.4 Configurazione alternativa
u2.5 Scambio della memoria utilizzando un file
u20 Installazione in un file-immagine
u2.1 Installazione di un file-immagine in sola lettura
u2.2 Installazione in sola lettura condivisa attraverso la rete
u2.3 File-immagine in lettura e scrittura
u21 Predisposizione del sistema di avvio
u2.1 SYSLINUX
u2.2 EXTLINUX
u2.3 PXELINUX
u2.4 Osservazioni sugli insiemi RAID
u2.5 Osservazioni sulla convivenza di più sistemi operativi
u2.6 Osservazioni sull'aggiornamento del kernel
u22 Avvio di NLNX dopo la sua installazione
u2.1 Configurazione dell'avvio
u2.2 Cenni alla configurazione successiva
u23 Realizzazione di una propria variante di NLNX
u2.1 Modifica dei pacchetti applicativi installati
u2.2 Creazione del file-immagine della versione live
i23.2.1 Identificazione dell'edizione
u2.3 Ricompilazione del kernel
u2.4 Installazione di software non libero
u24 Configurazione di NLNX per l'interazione con il sistema
u2.1 Configurazione locale
u2.2 Configurazione di mouse e tastiera
u2.3 Configurazione di X
u25 Stampa
u2.1 Configurazione
u2.2 Opzioni di avvio per la stampa
u26 Particolarità varie di NLNX
u2.1 ACPI
u2.2 Configurazione di Bash e script di sistema
u2.3 Procedura di inizializzazione del sistema
u2.4 Registri
u2.5 Pianificazione dei processi con Cron
u2.6 Dati variabili nel DVD live
u2.7 Blocco delle funzioni di ''nlnxrc''
u27 Servizi di rete vari, secondo l'organizzazione di NLNX
u2.1 Nomi a dominio
u2.2 DHCP
u2.3 TFTP e PXE
u2.4 HTTP
u2.5 Proxy HTTP
u2.6 File di registrazioni
u2.7 Orologio di riferimento
u2.8 Servizi da avviare manualmente
u2.9 Utilizzo dello scanner
u28 PXE per l'avvio di un elaboratore senza disco fisso
u2.1 PXE
u2.2 NLNX in un file system di rete
u2.3 Controllo dell'avvio di sistemi locali
u29 HTTP e servizi collegati
u2.1 Impedire la pubblicazione di file personali
u2.2 Programmi CGI
u2.3 PHP
u2.4 Webalizer
u2.5 MRTG
u2.6 Accessibilità dei registri «log»
u2.7 Documentazione interna
u2.8 Esercitazioni con il linguaggio HTML
u30 La rete e gli instradamenti con NLNX
u2.1 Interfacce di rete senza fili
u2.2 Individuazione delle interfacce di rete
u2.3 Connessione in una rete locale tradizionale
u2.4 Connessione in una rete locale via radio
i30.4.1 Connessione automatica in una rete non cifrata
u2.5 Router per una rete locale
u2.6 Router per una rete locale, attraverso un proxy
u2.7 Indirizzi di rete da evitare assolutamente
u31 VNC con ''nlnxrc''
u2.1 Organizzazione e funzionamento
u2.2 Utilizzo di un elaboratore remoto con un pubblico passivo
u2.3 Utilizzo di un elaboratore locale con un pubblico passivo
u2.4 Utilizzo di un elaboratore remoto con un pubblico attivo
u2.5 Utilizzo di un elaboratore locale, con un pubblico attivo
u2.6 Utilizzo senza parola d'ordine
u2.7 Utilizzo di VNC attraverso un tunnel SSH
u32 Utenze e amministrazione con NLNX
u2.1 Creazione, modifica e cancellazione delle utenze, in modo interattivo
u2.2 Creazione, modifica e cancellazione delle utenze, in modo non interattivo
u2.3 NIS e NFS per utilizzare altre utenze
u2.4 Controllo dello spazio utilizzato
u2.5 Controllo del numero di pagine stampabili e dell'origine delle stampe
u2.6 Utenze speciali per l'amministrazione
u33 Utenze condivise e configurazione automatica con NLNX
u2.1 Condivisione delle utenze attraverso NIS, NFS e Samba
u2.2 Utilizzo di SSHfs al posto di NFS
u2.3 Gestione delle utenze
u2.4 Samba
i33.4.1 Le utenze di Samba
u2.5 Servente DHCP
u34 Controllo dell'accesso a servizi HTTP esterni
u2.1 Situazione tipica di utilizzo
u2.2 Controllo a gruppi
u35 Controllo dell'accesso alla stampante
u36 Mettere in comunicazione insegnanti e studenti
u2.1 Organizzazione delle utenze
u2.2 Funzionamento
u37 Estendere il controllo delle utenze alla rete MS-Windows
u2.1 Situazione di esempio
u2.2 Profili personali
u2.3 Script di avvio
u2.4 Utenze per gli elaboratori MS-Windows
u2.5 Configurazione di MS-Windows XP Professional: disabilitazione della connessione cifrata
u2.6 Configurazione di MS-Windows XP Professional: associazione al dominio
u2.7 Configurazione di MS-Windows 7: definizione di due voci nel registro di sistema
u2.8 Configurazione di MS-Windows 7: associazione al dominio
u2.9 Spegnimento del servente NLNX
u2.10 Servente WINS
u2.11 Riferimenti
u38 Installazione indolore di NLNX in una rete di elaboratori MS-Windows
u2.1 Sequenza di avvio
u2.2 File system principale attraverso la rete
u2.3 Configurazione del DHCP
u2.4 Configurazione dell'avvio
u2.5 Riferimenti
u39 Problemi di NLNX e soluzioni
u2.1 Directory personale in un disco esterno
u2.2 Utenze generiche
u2.3 Messaggi di errore
u2.4 Programmi ''duri a morire''
u2.5 Studenti troppo furbi
u2.6 Vincolare gli utenti a un certo gruppo di postazioni
u40 Adattamento di NLNX
u2.1 Gerarchia doppia
u2.2 Creazione di una nuova versione
u2.3 Configurazione predefinita di NLNX
u2.4 Aggiornamento dei pacchetti installati
u2.5 Kernel
u41 Organizzazione del laboratorio GNU/Linux
u2.1 Accensione e spegnimento
u2.2 Procedura per l'aggiunta di un utente
u2.3 Controllo dei servizi
u2.4 Controllo del numero massimo di pagine stampabili per volta
u2.5 Utilizzo di elaboratori estranei al laboratorio
u42 Utilizzo del laboratorio GNU/Linux
u2.1 Avvio e arresto degli elaboratori del laboratorio
u2.2 Utenze
u2.3 Registri
u2.4 Console e utilizzo di applicazioni grafiche
u2.5 Stampa
u2.6 Accesso a Internet
u2.7 Licenze
i42.7.1 The Debian Free Software Guidelines «DFSG»
u43 Organizzazione dei laboratori MS-Windows
u2.1 Procedura per l'aggiunta di un utente
u2.2 Procedura per la modifica di una parola d'ordine
u2.3 Controllo dell'accesso all'esterno
u2.4 Configurazione di MS-Windows XP Professional per utilizzare le utenze centralizzate
u2.5 Configurazione di MS-Windows 7 per utilizzare le utenze centralizzate
u2.6 Configurazione per poter utilizzare anche un sistema GNU/Linux
u2.7 Eliminazione delle utenze
u44 Utilizzo dei laboratori MS-Windows
u2.1 Premessa
u2.2 Autenticazione
u2.3 Accesso manuale ai dati personali da una postazione MS-Windows anonima
u2.4 Scambio di dati tra insegnanti e studenti
u2.5 Avvio di un sistema GNU/Linux
u2.6 Registri elettronici
u45 Servizio telnet.informaticalibera.net
u2.1 Tutori, pupilli e directory personali
u2.2 La stampa
u2.3 Pubblicazione di file attraverso la directory ''./public.html/''
u2.4 Elenco dei tutori e dei pupilli
u2.5 Registri
u2.6 Amministrazione da parte dei tutori
u2.7 Accesso normale al sistema
u2.8 Trasferimento dati tramite il protocollo SSH
u46 Come funziona il servizio telnet.informaticalibera.net
u2.1 Elaboratori coinvolti
u2.2 Ridirezione del traffico TCP
u2.3 Avvio dalla rete dell'elaboratore ''B''
u2.4 Dati personali delle utenze privilegiate
u2.5 Servizi via HTTP presso l'elaboratore ''A''
u2.6 Riferimenti
Parte xvi Installazione e avvio di un sistema GNU/Linux
u47 Installazione di una distribuzione Slackware
u2.1 Organizzazione dei dischetti di avvio
u2.2 Avvio dai dischetti e preparazione all'installazione
u2.3 Avvio della procedura di installazione
i47.3.1 Configurazione della partizione di scambio
i47.3.2 Selezione delle partizioni di tipo Linux-nativa
i47.3.3 Selezione della fonte della distribuzione GNU/Linux
i47.3.4 Selezione dei gruppi di pacchetti da installare
i47.3.5 Installazione dei pacchetti e del kernel
u2.4 Configurazione del sistema
i47.4.1 Dischetto di avvio
i47.4.2 Configurazione e installazione del sistema di avvio
i47.4.3 Ora locale
u2.5 Conclusione
u2.6 Riferimenti
u48 LILO: introduzione
u2.1 Organizzazione essenziale
u2.2 Installazione del meccanismo di caricamento del sistema operativo
i48.2.1 Configurazione
i48.2.2 Installazione del sistema di avvio
u2.3 LILO su un disco differente
u2.4 Boot prompt
u2.5 Riferimenti
u49 Configurazione di LILO più in dettaglio «omesso»
u2.1 Direttive di configurazione globale
u2.2 Direttive utilizzabili globalmente e anche nelle sezioni specifiche
u2.3 Sezioni delle voci di avvio
u2.4 Esempi
Parte xvii X
u50 X: monitor, adattatore grafico e frequenza dot-clock
u2.1 Autorilevamento con Read-edid
u2.2 Autorilevamento con un servente XFree86 versione 3.*
i50.2.1 Dot-clock
u2.3 Un po' di teoria
i50.3.1 Ampiezza di banda del monitor
i50.3.2 Scomposizione e scansione dell'immagine sul monitor
i50.3.3 Frequenza, durata e lunghezza
i50.3.4 Definizioni, concetti ed equazioni
i50.3.5 Multipli di otto e rapporto 3/4
i50.3.6 Utilizzo della memoria video
i50.3.7 Impulsi di sincronismo
i50.3.8 Tradurre i valori in unità dot-clock e in quantità di righe
u2.4 Configurazione della sezione ''Monitor'' di ''XF86Config''
i50.4.1 Scomposizione delle informazioni
i50.4.2 Scansione orizzontale
i50.4.3 Scansione verticale
i50.4.4 Interlacciamento
i50.4.5 Adattamento delle configurazioni predefinite
u2.5 Rifiniture
i50.5.1 Utilizzo di ''xvidtune''
u2.6 Altri programmi affini
u2.7 Riferimenti
Parte xviii Posta elettronica
u51 Sendmail: introduzione
u2.1 Destinatari e formati degli indirizzi
u2.2 Alias, inclusione e forward
u2.3 Configurazione di Sendmail con il pacchetto di Berkeley
i51.3.1 Introduzione al sistema
i51.3.2 Struttura e contenuto del file di configurazione
i51.3.3 Macro ''VERSIONID''
i51.3.4 Macro ''OSTYPE''
i51.3.5 Macro ''DOMAINS''
i51.3.6 Macro ''MAILERS''
i51.3.7 Macro ''FEATURE''
i51.3.8 Macro ''HACK''
u2.4 Esempio di una distribuzione GNU/Linux
i51.4.1 File ''/etc/mail/ip.allow''
i51.4.2 File ''/etc/mail/name.allow''
i51.4.3 File ''/etc/mail/relay.allow''
i51.4.4 File ''/etc/mail/deny''
u52 Exim 3: introduzione
u2.1 Compatibilità con Sendmail e differenze importanti
u2.2 Installazione
i52.2.1 Utente specifico
i52.2.2 File ''/etc/aliases''
i52.2.3 File ''./.forward''
i52.2.4 Directory di destinazione dei messaggi locali
u2.3 Organizzazione della configurazione
i52.3.1 Struttura
u2.4 Elementi comuni della configurazione
i52.4.1 Macro
i52.4.2 Assegnamento
i52.4.3 Valori booleani
i52.4.4 Interi
i52.4.5 Numeri con parte decimale
i52.4.6 Intervalli orari
i52.4.7 Stringhe
i52.4.8 Elenchi di stringhe
i52.4.9 Espansione delle stringhe
i52.4.10 Espressioni regolari
u2.5 Configurazione in pratica
i52.5.1 Configurazione principale
i52.5.2 Configurazione dei driver
i52.5.3 Configurazione dei tentativi ripetuti
i52.5.4 Configurazione della riscrittura degli indirizzi
i52.5.5 Configurazione generica
i52.5.6 Interazione con Procmail
u2.6 Avvio di Exim
u2.7 Code e registri
i52.7.1 Archiviazione dei file delle registrazioni
u2.8 Riferimenti
u53 Ssmtp
u2.1 Configurazione
u2.2 Ricezione della posta elettronica
u2.3 Considerazioni sulla sicurezza
Parte xix Usenet
u54 Introduzione a Usenet
u2.1 Software per Usenet
u2.2 Organizzazione generale del sistema di news di Usenet
i54.2.1 Selezione dei gruppi e feed
i54.2.2 Gestione degli articoli
i54.2.3 Protocollo NNTP
i54.2.4 Messaggi di controllo
i54.2.5 Distribuzioni
u2.3 Organizzazione del software per la gestione delle news
i54.3.1 Collocazione locale degli articoli
i54.3.2 Gruppi amministrativi
i54.3.3 File amministrativi
i54.3.4 Distribuzione degli articoli
i54.3.5 Utente specifico
u2.4 Riferimenti
u55 Introduzione a INN -- InterNet News
u2.1 Installazione e quadro generale di INN
i55.1.1 Le variabili di ambiente
i55.1.2 Caratteri jolly
u2.2 Configurazione minima per l'uso locale puro e semplice
i55.2.1 File ''/etc/news/inn.conf''
i55.2.2 File ''/etc/news/distrib.paths''
i55.2.3 File ''/etc/news/newsfeeds''
i55.2.4 File ''/etc/news/expire.ctl''
i55.2.5 File ''/etc/news/nnrp.access''
i55.2.6 File ''/var/lib/news/active''
i55.2.7 File ''/var/lib/news/history''
u2.3 Demoni e altri programmi per l'uso minimo di INN
i55.3.1 Avvio e conclusione del servizio NNTP
i55.3.2 Utilizzo di ''ctlinnd''
i55.3.3 Operazioni di routine
u2.4 Feed in ingresso utilizzando il protocollo NNTP
i55.4.1 File ''/etc/news/hosts.nntp''
i55.4.2 File ''/etc/news/incoming.conf''
u2.5 Feed continuo in uscita utilizzando il protocollo NNTP
i55.5.1 File ''/etc/news/innfeed.conf''
i55.5.2 File ''/etc/news/newsfeeds''
u2.6 Feed periodico in uscita utilizzando il protocollo NNTP
i55.6.1 File ''/etc/news/nntpsend.ctl''
i55.6.2 File ''/etc/news/newsfeeds''
i55.6.3 Utilizzo di ''nntpsend''
u2.7 Ritrasmissione di articoli attraverso la posta elettronica
u2.8 Prelievo di articoli utilizzando il protocollo NNTP
i55.8.1 Utilizzo di ''nntpget''
u2.9 Replicazione dei gruppi di un altro sito
u2.10 Riferimenti
Parte xx Cfengine
u56 Introduzione a Cfengine
u2.1 Primo approccio con la configurazione
i56.1.1 La variabile CFINPUTS
i56.1.2 Simulazione
u2.2 Sezioni e classi predefinite
u2.3 Classi più in dettaglio
u2.4 Variabili e stringhe
i56.4.1 Elenchi
u2.5 Espressioni regolari
u57 Cfengine: sezioni di uso comune
u2.1 Permessi e proprietà
u2.2 Sezione ''control''
i57.2.1 Impostazione delle variabili
i57.2.2 Direttiva ''actionsequence''
i57.2.3 Direttiva ''addclasses''
u2.3 Sezione ''classes'' o ''groups''
u2.4 Sezione ''copy''
i57.4.1 Opzione ''dest''
i57.4.2 Opzione ''recurse''
i57.4.3 Opzione ''type''
i57.4.4 Opzione ''purge''
i57.4.5 Opzione ''server''
u2.5 Sezione ''directories''
u2.6 Sezione ''disable''
i57.6.1 Opzione ''rotate''
u2.7 Sezione ''files''
i57.7.1 Opzione ''checksum''
i57.7.2 Opzione ''recurse''
u2.8 Sezione ''links''
i57.8.1 Opzione ''type''
i57.8.2 Opzione ''recurse''
u2.9 Sezione ''processes''
i57.9.1 Opzione ''signal''
i57.9.2 Opzione ''restart''
i57.9.3 Opzione ''matches''
i57.9.4 Opzione ''action''
u2.10 Sezione ''shellcommands''
u2.11 Sezione ''tidy''
i57.11.1 Opzione ''pattern''
i57.11.2 Opzione ''recurse''
i57.11.3 Opzione ''age''
i57.11.4 Opzione ''type''
i57.11.5 Opzione ''rmdirs''
u58 Cfengine attraverso la rete
u2.1 Configurazione e avvio del demone
i58.1.1 Configurazione essenziale di ''cfd.conf''
u2.2 Filosofia del sistema di distribuzione di Cfengine
Parte xxi Connettività con sistemi Dos
u59 Dos IPv4
u2.1 Driver di pacchetto
u2.2 Libreria WATTCP
u2.3 Applicazioni standard per WATTCP
u2.4 ABC-nslookup
u2.5 MiniTelnet
u2.6 SSHDOS
u2.7 Bobcat «Lynx»
u2.8 PPRD: servente di rete per la stampa
u2.9 Trout
u2.10 Talk
u2.11 DosLynx
u2.12 NCSA Telnet
i59.12.1 File ''CONFIG.TEL''
i59.12.2 File ''KEYFILE.TEL''
i59.12.3 File ''PASSWORD.TEL''
i59.12.4 File ''SERVICES.TEL''
i59.12.5 File ''TELBIN.EXE''
i59.12.6 File ''FTPBIN.EXE''
i59.12.7 File ''FINGER.EXE''
u2.13 POPMail
i59.13.1 Menù ''Setup''
i59.13.2 Menù ''Window''
i59.13.3 Menù ''=''
u2.14 PCroute
i59.14.1 Configurazione dei driver di pacchetto
i59.14.2 Configurazione di PCroute
i59.14.3 Conclusione
u2.15 Riferimenti
u60 Dos PPP
u2.1 Composizione
u2.2 Configurazione e script
i60.2.1 Opzioni particolari per il PPP
u2.3 Connessione in pratica
u61 Introduzione a NOS-KA9Q -- IPv4 per Dos
u2.1 Preparazione
i61.1.1 Configurazione con il file ''AUTOEXEC.NET''
i61.1.2 Driver di pacchetto
i61.1.3 Avvio del sistema NOS «NET.EXE»
i61.1.4 Conclusione del funzionamento del sistema NOS
i61.1.5 Guida interna
u2.2 Interfacce, instradamento e nomi
i61.2.1 Comandi ''attach'' e ''detach''
i61.2.2 Comando ''ifconfig''
i61.2.3 Comando ''route''
i61.2.4 Comando ''domain''
u2.3 Gestione delle sessioni
u2.4 Attività nel sistema locale
u2.5 Gestione della rete e delle connessioni
i61.5.1 Indirizzi IP e indirizzi MAC
i61.5.2 Ping e instradamento
i61.5.3 Varie
u2.6 NOS come cliente
i61.6.1 Cliente TELNET
i61.6.2 Cliente FTP
u2.7 NOS come servente
i61.7.1 Registrazione degli eventi
i61.7.2 Servente FTP
u2.8 NOS come router IPv4
u62 nanoDos
u2.1 Organizzazione della distribuzione
u2.2 Installazione
u2.3 Configurazione
u2.4 Utilizzo
u2.5 Conclusione
u2.6 Riferimenti
Parte xxii ALML
u63 Introduzione ad ALML
u2.1 Esigenze che Alml intenderebbe soddisfare
u2.2 Tutto in uno
u2.3 Continuità tra documento stampato e documento elettronico
u2.4 Perché SGML
u2.5 Capitoli sullo stile usato per a2
u64 Preparazione e visione generale
u2.1 Installazione di Alml
i64.1.1 Gettext
u2.2 Esempio iniziale
u2.3 Cosa si genera con la composizione
u2.4 Sintassi nell'uso del programma frontale
u2.5 Codifica del sorgente
u2.6 Organizzare un file-make o uno script
u2.7 Formati particolari
u2.8 Progetti di documentazione che utilizzano il formato di Alml
u65 Il documento secondo Alml
u2.1 Organizzazione generale
u2.2 Dalla copertina all'indice generale
i65.2.1 Esempio quasi completo per la compilazione dell'intestazione
i65.2.2 Margini e giustezza nella composizione stampata
i65.2.3 Corpo del carattere nella composizione stampata
u2.3 Contenuto
i65.3.1 Introduzione
i65.3.2 Corpo
i65.3.3 Appendici
i65.3.4 Indici analitici
i65.3.5 Suddivisioni speciali
u2.4 Documento multilingua
i65.4.1 Cambiamento temporaneo del linguaggio
u2.5 Definizione alternativa della suddivisione del documento
u66 Elementi interni alle righe
u2.1 Numeri
u2.2 Tastiera, menù e codice ASCII
u2.3 Indirizzi di posta elettronica
u67 Blocchi comuni
u2.1 Elenchi e simili
u2.2 Testo letterale o quasi
i67.2.1 Sezioni marcate ''CDATA'' e spazi
u2.3 Modelli sintattici
u2.4 Comandi
u68 Altri blocchi e componenti lineari particolari
u2.1 Inserzioni particolari
u2.2 Riquadri
u2.3 Copia di porzioni del documento
i68.3.1 Copia di piè di pagina
i68.3.2 Copia di immagini
u69 Riferimenti, note e altre informazioni
u2.1 Riferimenti incrociati e ipertestuali
u2.2 Note e piè pagina
u2.3 Riferimenti esterni e citazioni
u2.4 Indici analitici e termini speciali
i69.4.1 Esempio di indice analitico
i69.4.2 Esempio di indice di termini speciali
u2.5 Caratteristiche del software e di altri ''lavori''
u2.6 Informazioni su sezioni specifiche del documento
u2.7 Sezioni particolari
u70 Immagini e video
u2.1 Immagini esterne
u2.2 Immagini incorporate Base64
u2.3 Immagini incorporate EPS
u2.4 Immagini incorporate XFig
u2.5 Immagini incorporate LilyPond
u2.6 Immagini incorporate TeX e LaTeX
u2.7 Immagini incorporate Gnuplot
u2.8 Osservazioni sull'incorporazione di codice estraneo
u71 Tabelle
u72 Allegati
u73 Verifiche
u2.1 Capitolo per le verifiche
u2.2 Impedire la lettura del codice
u2.3 Esempio di verifica
u74 Esempio di verifica con Alml
u75 Esempio di verifica con Alml bis
u76 Esempio di verifica con Alml ter
u77 Presentazioni
u2.1 Esempio di presentazione
u2.2 Composizione
u78 Inserimento letterale di codice TeX e HTML, con eventuale inserimento condizionato
u79 Entità ISO ed entità HTML gestite da Alml
u2.1 Alfabeti simbolici
u2.2 Alfabeti latini
u2.3 Alfabeti non latini
u2.4 HTML
u2.5 Riferimenti
u80 Insieme di caratteri universale e Alml
u2.1 Riferimenti
u81 Stile di scrittura del sorgente
u2.1 Blocchi di testo e rientri
i81.1.1 Elenchi
u2.2 Figure e tabelle
u2.3 Titoli
u2.4 Sezioni marcate
u82 Alml per i grandi progetti di documentazione
u2.1 Estrapolazione di porzioni del file SGML
u2.2 Esempio di un progetto
u2.3 Aggregazioni
u83 Questioni tecniche
u2.1 Usare Textchk e Ispell con Alml
u2.2 Espandere le potenzialità elaborative di TeX
i83.2.1 Limiti strutturali di TeX
i83.2.2 Soluzione attuata da Alml
i83.2.3 Suddivisione automatica in volumi e parti della composizione finale PostScript e PDF
u2.3 Programma di supporto
u84 Gestione di ''a2''
u2.1 Articolazione dei file del sorgente
u2.2 Inclusione selettiva dei file esterni ed entità speciali
u2.3 Composizione guidata con il file-make
u85 Convenzioni di ''a2''
u2.1 Unità di misura e moltiplicatori
u2.2 Casi particolari di testo che non viene enfatizzato
u2.3 Valori numerici in lettere e in cifre
u2.4 Distinzione nell'uso dei nomi degli applicativi
u2.5 Descrizione degli acronimi
u2.6 Indice analitico
u2.7 Enfatizzazioni e uso degli elementi ''special''
u2.8 Rappresentazione del contenuto di file e dei flussi standard
u2.9 Altri problemi di coerenza nell'uso degli elementi SGML
u2.10 Sezioni marcate per le annotazioni
u86 Glossario stilistico di ''a2''
u2.1 Termini tecnici particolari
i86.1.1 Annotazioni su alcuni termini tecnici ritenuti ''intraducibili''
u2.2 Glossario
i86.2.1 Unità temporali
i86.2.2 Comandi e processi elaborativi
i86.2.3 Memoria centrale e virtuale
i86.2.4 Hardware
i86.2.5 Dispositivi
i86.2.6 Codifica
i86.2.7 Tastiera
i86.2.8 File di testo
i86.2.9 Archiviazione e pacchetti applicativi
i86.2.10 Dati
i86.2.11 Crittografia e firma digitale
i86.2.12 Linguaggi di programmazione e compilatori
i86.2.13 Memoria di massa
i86.2.14 Utenza
i86.2.15 Documentazione
i86.2.16 Interfaccia grafica
i86.2.17 Rete e comunicazioni
i86.2.18 Tipografia
i86.2.19 Unicode
i86.2.20 SGML/XML
i86.2.21 Grafica
i86.2.22 Usenet
i86.2.23 Localizzazione
i86.2.24 Varie
u2.3 Forme espressive particolari
u2.4 Annotazioni varie
u2.5 Nomi dei caratteri speciali
u2.6 Nomi da usare in modo uniforme
u2.7 Riferimenti
u2.8 Indice del glossario stilistico
Parte xxiii Texinfo: lo standard della documentazione GNU
u87 Introduzione a Texinfo
u2.1 Esempio introduttivo
u2.2 Logica fondamentale di Texinfo
i87.2.1 Scomposizione del documento
i87.2.2 Inserimento di simboli speciali
u2.3 Struttura di un documento Texinfo
i87.3.1 Capitoli e sezioni
i87.3.2 Nodi
i87.3.3 Menù di riferimenti
u2.4 Indici
i87.4.1 Indice generale
i87.4.2 Indici analitici
i87.4.3 Definizione di indici aggiuntivi
i87.4.4 Fusione di indici
u2.5 Aspetto del testo e ambienti speciali
u2.6 Elenchi e tabelle
i87.6.1 Elenco puntato e numerato
i87.6.2 Elenco descrittivo
i87.6.3 Tabelle vere e proprie
u2.7 Modifica dello stile TeX
u2.8 Localizzazione
u2.9 Riferimenti
u88 Texinfo: libro e ipertesto
u2.1 Sequenza dei nodi secondo Texinfo
u2.2 Definizione automatica della sequenza dei nodi e problemi relativi
u2.3 Limitazioni originali della struttura a nodi
u2.4 Riferimenti ipertestuali e limitazioni verbali
u2.5 Altri tipi di riferimento
u2.6 Riepilogo dei comandi relativi a nodi, ancore e riferimenti
u89 Sgmltexi: installazione e utilizzo
u2.1 Installazione di Sgmltexi
i89.1.1 Gettext
i89.1.2 Dipendenze
u2.2 Come si usa il programma frontale
u2.3 Riferimenti
u90 Sgmltexi: struttura
u2.1 Struttura generale per un sorgente Sgmltexi
i90.1.1 Intestazione
i90.1.2 Informazioni amministrative
i90.1.3 Pagine iniziali
i90.1.4 Indice generale
i90.1.5 Nodi e menù Info iniziale
i90.1.6 Introduzione
i90.1.7 Corpo
i90.1.8 Appendice
i90.1.9 Indici analitici
u2.2 Scomposizione del documento, nodi e menù Info
i90.2.1 Numerazione o meno dei titoli
u2.3 Codifica
i90.3.1 Entità standard e non standard
u91 Sgmltexi: contenuti
u2.1 Paragrafi
u2.2 Indici e riferimenti incrociati
u2.3 Delimitazione di parole e di frasi
u2.4 Delimitazione di blocchi di testo
u2.5 Elenchi e tabelle
u2.6 Inserzioni
u2.7 Definizioni
u2.8 Codice condizionato e codice letterale in base alla composizione
i91.8.1 Problemi
u92 Corrispondenza tra Texinfo e Sgmltexi
Parte xxiv Sistemi vari di composizione elettronica
u93 Introduzione a Lout
u2.1 Collocazione dei componenti di Lout
u2.2 Funzionamento
u2.3 Esempio introduttivo
u2.4 Concetti fondamentali di Lout
u2.5 Caratteri speciali e stringhe letterali
u2.6 Spazi e spaziature
u2.7 Elementi essenziali di un documento Lout
i93.7.1 Dichiarazione dello stile generale
i93.7.2 Preambolo
i93.7.3 Struttura del documento ordinario
i93.7.4 Struttura della relazione tecnica
i93.7.5 Struttura del libro
i93.7.6 Struttura dei lucidi per lavagna luminosa
i93.7.7 Sottostrutture
i93.7.8 Suddivisione del testo
u2.8 Argomenti dei comandi e unità di misura
u2.9 Rappresentazione simbolica della codifica
u2.10 Caratteri da stampa
i93.10.1 Corpo
u2.11 Display
u2.12 Caratteristiche interne dei paragrafi
i93.12.1 Interruzione e allineamento
i93.12.2 Distanza tra le righe
i93.12.3 Separazione in sillabe
i93.12.4 Raccogliere tutto assieme
u2.13 Testo letterale
u2.14 Elenchi
u2.15 Note
i93.15.1 Note a piè pagina e note finali
i93.15.2 Note a margine
u2.16 Figure e tabelle fluttuanti
i93.16.1 Figure
i93.16.2 Tabelle
u2.17 Indici e riferimenti incrociati
i93.17.1 Riferimenti nel testo
i93.17.2 Indice generale e indice analitico
i93.17.3 Problemi connessi alla generazione dei riferimenti incrociati
u2.18 Localizzazione
i93.18.1 Configurazione di una localizzazione
u2.19 Personalizzazione dello stile
i93.19.1 Inclusione di altri stili
i93.19.2 Veste grafica del documento
i93.19.3 Particolarità del tipo di documento
i93.19.4 Parte conclusiva
u2.20 Riferimenti
u94 Introduzione a LyX
u2.1 Creazione di un documento
u2.2 Struttura e stile
u2.3 Modelli di documento
u2.4 Automatismi
u2.5 Riferimenti
u95 Introduzione a HieroTeX
u2.1 Installazione
i95.1.1 Sesh
u2.2 Utilizzare HieroTeX
i95.2.1 Due modi di usare HieroTeX
i95.2.2 Scrittura normale
u2.3 Codifica di HieroTeX
u2.4 Riferimenti
u96 Trasformazione in altri formati
u2.1 DLH: trasforma LaTeX in HTML
u2.2 Help2man: genera una pagina di manuale dalle informazioni fornite dal programma
u2.3 Pstotext: estrae il testo da un file PostScript o PDF
u2.4 Mswordview
u2.5 Catdoc
u2.6 Antiword
u2.7 xlHTML
Parte xxv Circuiti logici
u97 Operatori logici e porte logiche
u2.1 Operatori unari
u2.2 Connettivo AND
u2.3 Connettivo OR
u2.4 Connettivo XOR
u2.5 Ordine di precedenza
u2.6 Valori irrilevanti nelle tabelle di verità
u2.7 Equivalenze
u2.8 Somma dei prodotti
u2.9 Mappe di Karnaugh
u2.10 Mappe di Karnaugh con la funzione XOR
u98 Circuiti combinatori
u2.1 Decodificatore
u2.2 Demultiplatore
u2.3 Multiplatore
u2.4 Demultiplatori e multiplatori in parallelo
u2.5 Codificatore binario
u2.6 Codificatore di priorità
u2.7 Unità logiche
u2.8 Scorrimento
u2.9 Addizionatore
u2.10 Sottrazione
u2.11 Somma e sottrazione assieme
u2.12 Riporto anticipato
u2.13 Complemento a due
u2.14 Moltiplicazione
u2.15 Divisione
u2.16 Comparazione
u99 Costruzione di un'unità aritmetico-logica
u2.1 Indicatori
u2.2 Troncamento di un valore in base al rango
u2.3 Inversione di segno
u2.4 Somma e sottrazione
u2.5 Scorrimento e rotazione
u2.6 Comparazione di valori
u2.7 Moltiplicazione
u2.8 Divisione
u2.9 Unità logica
u2.10 ALU completa
u100 Unità aritmetico-logica e registri espandibili
u2.1 Unità aritmetico-logica a bit singolo
u2.2 Registri
u101 Flip-flop
u2.1 Ritardo di propagazione
u2.2 Tabelle di verità
u2.3 Flip-flop SR elementare
u2.4 Interruttori senza rimbalzi
u2.5 Flip-flop SR con gli ingressi controllati
u2.6 Flip-flop SR sincrono ''edge triggered''
u2.7 Tempo: setup/hold e recovery/removal
u2.8 Flip-flop D
u2.9 Flip-flop T
u2.10 Flip-flop JK
u102 Registri
u2.1 Registri semplici
u2.2 Registri a scorrimento
u2.3 Contatori asincroni con flip-flop T
u2.4 Contatori sincroni con flip-flop T
u2.5 Contatori sincroni con flip-flop D
u2.6 Contatori sincroni con caricamento parallelo
u103 Bus e unità di controllo
u2.1 Bus con il buffer a tre stati
u2.2 Unità di controllo del bus
u2.3 Microcodice
u104 Tkgate
u2.1 File PostScript ed EPS
u2.2 Rappresentazione di multiplatori, demultiplatori e codificatori
u2.3 Clock
u105 Riferimenti
Parte xxvi Costruzione di una CPU dimostrativa
u106 Versione A: caricamento ed esecuzione del codice
u107 Versione B: indice della memoria
u2.1 Istruzioni ''load''
u2.2 Istruzioni ''store''
u108 Versione C: registri generici
u109 Versione D: ALU
u2.1 Istruzione ''not''
u2.2 Istruzione ''and''
u2.3 Istruzione ''or''
u2.4 Istruzione ''xor''
u2.5 Istruzioni ''lshl'' e ''lshr''
u2.6 Istruzioni ''ashl'' e ''ashr''
u2.7 Istruzioni ''rotl'' e ''rotr''
u2.8 Istruzione ''add''
u2.9 Istruzione ''sub''
u110 Versione E: indicatori
u2.1 Istruzione ''rotcl'' e ''rotcr''
u2.2 Istruzione ''add.carry''
u2.3 Istruzione ''sub.borrow''
u111 Versione F: condizioni
u112 Versione G: pila
u2.1 Istruzioni ''push'' e ''pop''
u2.2 Istruzioni ''call'' e ''return''
u113 Versione H: I/O
u2.1 Generalizzazione della comunicazione con i dispositivi
u2.2 Realizzazione dei dispositivi di I/O
u2.3 Aspetto e funzionamento esteriore delle interfacce sincrone
u2.4 Interfaccia sincrona della tastiera
u2.5 Interfaccia sincrona dello schermo
u2.6 Il bus della CPU con i dispositivi di I/O
u2.7 Istruzione ''out''
u2.8 Istruzione ''in''
u114 Versione I: ottimizzazione
u2.1 Registri uniformi
u2.2 RAM
u2.3 Modulo ''SEL''
u2.4 ALU
u2.5 Terminale
u2.6 Unità di controllo
u2.7 Memorie, campi, argomenti e codici operativi
u2.8 Microcodice
u2.9 Macrocodice: chiamata di una routine
u2.10 Macrocodice: inserimento da tastiera e visualizzazione sullo schermo
u115 Versione J: ottimizzazione bis
u116 Versione K: 16 bit ''little-endian''
u2.1 Registri a 16 bit
u2.2 Modulo ''BUS''
u2.3 Modulo ''ALU''
u2.4 Modulo ''SEL''
u2.5 Modulo ''RAM''
u2.6 Modulo ''IRQ''
u2.7 Modulo ''IVT''
u2.8 Modulo ''CTRL''
u2.9 Codici operativi
u2.10 Microcodice
u2.11 Gestione delle interruzioni
u2.12 Orologio: modulo ''RTC''
u2.13 Modulo ''TTY''
u2.14 Modulo ''HDD''
u2.15 Macrocodice: esempio di uso del terminale con le interruzioni
u117 Riferimenti
Parte xxvii Pascal
u118 Pascal: preparazione di alcuni compilatori comuni
u2.1 Pascal-to-C
i118.1.1 Librerie e compilazione
i118.1.2 Uso di Pascal-to-C
u2.2 GPC
u2.3 Free-Pascal
u119 Pascal: introduzione
u2.1 Struttura fondamentale
i119.1.1 Istruzioni Pascal
i119.1.2 Nomi
i119.1.3 Commenti
i119.1.4 Suddivisione di un programma Pascal
i119.1.5 Output elementare
u2.2 Variabili e tipi
i119.2.1 Valori contenibili e costanti letterali
i119.2.2 Dichiarazione delle variabili
u2.3 Operatori ed espressioni
i119.3.1 Operatori aritmetici
i119.3.2 Operatori di confronto e operatori logici
u2.4 Strutture di controllo del flusso
i119.4.1 Struttura condizionale: ''if''
i119.4.2 Struttura di selezione: ''case''
i119.4.3 Iterazione con condizione di uscita iniziale: ''while''
i119.4.4 Iterazione con condizione di uscita finale: ''repeat-until''
i119.4.5 Iterazione enumerativa: ''for''
u2.5 Procedure e funzioni
i119.5.1 Struttura
i119.5.2 Campo di azione
i119.5.3 Forward
i119.5.4 Parametri formali e chiamata per valore o per riferimento
i119.5.5 Chiamata e parametri attuali
u2.6 I/O elementare
i119.6.1 Procedure ''Write«»'' e ''Writeln«»''
i119.6.2 Procedure ''Read«»'' e ''Readln«»''
u2.7 Struttura del sorgente: le dichiarazioni
u2.8 Riferimenti
u120 Pascal: tipi di dati derivati
u2.1 Array
i120.1.1 Dichiarazione e accesso
i120.1.2 Scansione di un array
u2.2 Stringhe
u2.3 Tipi
u2.4 Costanti
u2.5 Tipo enumerativo, sottointervallo e insieme
i120.5.1 Tipo enumerativo
i120.5.2 Sottointervallo
i120.5.3 Insieme
u2.6 Record
i120.6.1 With
u2.7 Riferimenti
u121 Pascal: esempi di programmazione
u2.1 Problemi elementari di programmazione
i121.1.1 Somma tra due numeri positivi
i121.1.2 Moltiplicazione di due numeri positivi attraverso la somma
i121.1.3 Divisione intera tra due numeri positivi
i121.1.4 Elevamento a potenza
i121.1.5 Radice quadrata
i121.1.6 Fattoriale
i121.1.7 Massimo comune divisore
i121.1.8 Numero primo
u2.2 Scansione di array
i121.2.1 Ricerca sequenziale
i121.2.2 Ricerca binaria
u2.3 Algoritmi tradizionali
i121.3.1 Bubblesort
i121.3.2 Torre di Hanoi
i121.3.3 Quicksort
i121.3.4 Permutazioni
Parte xxviii Java
u122 Java: preparazione
u2.1 Kaffe
i122.1.1 Classi
i122.1.2 Configurazione
i122.1.3 Compilazione
i122.1.4 Esecuzione
u2.2 Kernel Linux
u2.3 Applet
i122.3.1 Verifica del funzionamento
u2.4 JDK
u2.5 GCJ
u2.6 Riferimenti
u123 Java: introduzione
u2.1 Struttura fondamentale
i123.1.1 Commenti
i123.1.2 Nomi ed estensioni
i123.1.3 Istruzioni
i123.1.4 Librerie di classi
i123.1.5 Dichiarazione della classe
i123.1.6 Contenuto della classe
i123.1.7 Variabili e tipi di dati
i123.1.8 Chiamata per valore
u2.2 Variabili e tipi di dati
i123.2.1 Tipi
i123.2.2 Costanti
i123.2.3 Campo di azione
u2.3 Operatori ed espressioni
i123.3.1 Operatori aritmetici
i123.3.2 Operatori di confronto e operatori logici
i123.3.3 Concatenamento di stringhe
u2.4 Strutture di controllo del flusso
i123.4.1 Struttura condizionale: ''if''
i123.4.2 Struttura di selezione: ''switch''
i123.4.3 Iterazione con condizione di uscita iniziale: ''while''
i123.4.4 Iterazione con condizione di uscita finale: ''do-while''
i123.4.5 Iterazione enumerativa: ''for''
u2.5 Array e stringhe
i123.5.1 Array
i123.5.2 Stringhe
u2.6 Metodo ''main«»''
i123.6.1 args
u124 Java: programmazione a oggetti
u2.1 Creazione e distruzione di un oggetto
i124.1.1 Dichiarazione dell'oggetto
i124.1.2 Instanza di un oggetto
i124.1.3 Metodo costruttore
i124.1.4 Utilizzo degli oggetti
i124.1.5 Distruzione di un oggetto
u2.2 Classi
i124.2.1 Variabili
i124.2.2 Metodi
i124.2.2.1 Sovraccarico
i124.2.2.2 Chiamata di un metodo
i124.2.3 Specificatore di accesso
u2.3 Sottoclassi
i124.3.1 super
i124.3.2 this
u2.4 Interfacce
i124.4.1 Contenuto di un'interfaccia
i124.4.2 Utilizzo di un'interfaccia
u2.5 Pacchetti di classi
i124.5.1 Collocazione dei pacchetti
i124.5.2 Utilizzo di classi di un pacchetto
u2.6 Esempi
i124.6.1 Oggetti e messaggi
i124.6.2 Variabili di istanza e variabili statiche
i124.6.3 Ereditarietà
i124.6.4 Metodi di istanza e metodi statici
u125 Java: esempi di programmazione
u2.1 Problemi elementari di programmazione
i125.1.1 Somma tra due numeri positivi
i125.1.2 Moltiplicazione di due numeri positivi attraverso la somma
i125.1.3 Divisione intera tra due numeri positivi
i125.1.4 Elevamento a potenza
i125.1.5 Radice quadrata
i125.1.6 Fattoriale
i125.1.7 Massimo comune divisore
i125.1.8 Numero primo
u2.2 Scansione di array
i125.2.1 Ricerca sequenziale
i125.2.2 Ricerca binaria
u2.3 Algoritmi tradizionali
i125.3.1 Bubblesort
i125.3.2 Torre di Hanoi
i125.3.3 Quicksort
i125.3.4 Permutazioni
Parte xxix Scheme
u126 Scheme: preparazione
u2.1 MIT Scheme
i126.1.1 Utilizzo interattivo
i126.1.2 REPL: l'ambito di funzionamento
i126.1.3 Utilizzo non interattivo
i126.1.4 Compilazione e caricamento di file
u2.2 Kawa
i126.2.1 Utilizzo interattivo
i126.2.2 Avvio dell'interprete Kawa
i126.2.3 Compilazione
u2.3 Riferimenti
u127 Scheme: introduzione
u2.1 Aspetto generale
i127.1.1 Identificatori e convenzioni nei nomi
i127.1.2 Funzioni o procedure
u2.2 Tipi di dati
u2.3 Costanti letterali
i127.3.1 Costanti booleane
i127.3.2 Costanti numeriche
i127.3.3 Stringhe
i127.3.4 Costanti carattere
u2.4 Espressioni
i127.4.1 Riferimenti variabili
i127.4.2 Espressioni letterali
i127.4.3 Ordine nella valutazione di un'espressione
u2.5 Funzioni comuni nelle espressioni e particolarità di alcuni tipi di dati elementari
i127.5.1 Numeri
i127.5.2 Valori logici, funzioni di confronto e funzioni logiche
i127.5.3 Caratteri
i127.5.4 Stringhe
u2.6 Strutture di controllo
i127.6.1 Funzione ''begin''
i127.6.2 Struttura condizionale: ''if''
i127.6.3 Struttura di selezione: ''cond''
i127.6.4 Struttura di selezione: ''case''
i127.6.5 Iterazione: ''do''
u2.7 Conclusione di un programma Scheme
u2.8 Riferimenti
u128 Scheme: struttura del programma e campo di azione
u2.1 Definizione e campo di azione
i128.1.1 Ridefinizione
u2.2 Definizione ''lambda''
u2.3 Ricorsione
u2.4 Funzioni ''let'', ''let*'' e ''letrec''
u129 Scheme: liste e vettori
u2.1 Liste e coppie
i129.1.1 Dichiarazione di una lista
i129.1.2 Caratteristiche esteriori di una lista
i129.1.3 Operazioni fondamentali con le liste
i129.1.4 Funzioni tipiche sulle liste
u2.2 Vettori
u2.3 Strutture di controllo applicate alle liste
i129.3.1 Funzione ''apply''
i129.3.2 Funzione ''map''
i129.3.3 Funzione ''for-each''
u2.4 Riferimenti
u130 Scheme: I/O
u2.1 Apertura e chiusura
u2.2 Ingresso dei dati
u2.3 Uscita dei dati
u131 Scheme: esempi di programmazione
u2.1 Problemi elementari di programmazione
i131.1.1 Somma tra due numeri positivi
i131.1.2 Moltiplicazione di due numeri positivi attraverso la somma
i131.1.3 Divisione intera tra due numeri positivi
i131.1.4 Elevamento a potenza
i131.1.5 Radice quadrata
i131.1.6 Fattoriale
i131.1.7 Massimo comune divisore
i131.1.8 Numero primo
u2.2 Scansione di array
i131.2.1 Ricerca sequenziale
i131.2.2 Ricerca binaria
u2.3 Algoritmi tradizionali
i131.3.1 Bubblesort
i131.3.2 Torre di Hanoi
i131.3.3 Quicksort
i131.3.4 Permutazioni
Parte xxx BC: linguaggio aritmetico a precisione arbitraria
u132 BC: esempi di programmazione
u2.1 Problemi elementari di programmazione
i132.1.1 Somma tra due numeri positivi
i132.1.2 Moltiplicazione di due numeri positivi attraverso la somma
i132.1.3 Divisione intera tra due numeri positivi
i132.1.4 Elevamento a potenza
i132.1.5 Radice quadrata
i132.1.6 Fattoriale
i132.1.7 Massimo comune divisore
i132.1.8 Numero primo
u2.2 Scansione di array
i132.2.1 Ricerca sequenziale
i132.2.2 Ricerca binaria
u2.3 Algoritmi tradizionali
i132.3.1 Bubblesort
i132.3.2 Torre di Hanoi
i132.3.3 Quicksort
i132.3.4 Permutazioni
Parte xxxi Basic
u133 Basic: introduzione
u2.1 Struttura fondamentale
i133.1.1 Numerazione delle righe
i133.1.2 Istruzioni
i133.1.3 Esecuzione di un programma
u2.2 Interprete tradizionale
i133.2.1 Comandi tipici dell'interprete
u2.3 Tipi di dati ed espressioni
i133.3.1 Espressioni numeriche
i133.3.2 Espressioni stringa
i133.3.3 Espressioni logiche
i133.3.4 Espressioni miste
i133.3.5 Array
u2.4 Primi esempi banali
u2.5 Strutture di controllo del flusso
i133.5.1 Istruzione ''GOTO''
i133.5.2 Istruzione ''GOSUB''
i133.5.3 Istruzione ''IF''
i133.5.4 Istruzione ''FOR''
i133.5.5 Istruzioni ''END'' e ''STOP''
u2.6 Input e output
i133.6.1 Istruzione ''PRINT''
i133.6.2 Istruzione ''INPUT'' o ''?''
u134 Basic: esempi di programmazione
u2.1 Somma tra due numeri positivi
u2.2 Moltiplicazione di due numeri positivi attraverso la somma
u2.3 Divisione intera tra due numeri positivi
u2.4 Elevamento a potenza
u2.5 Radice quadrata
u2.6 Fattoriale
u2.7 Ricerca sequenziale
Parte xxxii File ''.DBF''
u135 File ''.DBF'': dBase III e derivati
u2.1 Dbview
i135.1.1 DBF2pg
u136 nanoBase 1997
u2.1 What is it
u2.2 The dot command line
u2.3 The menu
u2.4 The macro recording, compiling and execution
u2.5 The report system
u2.6 The integrated text editor
u2.7 The internal documentation
u2.8 Download it
u2.9 Bugs and known problems
u137 nanoBase 1997 user manual
u2.1 Dos xBase
i137.1.1 .DBF files
i137.1.2 Index files
i137.1.3 Relations
u2.2 Composition
u2.3 How to use nB
u2.4 Status line
u2.5 The dot line
u2.6 The menu system
i137.6.1 Menu File
i137.6.2 Menu Edit
i137.6.3 Menu Report
i137.6.4 Menu HTF
i137.6.5 Menu Macro
i137.6.6 Menu Info
i137.6.7 Menu Doc
u2.7 The text editor DOC«»
u2.8 The help text file
u2.9 Macro
i137.9.1 Macro statements
i137.9.2 Variable declaration
i137.9.3 Macro structure
i137.9.4 Macro comments
i137.9.5 Macro long lines split
i137.9.6 The macro recorder
u2.10 Data types
i137.10.1 Character
i137.10.2 Memo
i137.10.3 Date
i137.10.4 Numeric
i137.10.5 Logical
i137.10.6 NIL
i137.10.7 Array
i137.10.8 Code block
u2.11 Operators
u2.12 Delimiters
u2.13 Code blocks
u2.14 Standard functions
i137.14.1 AADD«»
i137.14.2 ABS«»
i137.14.3 ACLONE«»
i137.14.4 ACOPY«»
i137.14.5 ADEL«»
i137.14.6 AEVAL«»
i137.14.7 AFILL«»
i137.14.8 AINS«»
i137.14.9 ALERT«»
i137.14.10 ALIAS«»
i137.14.11 ALLTRIM«»
i137.14.12 ARRAY«»
i137.14.13 ASC«»
i137.14.14 ASCAN«»
i137.14.15 ASIZE«»
i137.14.16 ASORT«»
i137.14.17 AT«»
i137.14.18 ATAIL«»
i137.14.19 BIN2I«»
i137.14.20 BIN2L«»
i137.14.21 BIN2W«»
i137.14.22 BOF«»
i137.14.23 CDOW«»
i137.14.24 CHR«»
i137.14.25 CMONTH«»
i137.14.26 COL«»
i137.14.27 COLORSELECT«»
i137.14.28 CTOD«»
i137.14.29 CURDIR«»
i137.14.30 DATE«»
i137.14.31 DAY«»
i137.14.32 DBAPPEND«»
i137.14.33 DBCLEARFILTER«»
i137.14.34 DBCLEARINDEX«»
i137.14.35 DBCLEARRELATION«»
i137.14.36 DBCLOSEALL«»
i137.14.37 DBCLOSEAREA«»
i137.14.38 DBCOMMIT«»
i137.14.39 DBCOMMITALL«»
i137.14.40 DBCREATE«»
i137.14.41 DBCREATEINDEX«»
i137.14.42 DBDELETE«»
i137.14.43 DBEVAL«»
i137.14.44 DBFILTER«»
i137.14.45 DBGOBOTTOM«»
i137.14.46 DBGOTO«»
i137.14.47 DBGOTOP«»
i137.14.48 DBRECALL«»
i137.14.49 DBREINDEX«»
i137.14.50 DBRELATION«»
i137.14.51 DBRLOCK«»
i137.14.52 DBRLOCKLIST«»
i137.14.53 DBRSELECT«»
i137.14.54 DBRUNLOCK«»
i137.14.55 DBSEEK«»
i137.14.56 DBSELECTAREA«»
i137.14.57 DBSETDRIVER«»
i137.14.58 DBSETFILTER«»
i137.14.59 DBSETINDEX«»
i137.14.60 DBSETORDER«»
i137.14.61 DBSETRELATION«»
i137.14.62 DBSKIP«»
i137.14.63 DBSTRUCT«»
i137.14.64 DBUNLOCK«»
i137.14.65 DBUNLOCKALL«»
i137.14.66 DBUSEAREA«»
i137.14.67 DBDELETE«»
i137.14.68 DESCEND«»
i137.14.69 DEVOUT«»
i137.14.70 DEVOUTPICT«»
i137.14.71 DEVPOS«»
i137.14.72 DIRECTORY«»
i137.14.73 DISKSPACE«»
i137.14.74 DISPBOX«»
i137.14.75 DISPOUT«»
i137.14.76 DOW«»
i137.14.77 DTOC«»
i137.14.78 DTOS«»
i137.14.79 EMPTY«»
i137.14.80 EOF«»
i137.14.81 EVAL«»
i137.14.82 EXP«»
i137.14.83 FCLOSE«»
i137.14.84 FCOUNT«»
i137.14.85 FCREATE«»
i137.14.86 FERASE«»
i137.14.87 FERROR«»
i137.14.88 FIELDBLOCK«»
i137.14.89 FIELDGET«»
i137.14.90 FIELDNAME«»
i137.14.91 FIELDPOS«»
i137.14.92 FIELDPUT«»
i137.14.93 FIELDWBLOCK«»
i137.14.94 FILE«»
i137.14.95 FLOCK«»
i137.14.96 FOPEN«»
i137.14.97 FOUND«»
i137.14.98 FREAD«»
i137.14.99 FREADSTR«»
i137.14.100 FRENAME«»
i137.14.101 FSEEK«»
i137.14.102 FWRITE«»
i137.14.103 GETENV«»
i137.14.104 HARDCR«»
i137.14.105 HEADER«»
i137.14.106 I2BIN«»
i137.14.107 IF«»
i137.14.108 INDEXEXT«»
i137.14.109 INDEXKEY«»
i137.14.110 INDEXORD«»
i137.14.111 INKEY«»
i137.14.112 INT«»
i137.14.113 ISALPHA«»
i137.14.114 ISCOLOR«»
i137.14.115 ISDIGIT«»
i137.14.116 ISLOWER«»
i137.14.117 ISPRINTER«»
i137.14.118 ISUPPER«»
i137.14.119 L2BIN«»
i137.14.120 LASTKEY«»
i137.14.121 LASTREC«»
i137.14.122 LEFT«»
i137.14.123 LEN«»
i137.14.124 LOG«»
i137.14.125 LOWER«»
i137.14.126 LTRIM«»
i137.14.127 LUPDATE«»
i137.14.128 MAX«»
i137.14.129 MAXCOL«»
i137.14.130 MAXROW«»
i137.14.131 MEMOEDIT«»
i137.14.132 MEMOLINE«»
i137.14.133 MEMOREAD«»
i137.14.134 MEMORY«»
i137.14.135 MEMOTRAN«»
i137.14.136 MEMOWRIT«»
i137.14.137 MEMVARBLOCK«»
i137.14.138 MIN«»
i137.14.139 MLCOUNT«»
i137.14.140 MLCTOPOS«»
i137.14.141 MLPOS«»
i137.14.142 MONTH«»
i137.14.143 MPOSTOLC«»
i137.14.144 NETERR«»
i137.14.145 NETNAME«»
i137.14.146 NEXTKEY«»
i137.14.147 NOSNOW«»
i137.14.148 ORDBAGEXT«»
i137.14.149 ORDBAGNAME«»
i137.14.150 ORDCREATE«»
i137.14.151 ORDDESTROY«»
i137.14.152 ORDFOR«»
i137.14.153 ORDKEY«»
i137.14.154 ORDLISTADD«»
i137.14.155 ORDLISTCLEAR«»
i137.14.156 ORDLISTREBUILD«»
i137.14.157 ORDNAME«»
i137.14.158 ORDNUMBER«»
i137.14.159 ORDSETFOCUS«»
i137.14.160 OS«»
i137.14.161 OUTERR«»
i137.14.162 OUTSTD«»
i137.14.163 PAD?«»
i137.14.164 PCOL«»
i137.14.165 PROW«»
i137.14.166 QOUT«»
i137.14.167 RAT«»
i137.14.168 RDDLIST«»
i137.14.169 RDDNAME«»
i137.14.170 RDDSETDEFAULT«»
i137.14.171 READINSERT«»
i137.14.172 READMODAL«»
i137.14.173 READVAR«»
i137.14.174 RECNO«»
i137.14.175 RECSIZE«»
i137.14.176 REPLICATE«»
i137.14.177 RESTSCREEN«»
i137.14.178 RIGHT«»
i137.14.179 RLOCK«»
i137.14.180 ROUND«»
i137.14.181 ROW«»
i137.14.182 RTRIM«»
i137.14.183 SAVESCREEN«»
i137.14.184 SCROLL«»
i137.14.185 SECONDS«»
i137.14.186 SELECT«»
i137.14.187 SET«»
i137.14.188 SETBLINK«»
i137.14.189 SETCANCEL«»
i137.14.190 SETCOLOR«»
i137.14.191 SETCURSOR«»
i137.14.192 SETKEY«»
i137.14.193 SETMODE«»
i137.14.194 SETPOS«»
i137.14.195 SETPRC«»
i137.14.196 SOUNDEX«»
i137.14.197 SPACE«»
i137.14.198 SQRT«»
i137.14.199 STR«»
i137.14.200 STRTRAN«»
i137.14.201 STUFF«»
i137.14.202 SUBSTR«»
i137.14.203 TIME«»
i137.14.204 TONE«»
i137.14.205 TRANSFORM«»
i137.14.206 TYPE«»
i137.14.207 UPDATED«»
i137.14.208 UPPER«»
i137.14.209 USED«»
i137.14.210 VAL«»
i137.14.211 VALTYPE«»
i137.14.212 YEAR«»
u2.15 nB functions
i137.15.1 ACCEPT«»
i137.15.2 ACHOICE«»
i137.15.3 ACHOICEWINDOW«»
i137.15.4 ALERTBOX«»
i137.15.5 ATB«»
i137.15.6 BCOMPILE«»
i137.15.7 BUTTON«»
i137.15.8 COLORARRAY«»
i137.15.9 COORDINATE«»
i137.15.10 COPYFILE«»
i137.15.11 DBAPP«»
i137.15.12 DBCLOSE«»
i137.15.13 DBCONTINUE«»
i137.15.14 DBCOPY«»
i137.15.15 DBCOPYSTRUCT«»
i137.15.16 DBCOPYXSTRUCT«»
i137.15.17 DBDELIM«»
i137.15.18 DBISTATUS«»
i137.15.19 DBISTRUCTURE«»
i137.15.20 DBJOIN«»
i137.15.21 DBLABELFORM«»
i137.15.22 DBLIST«»
i137.15.23 DBLOCATE«»
i137.15.24 DBOLDCREATE«»
i137.15.25 DBPACK«»
i137.15.26 DBSDF«»
i137.15.27 DBSORT«»
i137.15.28 DBTOTAL«»
i137.15.29 DBUPDATE«»
i137.15.30 DBZAP«»
i137.15.31 DISPBOXCOLOR«»
i137.15.32 DISPBOXSHADOW«»
i137.15.33 DIR«»
i137.15.34 DOC«»
i137.15.35 DOTLINE«»
i137.15.36 DTEMONTH«»
i137.15.37 DTEWEEK«»
i137.15.38 EX«»
i137.15.39 GET«»
i137.15.40 GVADD«»
i137.15.41 GVDEFAULT«»
i137.15.42 GVFILEDIR«»
i137.15.43 GVFILEEXIST«»
i137.15.44 GVFILEEXTENTION«»
i137.15.45 GVSUBST«»
i137.15.46 HTF«»
i137.15.47 ISFILE«»
i137.15.48 ISWILD«»
i137.15.49 ISMEMVAR«»
i137.15.50 ISCONSOLEON«»
i137.15.51 ISPRINTERON«»
i137.15.52 KEYBOARD«»
i137.15.53 LISTWINDOW«»
i137.15.54 MEMOWINDOW«»
i137.15.55 MEMPUBLIC«»
i137.15.56 MEMRELEASE«»
i137.15.57 MEMRESTORE«»
i137.15.58 MEMSAVE«»
i137.15.59 MENUPROMPT«»
i137.15.60 MENUTO«»
i137.15.61 MESSAGELINE«»
i137.15.62 MOUSESCRSAVE«»
i137.15.63 MOUSESCRRESTORE«»
i137.15.64 PICCHRMAX«»
i137.15.65 QUIT«»
i137.15.66 READ«»
i137.15.67 RF«»
i137.15.68 RPT«»
i137.15.69 RPTMANY«»
i137.15.70 RPTTRANSLATE«»
i137.15.71 RUN«»
i137.15.72 SAY«»
i137.15.73 SETCOLORSTANDARD«»
i137.15.74 SETFUNCTION«»
i137.15.75 SETMOUSE«»
i137.15.76 SETOUTPUT«»
i137.15.77 SETRPTEJECT«»
i137.15.78 SETRPTLINES«»
i137.15.79 SETVERB«»
i137.15.80 SETVERB«.EXACT.» «obsolete»
i137.15.81 SETVERB«.FIXED.»
i137.15.82 SETVERB«.DECIMALS.»
i137.15.83 SETVERB«.DATEFORMAT.»
i137.15.84 SETVERB«.EPOCH.»
i137.15.85 SETVERB«.PATH.»
i137.15.86 SETVERB«.DEFAULT.»
i137.15.87 SETVERB«.EXCLUSIVE.»
i137.15.88 SETVERB«.SOFTSEEK.»
i137.15.89 SETVERB«.UNIQUE.» «obsolete»
i137.15.90 SETVERB«.DELETED.»
i137.15.91 SETVERB«.CANCEL.»
i137.15.92 SETVERB«.TYPEAHEAD.»
i137.15.93 SETVERB«.COLOR.»
i137.15.94 SETVERB«.CURSOR.»
i137.15.95 SETVERB«.CONSOLE.»
i137.15.96 SETVERB«.ALTERNATE.»
i137.15.97 SETVERB«.ALTFILE.»
i137.15.98 SETVERB«.DEVICE.»
i137.15.99 SETVERB«.EXTRA.»
i137.15.100 SETVERB«.EXTRAFILE.»
i137.15.101 SETVERB«.PRINTER.»
i137.15.102 SETVERB«.PRINTFILE.»
i137.15.103 SETVERB«.MARGIN.»
i137.15.104 SETVERB«.BELL.»
i137.15.105 SETVERB«.CONFIRM.»
i137.15.106 SETVERB«.ESCAPE.»
i137.15.107 SETVERB«.INSERT.»
i137.15.108 SETVERB«.EXIT.»
i137.15.109 SETVERB«.INTENSITY.»
i137.15.110 SETVERB«.SCOREBOARD.»
i137.15.111 SETVERB«.DELIMITERS.»
i137.15.112 SETVERB«.DELIMCHARS.»
i137.15.113 SETVERB«.WRAP.»
i137.15.114 SETVERB«.MESSAGE.»
i137.15.115 SETVERB«.MCENTER.»
i137.15.116 STRADDEXTENTION«»
i137.15.117 STRCUTEXTENTION«»
i137.15.118 STRDRIVE«»
i137.15.119 STREXTENTION«»
i137.15.120 STRFILE«»
i137.15.121 STRFILEFIND«»
i137.15.122 STRGETLEN«»
i137.15.123 STRLISTASARRAY«»
i137.15.124 STROCCURS«»
i137.15.125 STRPARENT«»
i137.15.126 STRPATH«»
i137.15.127 STRTEMPPATH«»
i137.15.128 STRXTOSTRING«»
i137.15.129 TB«»
i137.15.130 TEXT«»
i137.15.131 TGLINSERT«»
i137.15.132 TIMEX2N«»
i137.15.133 TIMEN2H«»
i137.15.134 TIMEN2M«»
i137.15.135 TIMEN2S«»
i137.15.136 TRUESETKEY«»
i137.15.137 WAITFILEEVAL«»
i137.15.138 WAITFOR«»
i137.15.139 WAITPROGRESS«»
u2.16 Normal command substitution
u2.17 nB command substitution functions
u2.18 RPT: the nB print function
i137.18.1 Memvars and fields
i137.18.2 Commands
i137.18.3 Examples
u2.19 How can I...
u2.20 The source files
u138 Clean the Clipper 5.2
u2.1 Step 1: try to compile with the /P parameter
u2.2 Step 2: understand well the use of code blocks
u2.3 Step 3: understand the object programming
i138.3.1 Classes and methods
i138.3.2 Class definition
i138.3.3 Object creation
i138.3.4 Instantiating an object
i138.3.5 The ..send'' symbol
i138.3.6 More about objects
u2.4 Step 4: understand the get object
u2.5 Step 5: trying to stop using commands
i138.5.1 ?/??
i138.5.2 .... BOX
i138.5.3 .... GET
i138.5.4 .... SAY
i138.5.5 .... TO
i138.5.6 APPEND
i138.5.7 APPEND FROM
i138.5.8 CLEAR
i138.5.9 CLOSE
i138.5.10 COMMIT
i138.5.11 CONTINUE
i138.5.12 COPY
i138.5.13 COUNT
i138.5.14 CREATE
i138.5.15 DEFAULT
i138.5.16 DELETE
i138.5.17 EJECT
i138.5.18 ERASE
i138.5.19 FIND
i138.5.20 GO
i138.5.21 INDEX ON
i138.5.22 JOIN
i138.5.23 KEYBOARD
i138.5.24 LABEL FORM
i138.5.25 LIST
i138.5.26 LOCATE
i138.5.27 PACK
i138.5.28 QUIT
i138.5.29 READ
i138.5.30 RECALL
i138.5.31 REINDEX
i138.5.32 RELEASE
i138.5.33 RENAME
i138.5.34 REPLACE
i138.5.35 REPORT FORM
i138.5.36 RESTORE
i138.5.37 RESTORE FROM
i138.5.38 RUN
i138.5.39 SAVE SCREEN TO
i138.5.40 SAVE TO
i138.5.41 SEEK
i138.5.42 SELECT
i138.5.43 SET
i138.5.44 SKIP
i138.5.45 SORT
i138.5.46 STORE
i138.5.47 SUM
i138.5.48 TOTAL ON
i138.5.49 UNLOCK
i138.5.50 UPDATE FROM
i138.5.51 USE
i138.5.52 ZAP
u2.6 Step 6: free yourself from STD.CH - /U
u2.7 Step 7: take control over all include files
Parte xxxiii Programmare a 16 bit
u139 Microprocessori x86-16
u2.1 Segmenti
u2.2 Registri
u2.3 Trasferimento di dati tra due segmenti differenti
u2.4 Riferimenti a indirizzi di memoria con i registri
u2.5 Convenzioni di chiamata
u2.6 Sintesi delle istruzioni x86-16
u2.7 Sostituzione delle istruzioni per i186
u2.8 Riferimenti
u140 Architettura IBM PC
u2.1 IVT: ''interrupt vector table''
u2.2 BIOS data area
u2.3 Altre aree di memoria
u2.4 Interruzioni principali
i140.4.1 INT 10base«16»/AH=00base«16» ''set video mode''
i140.4.2 INT 10base«16»/AH=05base«16» ''select active display page''
i140.4.3 INT 10base«16»/AH=0Ebase«16» ''teletype output''
i140.4.4 INT 12base«16» ''get memory size''
i140.4.5 INT 13base«16»/AH=00base«16» ''reset disk system''
i140.4.6 INT 13base«16»/AH=02base«16» ''read disk sectors into memory''
i140.4.7 INT 13base«16»/AH=03base«16» ''write disk sectors''
i140.4.8 INT 16base«16»/AH=00base«16» ''get keystroke from keyboard''
i140.4.9 INT 16base«16»/AH=01base«16» ''check for keystroke in the keyboard buffer''
u2.5 Riferimenti
u141 Strumenti di sviluppo e di utilizzo
u2.1 Preparazione
u2.2 Bcc
u2.3 As86
u2.4 Ld86
u2.5 Bootblocks
u2.6 Riferimenti
Parte xxxiv Studio per un sistema a 16 bit
u142 Introduzione a os16
u2.1 Organizzazione
u2.2 Le directory
u2.3 La struttura degli eseguibili
u2.4 Caricamento del kernel
u2.5 Informazioni diagnostiche
u2.6 Tabelle
u2.7 Guida di stile
u2.8 Tipi derivati speciali
u143 Caricamento ed esecuzione del kernel
u2.1 Dal file su disco alla copia in memoria
u2.2 File ''kernel/main/crt0.s''
u2.3 File ''kernel/main.h'' e ''kernel/main/* ''
u144 Funzioni interne legate all'hardware
u2.1 Libreria: ''lib/sys/os16.h'' e ''lib/sys/os16/... ''
u2.2 Funzioni di basso livello dei file ''kernel/ibm.i86/* ''
u2.3 Gestione della console
u2.4 Gestione dei dischi
u145 Gestione della memoria
u2.1 File ''kernel/memory.h'' e ''kernel/memory/... ''
u2.2 Scansione della mappa di memoria
u146 Gestione dei terminali virtuali
u147 Dispositivi
u2.1 File ''lib/sys/os16.h'' e directory ''lib/sys/os16/''
u2.2 File ''kernel/devices.h'' e ''kernel/devices/... ''
u2.3 Numero primario e numero secondario
u2.4 Dispositivi previsti
u148 Gestione del file system
u2.1 File ''kernel/fs/sb.... ''
u2.2 File ''kernel/fs/zone.... ''
u2.3 File ''kernel/fs/inode.... ''
u2.4 Fasi dell'innesto di un file system
u2.5 File ''kernel/fs/file.... ''
u2.6 Descrittori di file
u2.7 File ''kernel/fs/path.... ''
u2.8 File ''kernel/fs/fd.... ''
u149 Gestione dei processi
u2.1 File ''kernel/proc/.isr.s'' e ''kernel/proc/.ivt.load.s''
i149.1.1 Routine ''isr.1C''
i149.1.2 Routine ''isr.80''
u2.2 La tabella dei processi
u2.3 Chiamate di sistema
u2.4 File ''kernel/proc/... ''
i149.4.1 Funzione ''proc.init«»''
i149.4.2 Funzione ''sysroutine«»''
i149.4.3 Funzione ''proc.scheduler«»''
u150 Caricamento ed esecuzione delle applicazioni
u2.1 Caricamento in memoria
u2.2 Il codice iniziale dell'applicativo
Parte xxxv Manuale di os16
u151 Avvio del sistema e conclusione
u2.1 Interazione con il kernel
u2.2 Avvio e conclusione del sistema ''normale''
u152 Sezione 1: programmi eseguibili o comandi interni di shell
u2.1 os16: aaa«1»
u2.2 os16: bbb«1»
u2.3 os16: cat«1»
u2.4 os16: ccc«1»
u2.5 os16: chmod«1»
u2.6 os16: chown«1»
u2.7 os16: cp«1»
u2.8 os16: date«1»
u2.9 os16: ed«1»
u2.10 os16: kill«1»
u2.11 os16: ln«1»
u2.12 os16: login«1»
u2.13 os16: ls«1»
u2.14 os16: man«1»
u2.15 os16: mkdir«1»
u2.16 os16: more«1»
u2.17 os16: ps«1»
u2.18 os16: rm«1»
u2.19 os16: shell«1»
u2.20 os16: touch«1»
u2.21 os16: tty«1»
u153 Sezione 2: chiamate di sistema
u2.1 os16: .Exit«2»
u2.2 os16: .exit«2»
u2.3 os16: chdir«2»
u2.4 os16: chmod«2»
u2.5 os16: chown«2»
u2.6 os16: clock«2»
u2.7 os16: close«2»
u2.8 os16: dup«2»
u2.9 os16: dup2«2»
u2.10 os16: execve«2»
u2.11 os16: fchmod«2»
u2.12 os16: fchown«2»
u2.13 os16: fcntl«2»
u2.14 os16: fork«2»
u2.15 os16: fstat«2»
u2.16 os16: getcwd«2»
u2.17 os16: geteuid«2»
u2.18 os16: getuid«2»
u2.19 os16: getpgrp«2»
u2.20 os16: getpid«2»
u2.21 os16: getppid«2»
u2.22 os16: kill«2»
u2.23 os16: link«2»
u2.24 os16: lseek«2»
u2.25 os16: mkdir«2»
u2.26 os16: mknod«2»
u2.27 os16: mount«2»
u2.28 os16: open«2»
u2.29 os16: read«2»
u2.30 os16: rmdir«2»
u2.31 os16: seteuid«2»
u2.32 os16: setpgrp«2»
u2.33 os16: setuid«2»
u2.34 os16: signal«2»
u2.35 os16: sleep«2»
u2.36 os16: stat«2»
u2.37 os16: sys«2»
u2.38 os16: stime«2»
u2.39 os16: time«2»
u2.40 os16: umask«2»
u2.41 os16: umount«2»
u2.42 os16: unlink«2»
u2.43 os16: wait«2»
u2.44 os16: write«2»
u2.45 os16: z«2»
u2.46 os16: z.perror«2»
u2.47 os16: z.printf«2»
u2.48 os16: z.putchar«2»
u2.49 os16: z.puts«2»
u2.50 os16: z.vprintf«2»
u154 Sezione 3: funzioni di libreria
u2.1 os16: access«3»
u2.2 os16: abort«3»
u2.3 os16: abs«3»
u2.4 os16: atexit«3»
u2.5 os16: atoi«3»
u2.6 os16: atol«3»
u2.7 os16: basename«3»
u2.8 os16: bp«3»
u2.9 os16: clearerr«3»
u2.10 os16: closedir«3»
u2.11 os16: creat«3»
u2.12 os16: cs«3»
u2.13 os16: ctime«3»
u2.14 os16: dirname«3»
u2.15 os16: div«3»
u2.16 os16: ds«3»
u2.17 os16: endpwent«3»
u2.18 os16: errno«3»
u2.19 os16: es«3»
u2.20 os16: exec«3»
u2.21 os16: execl«3»
u2.22 os16: execle«3»
u2.23 os16: execlp«3»
u2.24 os16: execv«3»
u2.25 os16: execvp«3»
u2.26 os16: exit«3»
u2.27 os16: fclose«3»
u2.28 os16: feof«3»
u2.29 os16: ferror«3»
u2.30 os16: fflush«3»
u2.31 os16: fgetc«3»
u2.32 os16: fgetpos«3»
u2.33 os16: fgets«3»
u2.34 os16: fileno«3»
u2.35 os16: fopen«3»
u2.36 os16: fprintf«3»
u2.37 os16: fputc«3»
u2.38 os16: fputs«3»
u2.39 os16: fread«3»
u2.40 os16: free«3»
u2.41 os16: freopen«3»
u2.42 os16: fscanf«3»
u2.43 os16: fseek«3»
u2.44 os16: fseeko«3»
u2.45 os16: fsetpos«3»
u2.46 os16: ftell«3»
u2.47 os16: ftello«3»
u2.48 os16: fwrite«3»
u2.49 os16: getc«3»
u2.50 os16: getchar«3»
u2.51 os16: getenv«3»
u2.52 os16: getopt«3»
u2.53 os16: getpwent«3»
u2.54 os16: getpwnam«3»
u2.55 os16: getpwuid«3»
u2.56 os16: gets«3»
u2.57 os16: heap«3»
u2.58 os16: heap.clear«3»
u2.59 os16: heap.min«3»
u2.60 os16: input.line«3»
u2.61 os16: isatty«3»
u2.62 os16: labs«3»
u2.63 os16: ldiv«3»
u2.64 os16: major«3»
u2.65 os16: makedev«3»
u2.66 os16: malloc«3»
u2.67 os16: memccpy«3»
u2.68 os16: memchr«3»
u2.69 os16: memcmp«3»
u2.70 os16: memcpy«3»
u2.71 os16: memmove«3»
u2.72 os16: memset«3»
u2.73 os16: minor«3»
u2.74 os16: namep«3»
u2.75 os16: offsetof«3»
u2.76 os16: opendir«3»
u2.77 os16: perror«3»
u2.78 os16: printf«3»
u2.79 os16: process.info«3»
u2.80 os16: putc«3»
u2.81 os16: putchar«3»
u2.82 os16: putenv«3»
u2.83 os16: puts«3»
u2.84 os16: qsort«3»
u2.85 os16: rand«3»
u2.86 os16: readdir«3»
u2.87 os16: realloc«3»
u2.88 os16: rewind«3»
u2.89 os16: rewinddir«3»
u2.90 os16: scanf«3»
u2.91 os16: seg.d«3»
u2.92 os16: seg.i«3»
u2.93 os16: setbuf«3»
u2.94 os16: setenv«3»
u2.95 os16: setpwent«3»
u2.96 os16: setvbuf«3»
u2.97 os16: snprintf«3»
u2.98 os16: sp«3»
u2.99 os16: sprintf«3»
u2.100 os16: srand«3»
u2.101 os16: ss«3»
u2.102 os16: sscanf«3»
u2.103 os16: stdio«3»
u2.104 os16: strcat«3»
u2.105 os16: strchr«3»
u2.106 os16: strcmp«3»
u2.107 os16: strcoll«3»
u2.108 os16: strcpy«3»
u2.109 os16: strcspn«3»
u2.110 os16: strdup«3»
u2.111 os16: strerror«3»
u2.112 os16: strlen«3»
u2.113 os16: strncat«3»
u2.114 os16: strncmp«3»
u2.115 os16: strncpy«3»
u2.116 os16: strpbrk«3»
u2.117 os16: strrchr«3»
u2.118 os16: strspn«3»
u2.119 os16: strstr«3»
u2.120 os16: strtok«3»
u2.121 os16: strtol«3»
u2.122 os16: strtoul«3»
u2.123 os16: strxfrm«3»
u2.124 os16: ttyname«3»
u2.125 os16: unsetenv«3»
u2.126 os16: vfprintf«3»
u2.127 os16: vfscanf«3»
u2.128 os16: vprintf«3»
u2.129 os16: vscanf«3»
u2.130 os16: vsnprintf«3»
u2.131 os16: vsprintf«3»
u2.132 os16: vsscanf«3»
u155 Sezione 4: file speciali
u2.1 os16: console«4»
u2.2 os16: dsk«4»
u2.3 os16: kmem.file«4»
u2.4 os16: kmem.inode«4»
u2.5 os16: kmem.mmp«4»
u2.6 os16: kmem.ps«4»
u2.7 os16: kmem.sb«4»
u2.8 os16: mem«4»
u2.9 os16: null«4»
u2.10 os16: port«4»
u2.11 os16: tty«4»
u2.12 os16: zero«4»
u156 Sezione 5: formato dei file e convenzioni
u2.1 os16: inittab«5»
u2.2 os16: issue«5»
u2.3 os16: passwd«5»
u157 Sezione 7: varie
u2.1 os16: environ«7»
u2.2 os16: undocumented«7»
u158 Sezione 8: comandi per l'amministrazione del sistema
u2.1 os16: getty«8»
u2.2 os16: init«8»
u2.3 os16: MAKEDEV«8»
u2.4 os16: mount«8»
u2.5 os16: umount«8»
u159 Sezione 9: kernel
u2.1 os16: devices«9»
i159.1.1 os16: dev.io«9»
i159.1.2 os16: dev.dsk«9»
i159.1.3 os16: dev.kmem«9»
i159.1.4 os16: dev.mem«9»
i159.1.5 os16: dev.tty«9»
u2.2 os16: diag«9»
u2.3 os16: fs«9»
i159.3.1 os16: fd.chmod«9»
i159.3.2 os16: fd.chown«9»
i159.3.3 os16: fd.close«9»
i159.3.4 os16: fd.dup«9»
i159.3.5 os16: fd.dup2«9»
i159.3.6 os16: fd.fcntl«9»
i159.3.7 os16: fd.lseek«9»
i159.3.8 os16: fd.open«9»
i159.3.9 os16: fd.read«9»
i159.3.10 os16: fd.reference«9»
i159.3.11 os16: fd.stat«9»
i159.3.12 os16: fd.write«9»
i159.3.13 os16: file.reference«9»
i159.3.14 os16: file.stdio.dev.make«9»
i159.3.15 os16: inode.alloc«9»
i159.3.16 os16: inode.check«9»
i159.3.17 os16: inode.dir.empty«9»
i159.3.18 os16: inode.file.read«9»
i159.3.19 os16: inode.file.write«9»
i159.3.20 os16: inode.free«9»
i159.3.21 os16: inode.fzones.read«9»
i159.3.22 os16: inode.fzones.write«9»
i159.3.23 os16: inode.get«9»
i159.3.24 os16: inode.put«9»
i159.3.25 os16: inode.reference«9»
i159.3.26 os16: inode.save«9»
i159.3.27 os16: inode.stdio.dev.make«9»
i159.3.28 os16: inode.truncate«9»
i159.3.29 os16: inode.zone«9»
i159.3.30 os16: path.chdir«9»
i159.3.31 os16: path.chmod«9»
i159.3.32 os16: path.chown«9»
i159.3.33 os16: path.device«9»
i159.3.34 os16: path.fix«9»
i159.3.35 os16: path.full«9»
i159.3.36 os16: path.inode«9»
i159.3.37 os16: path.inode.link«9»
i159.3.38 os16: path.link«9»
i159.3.39 os16: path.mkdir«9»
i159.3.40 os16: path.mknod«9»
i159.3.41 os16: path.mount«9»
i159.3.42 os16: path.stat«9»
i159.3.43 os16: path.umount«9»
i159.3.44 os16: path.unlink«9»
i159.3.45 os16: sb.inode.status«9»
i159.3.46 os16: sb.mount«9»
i159.3.47 os16: sb.reference«9»
i159.3.48 os16: sb.save«9»
i159.3.49 os16: sb.zone.status«9»
i159.3.50 os16: stat«9»
i159.3.51 os16: zone.alloc«9»
i159.3.52 os16: zone.free«9»
i159.3.53 os16: zone.read«9»
u2.4 os16: ibm.i86«9»
u2.5 os16: k.libc«9»
u2.6 os16: main«9»
u2.7 os16: memory«9»
u2.8 os16: proc«9»
i159.8.1 os16: isr.1C«9»
i159.8.2 os16: ivt.load«9»
i159.8.3 os16: proc.available«9»
i159.8.4 os16: proc.dump.memory«9»
i159.8.5 os16: proc.find«9»
i159.8.6 os16: proc.init«9»
i159.8.7 os16: proc.reference«9»
i159.8.8 os16: proc.sch.signals«9»
i159.8.9 os16: proc.sch.terminals«9»
i159.8.10 os16: proc.sch.timers«9»
i159.8.11 os16: proc.scheduler«9»
i159.8.12 os16: proc.sig.chld«9»
i159.8.13 os16: proc.sig.cont«9»
i159.8.14 os16: proc.sig.core«9»
i159.8.15 os16: proc.sig.ignore«9»
i159.8.16 os16: proc.sig.on«9»
i159.8.17 os16: proc.sig.status«9»
i159.8.18 os16: proc.sig.stop«9»
i159.8.19 os16: proc.sig.term«9»
i159.8.20 os16: proc.sys.exec«9»
i159.8.21 os16: proc.sys.exit«9»
i159.8.22 os16: proc.sys.fork«9»
i159.8.23 os16: proc.sys.kill«9»
i159.8.24 os16: proc.sys.seteuid«9»
i159.8.25 os16: proc.sys.setuid«9»
i159.8.26 os16: proc.sys.signal«9»
i159.8.27 os16: proc.sys.wait«9»
i159.8.28 os16: sysroutine«9»
u2.9 os16: tty«9»
Parte xxxvi Codice di os16
u160 Script e sorgenti del kernel
u2.1 os16: directory principale
i160.1.1 bochs
i160.1.2 qemu
i160.1.3 makeit
u2.2 os16: ''kernel/devices.h''
i160.2.1 kernel/devices/dev.dsk.c
i160.2.2 kernel/devices/dev.io.c
i160.2.3 kernel/devices/dev.kmem.c
i160.2.4 kernel/devices/dev.mem.c
i160.2.5 kernel/devices/dev.tty.c
u2.3 os16: ''kernel/diag.h''
i160.3.1 kernel/diag/print.fd.c
i160.3.2 kernel/diag/print.fd.head.c
i160.3.3 kernel/diag/print.fd.list.c
i160.3.4 kernel/diag/print.file.head.c
i160.3.5 kernel/diag/print.file.list.c
i160.3.6 kernel/diag/print.file.num.c
i160.3.7 kernel/diag/print.hex.16.c
i160.3.8 kernel/diag/print.hex.16.reverse.c
i160.3.9 kernel/diag/print.hex.32.c
i160.3.10 kernel/diag/print.hex.32.reverse.c
i160.3.11 kernel/diag/print.hex.8.c
i160.3.12 kernel/diag/print.hex.8.reverse.c
i160.3.13 kernel/diag/print.inode.c
i160.3.14 kernel/diag/print.inode.head.c
i160.3.15 kernel/diag/print.inode.list.c
i160.3.16 kernel/diag/print.inode.map.c
i160.3.17 kernel/diag/print.inode.zone.list.c
i160.3.18 kernel/diag/print.inode.zones.c
i160.3.19 kernel/diag/print.inode.zones.head.c
i160.3.20 kernel/diag/print.kmem.c
i160.3.21 kernel/diag/print.mb.map.c
i160.3.22 kernel/diag/print.memory.map.c
i160.3.23 kernel/diag/print.proc.head.c
i160.3.24 kernel/diag/print.proc.list.c
i160.3.25 kernel/diag/print.proc.pid.c
i160.3.26 kernel/diag/print.segments.c
i160.3.27 kernel/diag/print.superblock.c
i160.3.28 kernel/diag/print.time.c
i160.3.29 kernel/diag/print.zone.map.c
i160.3.30 kernel/diag/reverse.16.bit.c
i160.3.31 kernel/diag/reverse.32.bit.c
i160.3.32 kernel/diag/reverse.8.bit.c
u2.4 os16: ''kernel/fs.h''
i160.4.1 kernel/fs/fd.chmod.c
i160.4.2 kernel/fs/fd.chown.c
i160.4.3 kernel/fs/fd.close.c
i160.4.4 kernel/fs/fd.dup.c
i160.4.5 kernel/fs/fd.dup2.c
i160.4.6 kernel/fs/fd.fcntl.c
i160.4.7 kernel/fs/fd.lseek.c
i160.4.8 kernel/fs/fd.open.c
i160.4.9 kernel/fs/fd.read.c
i160.4.10 kernel/fs/fd.reference.c
i160.4.11 kernel/fs/fd.stat.c
i160.4.12 kernel/fs/fd.write.c
i160.4.13 kernel/fs/file.reference.c
i160.4.14 kernel/fs/file.stdio.dev.make.c
i160.4.15 kernel/fs/file.table.c
i160.4.16 kernel/fs/inode.alloc.c
i160.4.17 kernel/fs/inode.check.c
i160.4.18 kernel/fs/inode.dir.empty.c
i160.4.19 kernel/fs/inode.file.read.c
i160.4.20 kernel/fs/inode.file.write.c
i160.4.21 kernel/fs/inode.free.c
i160.4.22 kernel/fs/inode.fzones.read.c
i160.4.23 kernel/fs/inode.fzones.write.c
i160.4.24 kernel/fs/inode.get.c
i160.4.25 kernel/fs/inode.put.c
i160.4.26 kernel/fs/inode.reference.c
i160.4.27 kernel/fs/inode.save.c
i160.4.28 kernel/fs/inode.stdio.dev.make.c
i160.4.29 kernel/fs/inode.table.c
i160.4.30 kernel/fs/inode.truncate.c
i160.4.31 kernel/fs/inode.zone.c
i160.4.32 kernel/fs/path.chdir.c
i160.4.33 kernel/fs/path.chmod.c
i160.4.34 kernel/fs/path.chown.c
i160.4.35 kernel/fs/path.device.c
i160.4.36 kernel/fs/path.fix.c
i160.4.37 kernel/fs/path.full.c
i160.4.38 kernel/fs/path.inode.c
i160.4.39 kernel/fs/path.inode.link.c
i160.4.40 kernel/fs/path.link.c
i160.4.41 kernel/fs/path.mkdir.c
i160.4.42 kernel/fs/path.mknod.c
i160.4.43 kernel/fs/path.mount.c
i160.4.44 kernel/fs/path.stat.c
i160.4.45 kernel/fs/path.umount.c
i160.4.46 kernel/fs/path.unlink.c
i160.4.47 kernel/fs/sb.inode.status.c
i160.4.48 kernel/fs/sb.mount.c
i160.4.49 kernel/fs/sb.reference.c
i160.4.50 kernel/fs/sb.save.c
i160.4.51 kernel/fs/sb.table.c
i160.4.52 kernel/fs/sb.zone.status.c
i160.4.53 kernel/fs/zone.alloc.c
i160.4.54 kernel/fs/zone.free.c
i160.4.55 kernel/fs/zone.read.c
i160.4.56 kernel/fs/zone.write.c
u2.5 os16: ''kernel/ibm.i86.h''
i160.5.1 kernel/ibm.i86/.cli.s
i160.5.2 kernel/ibm.i86/.in.16.s
i160.5.3 kernel/ibm.i86/.in.8.s
i160.5.4 kernel/ibm.i86/.int10.00.s
i160.5.5 kernel/ibm.i86/.int10.02.s
i160.5.6 kernel/ibm.i86/.int10.05.s
i160.5.7 kernel/ibm.i86/.int12.s
i160.5.8 kernel/ibm.i86/.int13.00.s
i160.5.9 kernel/ibm.i86/.int13.02.s
i160.5.10 kernel/ibm.i86/.int13.03.s
i160.5.11 kernel/ibm.i86/.int16.00.s
i160.5.12 kernel/ibm.i86/.int16.01.s
i160.5.13 kernel/ibm.i86/.int16.02.s
i160.5.14 kernel/ibm.i86/.out.16.s
i160.5.15 kernel/ibm.i86/.out.8.s
i160.5.16 kernel/ibm.i86/.ram.copy.s
i160.5.17 kernel/ibm.i86/.sti.s
i160.5.18 kernel/ibm.i86/con.char.read.c
i160.5.19 kernel/ibm.i86/con.char.ready.c
i160.5.20 kernel/ibm.i86/con.char.wait.c
i160.5.21 kernel/ibm.i86/con.init.c
i160.5.22 kernel/ibm.i86/con.putc.c
i160.5.23 kernel/ibm.i86/con.scroll.c
i160.5.24 kernel/ibm.i86/con.select.c
i160.5.25 kernel/ibm.i86/dsk.read.bytes.c
i160.5.26 kernel/ibm.i86/dsk.read.sectors.c
i160.5.27 kernel/ibm.i86/dsk.reset.c
i160.5.28 kernel/ibm.i86/dsk.sector.to.chs.c
i160.5.29 kernel/ibm.i86/dsk.setup.c
i160.5.30 kernel/ibm.i86/dsk.table.c
i160.5.31 kernel/ibm.i86/dsk.write.bytes.c
i160.5.32 kernel/ibm.i86/dsk.write.sectors.c
i160.5.33 kernel/ibm.i86/irq.off.c
i160.5.34 kernel/ibm.i86/irq.on.c
u2.6 os16: ''kernel/k.libc.h''
i160.6.1 kernel/k.libc/k.clock.c
i160.6.2 kernel/k.libc/k.close.c
i160.6.3 kernel/k.libc/k.exit.s
i160.6.4 kernel/k.libc/k.kill.c
i160.6.5 kernel/k.libc/k.open.c
i160.6.6 kernel/k.libc/k.perror.c
i160.6.7 kernel/k.libc/k.printf.c
i160.6.8 kernel/k.libc/k.puts.c
i160.6.9 kernel/k.libc/k.read.c
i160.6.10 kernel/k.libc/k.stime.c
i160.6.11 kernel/k.libc/k.time.c
i160.6.12 kernel/k.libc/k.vprintf.c
i160.6.13 kernel/k.libc/k.vsprintf.c
u2.7 os16: ''kernel/main.h''
i160.7.1 kernel/main/build.h
i160.7.2 kernel/main/crt0.s
i160.7.3 kernel/main/main.c
i160.7.4 kernel/main/menu.c
i160.7.5 kernel/main/run.c
u2.8 os16: ''kernel/memory.h''
i160.8.1 kernel/memory/address.c
i160.8.2 kernel/memory/mb.alloc.c
i160.8.3 kernel/memory/mb.alloc.size.c
i160.8.4 kernel/memory/mb.free.c
i160.8.5 kernel/memory/mb.reference.c
i160.8.6 kernel/memory/mb.table.c
i160.8.7 kernel/memory/mem.copy.c
i160.8.8 kernel/memory/mem.read.c
i160.8.9 kernel/memory/mem.write.c
u2.9 os16: ''kernel/proc.h''
i160.9.1 kernel/proc/.isr.s
i160.9.2 kernel/proc/.ivt.load.s
i160.9.3 kernel/proc/proc.available.c
i160.9.4 kernel/proc/proc.dump.memory.c
i160.9.5 kernel/proc/proc.find.c
i160.9.6 kernel/proc/proc.init.c
i160.9.7 kernel/proc/proc.reference.c
i160.9.8 kernel/proc/proc.sch.signals.c
i160.9.9 kernel/proc/proc.sch.terminals.c
i160.9.10 kernel/proc/proc.sch.timers.c
i160.9.11 kernel/proc/proc.scheduler.c
i160.9.12 kernel/proc/proc.sig.chld.c
i160.9.13 kernel/proc/proc.sig.cont.c
i160.9.14 kernel/proc/proc.sig.core.c
i160.9.15 kernel/proc/proc.sig.ignore.c
i160.9.16 kernel/proc/proc.sig.off.c
i160.9.17 kernel/proc/proc.sig.on.c
i160.9.18 kernel/proc/proc.sig.status.c
i160.9.19 kernel/proc/proc.sig.stop.c
i160.9.20 kernel/proc/proc.sig.term.c
i160.9.21 kernel/proc/proc.sys.exec.c
i160.9.22 kernel/proc/proc.sys.exit.c
i160.9.23 kernel/proc/proc.sys.fork.c
i160.9.24 kernel/proc/proc.sys.kill.c
i160.9.25 kernel/proc/proc.sys.seteuid.c
i160.9.26 kernel/proc/proc.sys.setuid.c
i160.9.27 kernel/proc/proc.sys.signal.c
i160.9.28 kernel/proc/proc.sys.wait.c
i160.9.29 kernel/proc/proc.table.c
i160.9.30 kernel/proc/sysroutine.c
u2.10 os16: ''kernel/tty.h''
i160.10.1 kernel/tty/tty.console.c
i160.10.2 kernel/tty/tty.init.c
i160.10.3 kernel/tty/tty.read.c
i160.10.4 kernel/tty/tty.reference.c
i160.10.5 kernel/tty/tty.table.c
i160.10.6 kernel/tty/tty.write.c
u161 Sorgenti della libreria generale
u2.1 os16: file isolati della directory ''lib/''
i161.1.1 lib/NULL.h
i161.1.2 lib/SEEK.h
i161.1.3 lib/.Bool.h
i161.1.4 lib/clock.t.h
i161.1.5 lib/const.h
i161.1.6 lib/ctype.h
i161.1.7 lib/inttypes.h
i161.1.8 lib/limits.h
i161.1.9 lib/ptrdiff.t.h
i161.1.10 lib/restrict.h
i161.1.11 lib/size.t.h
i161.1.12 lib/stdarg.h
i161.1.13 lib/stdbool.h
i161.1.14 lib/stddef.h
i161.1.15 lib/stdint.h
i161.1.16 lib/time.t.h
i161.1.17 lib/wchar.t.h
u2.2 os16: ''lib/dirent.h''
i161.2.1 lib/dirent/DIR.c
i161.2.2 lib/dirent/closedir.c
i161.2.3 lib/dirent/opendir.c
i161.2.4 lib/dirent/readdir.c
i161.2.5 lib/dirent/rewinddir.c
u2.3 os16: ''lib/errno.h''
i161.3.1 lib/errno/errno.c
u2.4 os16: ''lib/fcntl.h''
i161.4.1 lib/fcntl/creat.c
i161.4.2 lib/fcntl/fcntl.c
i161.4.3 lib/fcntl/open.c
u2.5 os16: ''lib/grp.h''
i161.5.1 lib/grp/getgrgid.c
i161.5.2 lib/grp/getgrnam.c
u2.6 os16: ''lib/libgen.h''
i161.6.1 lib/libgen/basename.c
i161.6.2 lib/libgen/dirname.c
u2.7 os16: ''lib/pwd.h''
i161.7.1 lib/pwd/pwent.c
u2.8 os16: ''lib/signal.h''
i161.8.1 lib/signal/kill.c
i161.8.2 lib/signal/signal.c
u2.9 os16: ''lib/stdio.h''
i161.9.1 lib/stdio/FILE.c
i161.9.2 lib/stdio/clearerr.c
i161.9.3 lib/stdio/fclose.c
i161.9.4 lib/stdio/feof.c
i161.9.5 lib/stdio/ferror.c
i161.9.6 lib/stdio/fflush.c
i161.9.7 lib/stdio/fgetc.c
i161.9.8 lib/stdio/fgetpos.c
i161.9.9 lib/stdio/fgets.c
i161.9.10 lib/stdio/fileno.c
i161.9.11 lib/stdio/fopen.c
i161.9.12 lib/stdio/fprintf.c
i161.9.13 lib/stdio/fputc.c
i161.9.14 lib/stdio/fputs.c
i161.9.15 lib/stdio/fread.c
i161.9.16 lib/stdio/freopen.c
i161.9.17 lib/stdio/fscanf.c
i161.9.18 lib/stdio/fseek.c
i161.9.19 lib/stdio/fseeko.c
i161.9.20 lib/stdio/fsetpos.c
i161.9.21 lib/stdio/ftell.c
i161.9.22 lib/stdio/ftello.c
i161.9.23 lib/stdio/fwrite.c
i161.9.24 lib/stdio/getchar.c
i161.9.25 lib/stdio/gets.c
i161.9.26 lib/stdio/perror.c
i161.9.27 lib/stdio/printf.c
i161.9.28 lib/stdio/puts.c
i161.9.29 lib/stdio/rewind.c
i161.9.30 lib/stdio/scanf.c
i161.9.31 lib/stdio/setbuf.c
i161.9.32 lib/stdio/setvbuf.c
i161.9.33 lib/stdio/snprintf.c
i161.9.34 lib/stdio/sprintf.c
i161.9.35 lib/stdio/sscanf.c
i161.9.36 lib/stdio/vfprintf.c
i161.9.37 lib/stdio/vfscanf.c
i161.9.38 lib/stdio/vfsscanf.c
i161.9.39 lib/stdio/vprintf.c
i161.9.40 lib/stdio/vscanf.c
i161.9.41 lib/stdio/vsnprintf.c
i161.9.42 lib/stdio/vsprintf.c
i161.9.43 lib/stdio/vsscanf.c
u2.10 os16: ''lib/stdlib.h''
i161.10.1 lib/stdlib/.Exit.c
i161.10.2 lib/stdlib/abort.c
i161.10.3 lib/stdlib/abs.c
i161.10.4 lib/stdlib/alloc.c
i161.10.5 lib/stdlib/atexit.c
i161.10.6 lib/stdlib/atoi.c
i161.10.7 lib/stdlib/atol.c
i161.10.8 lib/stdlib/div.c
i161.10.9 lib/stdlib/environment.c
i161.10.10 lib/stdlib/exit.c
i161.10.11 lib/stdlib/getenv.c
i161.10.12 lib/stdlib/labs.c
i161.10.13 lib/stdlib/ldiv.c
i161.10.14 lib/stdlib/putenv.c
i161.10.15 lib/stdlib/qsort.c
i161.10.16 lib/stdlib/rand.c
i161.10.17 lib/stdlib/setenv.c
i161.10.18 lib/stdlib/strtol.c
i161.10.19 lib/stdlib/strtoul.c
i161.10.20 lib/stdlib/unsetenv.c
u2.11 os16: ''lib/string.h''
i161.11.1 lib/string/memccpy.c
i161.11.2 lib/string/memchr.c
i161.11.3 lib/string/memcmp.c
i161.11.4 lib/string/memcpy.c
i161.11.5 lib/string/memmove.c
i161.11.6 lib/string/memset.c
i161.11.7 lib/string/strcat.c
i161.11.8 lib/string/strchr.c
i161.11.9 lib/string/strcmp.c
i161.11.10 lib/string/strcoll.c
i161.11.11 lib/string/strcpy.c
i161.11.12 lib/string/strcspn.c
i161.11.13 lib/string/strdup.c
i161.11.14 lib/string/strerror.c
i161.11.15 lib/string/strlen.c
i161.11.16 lib/string/strncat.c
i161.11.17 lib/string/strncmp.c
i161.11.18 lib/string/strncpy.c
i161.11.19 lib/string/strpbrk.c
i161.11.20 lib/string/strrchr.c
i161.11.21 lib/string/strspn.c
i161.11.22 lib/string/strstr.c
i161.11.23 lib/string/strtok.c
i161.11.24 lib/string/strxfrm.c
u2.12 os16: ''lib/sys/os16.h''
i161.12.1 lib/sys/os16/.bp.s
i161.12.2 lib/sys/os16/.cs.s
i161.12.3 lib/sys/os16/.ds.s
i161.12.4 lib/sys/os16/.es.s
i161.12.5 lib/sys/os16/.seg.d.s
i161.12.6 lib/sys/os16/.seg.i.s
i161.12.7 lib/sys/os16/.sp.s
i161.12.8 lib/sys/os16/.ss.s
i161.12.9 lib/sys/os16/heap.clear.c
i161.12.10 lib/sys/os16/heap.min.c
i161.12.11 lib/sys/os16/input.line.c
i161.12.12 lib/sys/os16/mount.c
i161.12.13 lib/sys/os16/namep.c
i161.12.14 lib/sys/os16/process.info.c
i161.12.15 lib/sys/os16/sys.s
i161.12.16 lib/sys/os16/umount.c
i161.12.17 lib/sys/os16/z.perror.c
i161.12.18 lib/sys/os16/z.printf.c
i161.12.19 lib/sys/os16/z.putchar.c
i161.12.20 lib/sys/os16/z.puts.c
i161.12.21 lib/sys/os16/z.vprintf.c
u2.13 os16: ''lib/sys/stat.h''
i161.13.1 lib/sys/stat/chmod.c
i161.13.2 lib/sys/stat/fchmod.c
i161.13.3 lib/sys/stat/fstat.c
i161.13.4 lib/sys/stat/mkdir.c
i161.13.5 lib/sys/stat/mknod.c
i161.13.6 lib/sys/stat/stat.c
i161.13.7 lib/sys/stat/umask.c
u2.14 os16: ''lib/sys/types.h''
i161.14.1 lib/sys/types/major.c
i161.14.2 lib/sys/types/makedev.c
i161.14.3 lib/sys/types/minor.c
u2.15 os16: ''lib/sys/wait.h''
i161.15.1 lib/sys/wait/wait.c
u2.16 os16: ''lib/time.h''
i161.16.1 lib/time/asctime.c
i161.16.2 lib/time/clock.c
i161.16.3 lib/time/gmtime.c
i161.16.4 lib/time/mktime.c
i161.16.5 lib/time/stime.c
i161.16.6 lib/time/time.c
u2.17 os16: ''lib/unistd.h''
i161.17.1 lib/unistd/.exit.c
i161.17.2 lib/unistd/access.c
i161.17.3 lib/unistd/chdir.c
i161.17.4 lib/unistd/chown.c
i161.17.5 lib/unistd/close.c
i161.17.6 lib/unistd/dup.c
i161.17.7 lib/unistd/dup2.c
i161.17.8 lib/unistd/environ.c
i161.17.9 lib/unistd/execl.c
i161.17.10 lib/unistd/execle.c
i161.17.11 lib/unistd/execlp.c
i161.17.12 lib/unistd/execv.c
i161.17.13 lib/unistd/execve.c
i161.17.14 lib/unistd/execvp.c
i161.17.15 lib/unistd/fchdir.c
i161.17.16 lib/unistd/fchown.c
i161.17.17 lib/unistd/fork.c
i161.17.18 lib/unistd/getcwd.c
i161.17.19 lib/unistd/geteuid.c
i161.17.20 lib/unistd/getopt.c
i161.17.21 lib/unistd/getpgrp.c
i161.17.22 lib/unistd/getpid.c
i161.17.23 lib/unistd/getppid.c
i161.17.24 lib/unistd/getuid.c
i161.17.25 lib/unistd/isatty.c
i161.17.26 lib/unistd/link.c
i161.17.27 lib/unistd/lseek.c
i161.17.28 lib/unistd/read.c
i161.17.29 lib/unistd/rmdir.c
i161.17.30 lib/unistd/seteuid.c
i161.17.31 lib/unistd/setpgrp.c
i161.17.32 lib/unistd/setuid.c
i161.17.33 lib/unistd/sleep.c
i161.17.34 lib/unistd/ttyname.c
i161.17.35 lib/unistd/unlink.c
i161.17.36 lib/unistd/write.c
u2.18 os16: ''lib/utime.h''
i161.18.1 lib/utime/utime.c
u162 Sorgenti delle applicazioni
u2.1 os16: directory ''applic/''
i162.1.1 applic/MAKEDEV.c
i162.1.2 applic/aaa.c
i162.1.3 applic/bbb.c
i162.1.4 applic/cat.c
i162.1.5 applic/ccc.c
i162.1.6 applic/chmod.c
i162.1.7 applic/chown.c
i162.1.8 applic/cp.c
i162.1.9 applic/crt0.s
i162.1.10 applic/date.c
i162.1.11 applic/ed.c
i162.1.12 applic/getty.c
i162.1.13 applic/init.c
i162.1.14 applic/kill.c
i162.1.15 applic/ln.c
i162.1.16 applic/login.c
i162.1.17 applic/ls.c
i162.1.18 applic/man.c
i162.1.19 applic/mkdir.c
i162.1.20 applic/more.c
i162.1.21 applic/mount.c
i162.1.22 applic/ps.c
i162.1.23 applic/rm.c
i162.1.24 applic/shell.c
i162.1.25 applic/touch.c
i162.1.26 applic/tty.c
i162.1.27 applic/umount.c
Parte xxxvii Un sistema operativo giocattolo, denominato ''05''
u163 Preparazione
u2.1 File-immagine
u164 Directory di lavoro
u2.1 Directory ''05/''
u2.2 Script di collegamento
u2.3 Altre directory
u165 Libreria standard per iniziare
u2.1 Libreria ''limits.h''
u166 File isolati per dichiarazioni riprese in più librerie
u2.1 Libreria ''stdbool.h''
u2.2 Libreria ''time.h''
u2.3 Libreria ''ctype.h''
u2.4 Libreria ''stdint.h''
u2.5 Libreria ''inttypes.h''
u2.6 Libreria ''stdarg.h''
u2.7 Libreria ''stddef.h''
u2.8 Libreria ''stdlib.h''
u2.9 Libreria ''string.h''
u2.10 Libreria ''stdio.h''
u167 Librerie specifiche generali
u2.1 File ''build.h''
u2.2 Libreria ''io.h''
u2.3 Libreria ''multiboot.h''
u2.4 File ''os.h''
u2.5 Libreria ''vga.h''
u168 Un primo kernel di prova
u2.1 File ''kernel.h''
u2.2 Altri file mancanti
u2.3 Compilazione e prova di funzionamento
u169 Tabella GDT
u2.1 Struttura
u2.2 Libreria ''gdt.h''
u2.3 Modifiche da apportare a ''kernel.main.c''
u170 Gestione della memoria
u2.1 Gestione della memoria attraverso una lista
u2.2 Libreria ''mm.h''
u2.3 Funzioni per l'allocazione della memoria
u2.4 Verifica del funzionamento
u171 Tabella IDT
u2.1 File di intestazione ''int.h'' e file delle routine di interruzione ''isr.s''
u2.2 Funzioni per definire la tabella IDT
u2.3 Gestione delle interruzioni
u2.4 Piccole funzioni di contorno
u2.5 Verifica del funzionamento
u172 Chiamate di sistema
u2.1 File di intestazione ''syscall.h''
u2.2 Fasi successive all'interruzione
u2.3 Verifica del funzionamento
u173 Interruzioni hardware
u2.1 Gestione del temporizzatore
u2.2 Gestione della tastiera
u2.3 Verifica del funzionamento
u174 Una specie di ''shell''
u2.1 Realizzazione della shell
u2.2 Conclusione
Parte xxxviii *BSD
u175 Caratteristiche comuni nei sistemi *BSD
u2.1 Partizioni nei sistemi *BSD
u2.2 Dispositivi tipici
u2.3 Riferimenti
Parte xxxix i86
u176 Minix
u2.1 Procurarsi il software
i176.1.1 Pacchetti essenziali
u2.2 Preparazione all'installazione
i176.2.1 Nomi di dispositivo riferiti alle partizioni
u2.3 Avvio
u2.4 Installazione
i176.4.1 Setup
i176.4.2 Avvio del sistema copiato nel disco fisso
i176.4.3 Installazione delle serie di dischetti
i176.4.4 Dischetto di avvio
i176.4.5 Conclusione
u2.5 Ricompilazione del kernel
i176.5.1 /usr/include/minix/config.h
i176.5.2 File di dispositivo
u2.6 Parametri di avvio
i176.6.1 Scheda di rete
u2.7 Configurazione della rete
i176.7.1 /etc/hosts
i176.7.2 File ''/etc/hostname.file''
i176.7.3 File ''/etc/resolv.conf''
i176.7.4 File ''/etc/rc.net''
i176.7.5 File ''/etc/rc''
u2.8 Personalizzazione
i176.8.1 File ''/etc/passwd'', ''/etc/group'' e ''/etc/shadow''
u2.9 Tastiera
i176.9.1 Modifica della mappa
u2.10 Altri programmi
i176.10.1 Pacchetto ''HTTPD.TAZ''
i176.10.2 Pacchetto ''FROG.TAZ''
u2.11 Copie di sicurezza
i176.11.1 Archiviazione
i176.11.2 Recupero
u2.12 Convivenza tra Minix e GNU/Linux
i176.12.1 LILO
u2.13 Riferimenti
u177 ELKS: introduzione
u2.1 Strumenti di sviluppo
u2.2 Compilazione del kernel
u2.3 Immagini di dischetti già pronti
u2.4 Avvio di ELKS all'interno di DOSEMU
u2.5 Spegnimento
u2.6 Riferimenti
u178 ELKS: realizzazione personale
u2.1 File system e dischetti
u2.2 File di dispositivo
u2.3 Sistema di avvio
i178.3.1 Bootblocks
i178.3.2 Bootkit
u2.4 Installazione manuale nel disco fisso
u2.5 Adattamento della mappa della tastiera
Parte xl Dos
u179 Dos: introduzione
u2.1 Avvio del sistema
u2.2 Dispositivi secondo il Dos
u2.3 Directory, file ed eseguibili
u2.4 Comandi e ambiente di avvio
u2.5 Caratteri jolly
u2.6 Invito dell'interprete dei comandi
u2.7 Comandi interni principali
i179.7.1 CH, CHDIR
i179.7.2 X:
i179.7.3 MD, MKDIR
i179.7.4 RD, RMDIR
i179.7.5 DIR
i179.7.6 COPY
i179.7.7 DEL, ERASE
i179.7.8 REN, RENAME
i179.7.9 SET
i179.7.10 TYPE
u2.8 Flussi standard
i179.8.1 SORT
i179.8.2 MORE
u2.9 Accesso diretto ai dispositivi
u2.10 Riferimenti
u180 Dos: dischi, file system, directory e file
u2.1 Suddivisione in partizioni
u2.2 Inizializzazione di un'unità di memorizzazione
u2.3 Etichetta di un'unità di memorizzazione
u2.4 Analisi e correzione del file system
u2.5 Copia
i180.5.1 DISKCOPY
i180.5.2 XCOPY
u2.6 Trasferimento del sistema
u2.7 Modifica delle unità
i180.7.1 ASSIGN
i180.7.2 JOIN
i180.7.3 SUBST
u2.8 Altre particolarità
i180.8.1 VERIFY
i180.8.2 APPEND
i180.8.3 ATTRIB
i180.8.4 DELTREE
i180.8.5 FIND
i180.8.6 MOVE
i180.8.7 TREE
i180.8.8 COMP e FC
u181 Dos: configurazione
u2.1 File ''CONFIG.SYS''
i181.1.1 BREAK
i181.1.2 BUFFERS
i181.1.3 COUNTRY
i181.1.4 DEVICE, DEVICEHIGH
i181.1.5 DOS
i181.1.6 DRIVEPARM
i181.1.7 FCBS
i181.1.8 FILES
i181.1.9 INSTALL
i181.1.10 LASTDRIVE
i181.1.11 SHELL
i181.1.12 STACK
u2.2 File ''AUTOEXEC.BAT''
u2.3 Comandi ridondanti
u2.4 Localizzazione
i181.4.1 CHCP
i181.4.2 KEYB
i181.4.3 GRAFTABL
u2.5 Orologio
u182 Dos: script dell'interprete dei comandi
u2.1 Parametri, variabili ed espansione
u2.2 Chiamate di altri script
u2.3 Strutture di controllo
i182.3.1 IF
i182.3.2 FOR
i182.3.3 GOTO
i182.3.4 Emulazione di un ciclo iterativo
u2.4 Comandi utili negli script
i182.4.1 REM
i182.4.2 ECHO
i182.4.3 PAUSE
i182.4.4 CLS
i182.4.5 CHOICE
u183 Dos: gestione della memoria centrale
u2.1 Gestione particolare
u2.2 Comandi appositi
u2.3 Verifica
u184 FreeDOS
u2.1 Installazione
u2.2 Impostazione e configurazione
u2.3 RxDOS
u2.4 Riferimenti
u185 Progetto GNUish
u2.1 Programmi di servizio vari
u2.2 Gnuplot
u2.3 Spreadsheet Calculator
u2.4 Ispell
u2.5 Perl
u2.6 Riferimenti
u186 The valuable DOS Freeware page
u2.1 Introduction
u2.2 OS and GUI
u2.3 Utility
u2.4 Network
u2.5 Compilers
u2.6 Typesetting
u2.7 More Dos software sources
u2.8 Search engines
u187 Introduzione a ReactOS
u2.1 Installazione
u2.2 Riferimenti
u188 DOSEMU: l'emulatore di hardware DOS compatibile
u2.1 Predisporre un ambiente adatto al Dos all'interno di DOSEMU
i188.1.1 Un disco ''C:'' immagine
i188.1.2 Un disco ''D:'' virtuale o di rete
i188.1.3 La struttura essenziale del disco ''D:'' virtuale
u2.2 La configurazione di DOSEMU
i188.2.1 File ''/etc/dosemu.users''
i188.2.2 File ''/etc/dosemu.conf''
u2.3 Installare e utilizzare il Dos
i188.3.1 I dischi virtuali con ''LREDIR.COM''
i188.3.2 Il mouse
i188.3.3 Un esempio di ''AUTOEXEC.BAT''
i188.3.4 DOSEMU e le console virtuali
i188.3.5 DOSEMU da X
i188.3.6 DOSEMU e Mtools
i188.3.7 Implicazioni sulla gestione dei permessi
Parte xli Sistemi operativi alternativi
u189 Sistemi operativi alternativi di un certo rilievo
u2.1 Riferimenti
u190 Syllable: introduzione
u2.1 Installazione
u2.2 Utenze
u2.3 Installazione dei pacchetti applicativi
u2.4 Riferimenti
u191 Syllable: utilizzo sommario
u2.1 Configurazione
u2.2 Cattura dello schermo
u2.3 Riferimenti
u192 Plan 9: installazione
u2.1 Dischetto di installazione e preparazione della distribuzione
u2.2 Installazione nel disco fisso
u2.3 Avvio e arresto del sistema installato
u2.4 Riferimenti
u193 UNIX di ricerca
u2.1 Caratteristiche dei primi sistemi UNIX e BSD
i193.1.1 Partizioni
i193.1.2 Dispositivi
i193.1.3 File di dispositivo delle unità di memorizzazione
i193.1.4 Unità a nastro
i193.1.5 Collocazione dei file eseguibili
u2.2 SIMH e il PDP-11
i193.2.1 Utilizzo normale
i193.2.2 Avvio e sospensione di una simulazione
i193.2.3 Nastri virtuali
i193.2.4 Caratteristiche generali dei vari modelli PDP-11
i193.2.5 Simulazione unità a disco e a nastro
u2.3 2.11BSD
i193.3.1 Preparazione del nastro virtuale
i193.3.2 Configurazione iniziale del simulatore e avvio
i193.3.3 Preparazione delle partizioni
i193.3.4 Inizializzazione del file system
i193.3.5 Copia dei file principali e primo avvio del sistema
i193.3.6 Sistemazione dell'avvio dal disco
i193.3.7 Predisposizione dei file di dispositivo e conclusione dell'installazione
i193.3.8 Sistemare la data
u2.4 Installazione di file-immagine pronti
i193.4.1 UNIX versione 5 «RK05»
i193.4.2 UNIX versione 6 «RK05»
i193.4.3 UNIX versione 6 «RL02»
i193.4.4 UNIX versione 7 «RL02»
i193.4.5 UNIX versione 7 «RL02» ''Torsten''
i193.4.6 BSD versione 2.9 «RL02»
u2.5 Derivazioni di UNIX per hardware ridotto
i193.5.1 Mini-UNIX
i193.5.2 LSI UNIX o LSX
u2.6 Programmi di servizio
i193.6.1 V7fs
u2.7 Riferimenti
A GNU GENERAL PUBLIC LICENSE
B GNU Free Documentation License
C Creative Commons Legal Code
x1 Indice analitico