APOGEOnLine


Apogeonline Google Book Search
Copertina

Metallica e la filosofia

di William Irwin

Prezzo: 22.00 Euro

Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi del passato attraverso la riflessione sui problemi e le parole di oggi.

Newsletter gratuita





Copertina

Net TV

di Tommaso Tessarolo

Prezzo: 13.00 Euro

NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della TV, con la possibilità per tutti di entrare in gioco.

News sul tuo sito

Vuoi avere le news di Apogeonline sempre aggiornate sul tuo sito? È semplicissimo: scopri come

feed rss feed atom
Cliccare per un ingrandimento

Programmare in Linux Tutto e oltre

di K. Wall, M. Waston, M. Whitis



Euro 40,28

Acquistalo da: laFeltrinelli.it laFeltrinelli

.


Introduzione

Che cosa può fare questo libro per te

A chi è rivolto il libro

Come programmare in Linux

Parte I: Strumenti della programmazione in Linux

Capitolo 1: Descrizione

Il piccolo OS che era

Il piccolo OS che sarà

Una breve storia di Linux

Linux e Unix

Programmare in Linux

Perché programmare in Linux?

Riepilogo

Capitolo 2: Configurazione di un sistema di sviluppo

Scelta dell'hardware

Considerazioni per la scelta dell'hardware

Processore/Scheda Madre

I/O Equipaggiato

Processore

BIOS

Memoria

Contenitore e alimentazione

Hardware di interfaccia utente: video, audio, tastiera e mouse

Scheda Video

Monitor

Schede audio

Tastiera e mouse

Dispositivi di comunicazione, porte e bus

Modem

Schede di interfaccia di rete

SCSI

USB e Firewire (IEEE 1394)

Schede seriali (comprese Multiporta)

IRDA

Schede PCMCIA

ISA Plug and Play

Dispositivi di memorizzazione

Disco Rigido

Dischi rimovibili

CD-ROM/DVD

Backup su nastro

Periferiche esterne

Stampante

Scanner

Videocamere digitali

Home Automation

Sistemi completi

Laptop

Installazione

Riepilogo

Capitolo 3: Utilizzo di cc di GNU

Caratteristiche di cc di GNU

Una breve lezione

Opzioni comuni della riga di comando

File di libreria e di include

Controllo degli errori e warning

Opzioni di ottimizzazione

Opzioni di debugging

Estensioni C di GNU

Riepilogo

Capitolo 4: Gestione di un progetto utilizzando make di GNU

Perché make?

Scrittura dei makefile

Ancora a proposito di regole

Phony (falsi) target

Variabili

Variabili di ambiente, automatiche e predefinite

Regole implicite

Regole di suffisso

Commenti

Opzioni aggiuntive della riga di comando di make

Il debugging di make

Comuni messaggi di errore di make

Destinazioni utili di makefile

Riepilogo

Capitolo 5: Creazione di software autoconfigurante con autoconf

Comprendere autoconf

Costruire configure.in

Composizione del file

Alcune utility di autoconf

Macro interne

Test di programmi alternativi

Test di funzioni di libreria

Test di file di header

Test di strutture

Test per typedef

Test di comportamento del compilatore

Test di servizi di sistema

Test di varianti di Unix

Macro generiche

Uno script di autoconf commentato

Riepilogo

Capitolo 6: Confronto e merge di file sorgente

Confronto tra file

Capire il comando cmp

Capire il comando diff

Il formato di uscita normale

Il formato di uscita contesto

Capire il comando diff3

Capire il comando sdiff

Preparazione di patch di codice sorgente

Opzioni della riga di comando di patch

Creazione di una patch

Applicazione della patch

Riepilogo

Capitolo 7: Controllo di versione con RCS

Terminologia

Utilizzo base di RCS

ci e co

Parole chiave di RCS

Altre parole chiave di RCS

Il comando ident

rcsdiff

Altri comandi RCS

rcsclean

rlog

rcs

rcsmerge

Riepilogo

Capitolo 8: Creazione di programmi con Emacs

Introduzione a Emacs

Avvio e chiusura di Emacs

Esplorando Emacs

Inserimento di testo

Cancellazione di testo

Ricerca e sostituzione di testo

Salvataggio e apertura di file

Finestre multiple

Funzioni di supporto alla programmazione

Rientro automatico del codice

Risalto della sintassi

Utilizzo dei commenti

Compilazione con Emacs

Personalizzazione di Emacs

Automatizzazione di Emacs con Emacs Lisp

Riepilogo

Parte II: Programmazione di sistema

Capitolo 9: Routine di I/O

Descrittori di file

Chiamate che utilizzano i descrittori di file

La chiamata open()

La chiamata close()

La chiamata read()

La chiamata write()

La chiamata ioctl()

La chiamata fcntl()

La chiamata fsync()

La chiamata ftruncate()

La chiamata lseek()

Le chiamate dup() e dup2()

La chiamata select()

La chiamata fstat()

La chiamata fchown()

La chiamata fchmod()

La chiamata fchdir()

La chiamata flock()

La chiamata pipe()

Tipi di file

File ordinari

L'I/O di nastro

Porte seriali di I/O

Porta stampante

Schede audio

Riepilogo

Capitolo 10: Manipolazione di file

Funzioni che operano sui file

Apertura e chiusura di file

Funzioni base di lettura e scrittura

Funzioni di stato

Output formattato

Input formattato

Input e output basati su caratteri e su righe

Posizionamento del file

Controllo di buffer

Eliminazione e cambiamento del nome di file

File temporanei

Riepilogo

Capitolo 11: Controllo di processo

Attributi

Chiamate di sistema e funzioni libreria

Segnali

Termine di un programma

Allarmi e timer

Parametri di scheduling

Thread

Manipolazione degli attributi

Cancellazione di thread

Mutex

Esempi di programmi

Libreria child

Programma child_demo1.c

Programma child_demo2.c

Programma child_demo3.c

Riepilogo

Capitolo 12: Accesso alle informazioni di sistema

Informazioni di processo

File cmdline

File environ

Directory fd

File mem

File status

Link simbolico cwd

Link simbolico exe

File maps

Link simbolico root

File statm

Informazioni generali di sistema

File /proc/cmdline

File /proc/cpuinfo

File /proc/devices

File /proc/dma

File /proc/filesystem

File /proc/interrupts

File /proc/ioports

File /proc/kmsg

File /proc/ksyms

File /proc/loadavg

File /proc/locks

File /proc/mdstat

File /proc/meminfo

File /proc/misc

File /proc/modules

File /proc/mounts

File /proc/pci

File /proc/rtc

File /proc/stat

File /proc/uptime

File /proc/version

Sottodirectory /proc/net

Sottodirectory /proc/scsi

Sottodirectory /proc/sys

Librerie e utility

Riepilogo

Capitolo 13: Trattamento degli errori

Una pausa per un breve articolo di fondo

Servizi del linguaggio C

assert()

Utilizzo del preprocessore

Servizi standard di libreria

Comprendere errno

Utlizzo della funzione abort()

Utilizzo della funzione exit()

Utilizzo della funzione atexit()

Utilizzo della funzione strerror()

Utilizzo della funzione perror()

Logging di sistema

Programmi di livello utente

Riepilogo

Capitolo 14: Gestione della memoria

Riesame della gestione della memoria in C

Utilizzo della funzione malloc()

Utilizzo della funzione calloc()

Utilizzo della funzione realloc()

Utilizzo della funzione free()

Utilizzo della funzione alloca()

I file mappati in memoria

Utilizzo della funzione mmap()

Utilizzo della funzione munmap()

Utilizzo della funzione msync()

Utilizzo della funzione mprotect()

Locking della memoria

Utilizzo della funzione mremap()

Implementazione della cat(1) utilizzando le mappe di memoria

Individuare e risolvere i problemi di memoria

Un bambino difficile

Utilizzo di mpr e check per localizzare i problemi di memoria

Electric Fence

Uso di Lint Brush

Riepilogo

Parte III: Comunicazione interprocesso e programmazione di rete

Capitolo 15: Introduzione all'IPC: utilizzo dei pipe

Introduzione all'uso dei pipe

Pipe senza nome

Pipe con nome

Riepilogo

Capitolo 16: Code di messaggi

Creazione di un programma di esempio di coda di messaggi

Esecuzione del programma di esempio di coda di messaggi

Riepilogo

Capitolo 17: Memoria condivisa

Configurare Linux per l'uso di memoria condivisa

Programma di esempio che utilizza la memoria condivisa

Esecuzione del programma di esempio di memoria condivisa

Riepilogo

Capitolo 18: Semafori

Un programma di esempio che usa i semafori

Esecuzione del programma di esempio

Riepilogo

Capitolo 19: TCP/IP e la programmazione di socket

Le chiamate di sistema di supporto alla programmazione di socket

socket

bind

listen

connect

recv

send

Esempi di applicazione client/server che usano i socket

Esempio di server

Esempio di client

Esecuzione degli esempi di client e di server

Esecuzione del programma server di esempio utilizzando

un Web browser come client

Un semplice server Web e un programma client di esempio

Implementazione di un semplice Web server

Implementazione di un semplice client Web

Testing del server Web e del client Web

Esecuzione del semplice server Web utilizzando Netscape Navigator

come client

Riepilogo

Capitolo 20: UDP: User Data Protocol

Un programma di esempio per la trasmissione di dati con UDP

Un programma di esempio per la ricezione di dati UDP

Esecuzione dei programmi UDP di esempio

Riepilogo

Capitolo 21: Utilizzo di socket multicast

Configurazione di Linux per il supporto IP multicast

Programmi di trasmissione IP multicast

Programma per la trasmissione di dati

Programma per l'attesa di trasmissioni

Esecuzione dei programmi di IP multicast

Riepilogo

Capitolo 22: Socket di I/O non bloccanti

Programma di esempio di I/O non bloccante

Esecuzione del programma di esempio

Riepilogo

Capitolo 23: Una classe di libreria C++ per socket TCP

Progetto di classi C++ client/server

Capire il progetto client

Capire il progetto server

Implementazione delle classi C++ client/server

Implementazione del client

Implementazione del server

Test delle classi C++ client/server

Riepilogo

Capitolo 24: Uso delle librerie

Confronto tra libc5 e libc6

Strumenti di libreria

Comando nm

Comando ar

Comando ldd

Comando ldconfig

Variabili di ambiente e file di configurazione

Scrittura e utilizzo delle librerie statiche

Scrittura e utilizzo delle librerie condivise

Utilizzo di oggetti condivisi caricati dinamicamente

Interfaccia dl

Riepilogo

Capitolo 25: I driver di dispositivo

Tipi di driver

Driver di kernel linkati staticamente

Moduli kernel caricabili

Librerie condivise

Programma senza privilegi di modalità utente

Programmi privilegiati di modalità utente

Demoni

Confronto tra dispositivi a carattere e dispositivi a blocchi

Un hardware dimostrativo

Funzionamento di un motore passo passo

Porta parallela standard o bidirezionale

Configurazione di sviluppo

I/O di porta di basso livello

Attivazione degli interrupt per l'utilizzo dei driver di dispositivo

Accesso alla memoria attraverso il DMA

Semplice driver di test in modalità utente

Debugging dei driver di livello kernel

Metà superiore e metà inferiore

Realizzazione di un driver di kernel

Esame del codice sorgente

Compilazione del driver

Utilizzo del driver di kernel

Sviluppi futuri

Altre sorgenti di informazione

Riepilogo

Parte IV: Programmazione dell'interfaccia utente

Capitolo 26: Gestione dei terminali

Interfaccia di terminale

Controllo dei terminali

Funzioni di controllo degli attributi

Funzioni di controllo della velocità

Funzioni di controllo della riga

Funzioni di controllo di processo

Utilizzo dell'interfaccia di terminale

Modifica delle modalità di terminale

Utilizzo di terminfo

Proprietà di terminfo

Utilizzo di terminfo

Lavorare con le capacità terminfo

Riepilogo

Capitolo 27: Manipolazione dello schermo con ncurses

Una breve storia di ncurses

Compilazione con ncurses

Debugging dei programmi ncurses

Le finestre

Design della finestra di ncurses

Convenzioni di nome delle funzioni di ncurses

Inizializzazione e terminazione

Inizializzazione di ncurses

Terminazione di ncurses

Un esempio di inizializzazione e terminazione di ncurses

Input e output

Routine di output

Le routine di colore

Gestione delle finestre

Funzioni di utilità

Riepilogo

Capitolo 28: Programmazione X Window

Concetti base di X

API Xlib

Mapping e unmapping di finestre

Distruzione di finestre

Trattamento degli eventi

Inizializzazione del contesto grafico e dei font

Disegnare in una finestra X

Un programma Xlib di esempio

Toolkit API di X

Iniziare a usare il toolkit di X

Impostazione degli argomenti di widget utilizzando il toolkit di X

Riepilogo

Capitolo 29: Utilizzo dei widget di Motif e Athena

Utilizzo dei widget Athena

Widget Athena Label

Widget Athena Command Button

Widget Athena List

Widget Athena Text

Widget Athena Simple Menu

Utilizzo dei widget Motif

Widget Motif Label

Widget Motif List

Widget di Motif Text

Scrittura di un widget Athena personalizzato

Utilizzo del file fetch_url.c

Utilizzo del file URL.h

Utilizzo del file ULRP.h

Utilizzo del file URL.c

Test dell'URLWidget

Utilizzo di Athena e Motif nei programmi C++

Utilizzo di una libreria di classi per i widget Athena

Classe Component

Classe PanedWindow

Classe Label

Classe Button

Classe Text

Riepilogo

Capitolo 30: Programmazione GUI con GTK

Introduzione a GTK

Gestione degli eventi in GTK

Breve esempio di programma che utilizza GTK

Vari tipi di widget GTK

Widget contenitori GTK

Programma GTK per la visualizzazione dei file XML

Breve introduzione a XML

Expat, l'analizzatore XML di James Clark

Implementazione del programma di visualizzazione XML di GTK

Esecuzione del programma di visualizzazione XML di GTK

Un programma GUI che utilizza il widget Notebook

Implementazione dell'esempio di programma widget Notebook

Implementazione del widget Drawing

Esecuzione dell'esempio di programma GTK widget Notebook

Capitolo 31: Programmazione GUI con l'utilizzo di Qt

Gestione degli eventi ridefinendo i metodi della classe QWidget

Presentazione della classe QWidget

Implementazione della classe DrawWidget

Test di DrawWidget

Gestione degli eventi con l'utilizzo degli slot e dei segnali Qt

Derivazione della classe StateLCDWidget

Utilizzo dei segnali e degli slot

Esecuzione dell'esempio di programma segnale/slot

Riepilogo

Capitolo 32: Programmazione GUI con Java

Breve introduzione a Java

Un linguaggio orientato agli oggetti

Uso dei package in Java

Scrittura e lettura dei file con Java

Uso dei thread multipli con Java

Programmazione socket con Java

Creazione di un chat engine utilizzando i socket

Introduzione ad AWT

Scrittura di un programma chat in AWT

Introduzione a JFC

Scrittura di un programma chat in JFC

Uso dei compilatori nativi Java

Riepilogo

Capitolo 33: Programmare elementi grafici con OpenGL/Mesa

OpenGL: un'interfaccia software verso l'hardware grafico

Esempio di programma Orbits

Creazione di una finestra per la grafica di OpenGL e inizializzazione di OpenGL

Creazione di semplici oggetti 3D utilizzando GLUT

Posizionamento di oggetti in uno spazio 3D utilizzando le coordinate X-Y-Z

Rotazione di un oggetto attorno a uno o tutti gli assi x, y e z

Abilitazione all'uso delle proprietà Material

Attivazione dei test di profondità

Gestione degli eventi generati dalla tastiera

Aggiornamento della grafica OpenGL per ottenere effetti di animazione

Listato dell'esempio di programma

Parte V: Tecniche di programmazione speciali

Capitolo 34: Programmazione shell con il bash GNU

Perché bash?

Nozioni fondamentali su bash

Metacaratteri

Espansione delle parentesi graffe

Caratteri speciali

Uso delle variabili bash

Uso degli operatori bash

Operatori stringa

Operatori di confronto contenuto

Controllo di flusso

Esecuzione condizionale: if

Cicli determinati: for

Cicli indeterminati: while e until

Strutture di selezione: case e select

Funzioni shell

Input e output

Redirezionatori I/O

I/O di stringhe

Elaborazione della riga di comando

Processi e controllo lavori

Gestione dei segnali shell

Uso di trap

Riepilogo

Capitolo 35: Programmazione sicura

Tipi di applicazione

Programmi Setuid

Server di rete (demoni)

Client di rete

Mail User Agents

Programmi CGI

Utility

Applicazioni

Questioni relative al codice

Script shell e chiamate system()

Input da utenti non sicuri

Straripamento del buffer

Variabili ambiente

Funzione gethostbyname()

Segnali

Userid e groupid

Punti deboli delle librerie

Esecuzione di altri programmi

Corse /tmp

Attacchi rifiuto del servizio

Numeri casuali

Contrassegni

Password

Nomi di file

Collegamenti simbolici

Ambienti chroot()

Suddivisione dei programmi

Comunicazione tra i processi

Il demone identd

Confronto tra TCP e UDP

Confronto tra allocazione dinamica e statica della memoria

Livelli di sicurezza

Capacità di POSIX.1e

Cancellazione dei buffer

Presentazione di form HTML oltre i firewall

Attacchi di tipo spionaggio, accesso illecito e intromissione

Inclusioni server HTML

Questioni relative a server soggetti a fork anticipati

Timeout

Autenticazione a tre fattori

Moduli di autenticazione collegabili

Efficacia generale di un programma

Crittografia

Tipi di algoritmi crittografici

Sistemi di codifica

Punti deboli della codifica

Riepilogo

Capitolo 36: Debugging: gdb GNU

Compilazione per gdb

Uso dei comandi gdb di base

Avvio di gdb

Analisi del codice nel debugger

Esame dei dati

Impostazione dei punti d'interruzione

Esame e modifica del codice in esecuzione

Concetti e comandi avanzati di gdb

Area di validità e contesto di variabile

Attraversamento dello stack di chiamate

Lavoro con i file sorgente

Comunicazione con la shell

Collegamento a un programma in esecuzione

Riepilogo

Parte VI: Operazioni conclusive

Capitolo 37: Gestione del pacchetto

Comprensione dei file tar

Creazione di file tar

Aggiornamento dei file tar

Elenco del contenuto dei file tar

Comprensione del comando install

Comprensione di RPM

Requisiti minimi

Configurazione di RPM

Controllo della build: uso di un file spec

Analisi di un file spec

Creazione del pacchetto

Riepilogo

Capitolo 38: Documentazione

Pagine man

Elementi di una pagina man

Una pagina man di esempio

Utilizzo del comando groff

Convenzioni Linux

Realizzazione di documenti SGML utilizzando SGML-tools

SGML-tools

Tag SGML-tools

Formattazione dei documenti SGML

Riepilogo

Capitolo 39: Concessione di licenza

Licenza MIT/X

Licenza BSD

Licenza Artistic

Licenze GNU General Public

Licenza GNU General Public License

La licenza GNU Library General Public License

La definizione Open Source

Scelta della licenza appropriata

Parte VII: Appendici

Appendice A: Una libreria della tabella dei simboli

Documentazione disponibile

Programma di esempio: userchange

basetype

Definizione di una tabella dei simboli per descrivere un tipo di struttura

Definizione di una collezione casuale di variabili

Inserimento di un'ulteriore tabella dei simboli

Segnalazione degli errori

Puntatori smart

Funzioni della libreria della tabella dei simboli

userchange main()

Esecuzione di prova

Appendice B: GNU General Public License

Indice analitico

.

Programmare in Linux Tutto e oltre

Collana: Tutto&Oltre

Uscita: Gennaio 2000

Pagine: 752

ISBN: 9788873036197

Formato: 17 x 24 cm

Booksite:

 »  Presentazione

 »  Indice libro

 »  Codice esempi

Sfoglia il libro: Google

Feedback: View blog reactions



Copertina

Linux Ubuntu

di B. Mako Hill, J. Bacon, C. Burger, J. Jesse, I. Krstić

Prezzo: 7.90 Euro

Seconda edizione del manuale tascabile dedicato a Ubuntu, la vera grande alternativa su base GNU/Linux nel panorama dei sistemi operativi. Per conoscerne le potenzialità e cominciare a utilizzarlo.



Copertina

Usare Linux Pocket

di Silvio Umberto Zanzi

Prezzo: 7.20 Euro

La guida tascabile a Linux, scritta dall'autore di 'Linux server per l'amministratore di rete', per installare e cominciare a utilizzare Linux, distribuzione Fedora.