Unibo Logo

Sistemi Operativi
Laboratorio di Sistemi Operativi
2007-2008

Renzo Davoli

Claudio Sacerdoti Coen


 
 Home
 Informazioni generali
 Sistemi Operativi
 Laboratorio
 Materiale

Documentazione

I documenti che trovate qui di seguito, insieme ai lucidi visti a lezione e ai vostri appunti, costituiscono una base sufficiente per imparare gli argomenti principali del corso di LSO. Ovviamente, trattandosi di un corso di laboratorio, la semplice lettura di questi documenti non è sufficiente: dovrete utilizzare le nozioni presentate sui testi per risolvere gli esercizi presentati a lezione. Non solo, potrete utilizzare queste nozioni per risolvere i vostri problemi di programmazione (di sistema e non).

Linguaggio C

Il linguaggio C è descritto in un libro di testo ritenuto fondamentale, detto brevemente K&R (dal nome degli autori, Kernighan and Ritchie - autori sia del libro che del linguaggio!). A differenza degli altri libri per il corso di LSO, questo libro è fondamentale per ogni informatico che si rispetti. Ciò nonostante, pubblichiamo qui alcuni link che possono essere utili a imparare il C.
  • Ansi C for programmers on Unix systems, di Tim Love
    Questo testo (73 pagine) contiene una descrizione del linguaggio C per chi conosce già un linguaggio di programmazione procedurale imperativo. Descrive brevemente tutte le caratteristiche fondamentali. Consigliato.
    [Pdf][Postscript]
  • C Programming Notes, di Steve Summit
    Questo corso (in formato html) è suddiviso in due parti; la prima è introduttiva, mentre la seconda contiene informazioni più avanzate. Questo testo è nato come supplemento al K&R, ma può essere consultato anche da solo. Se il testo precedente non vi basta, questo potrebbe essere la soluzione.
    [Parte 1 (versione online)][Parte 2 (versione online)][Parti 1 e 2 (versione tar.gz)]
  • Programming in C - UNIX System Calls and Subroutines using C, di Dave Marshall
    Un altro corso molto completo, che contiene anche una interessante discussione sul system call e interprocess communication. Per questo motivo è citato anche nel seguito. Alcune parti sono relative al laboratorio dell'autore, come
    [Versione online][Versione tar.gz]
  • Elenco funzioni della libreria standard ANSI C
    Un semplice elenco di funzioni, per capire cosa si può fare. Se avete bisogno di più dettagli, utilizzate il comando man 3 nomefunzione su una macchina Linux.
    [Versione online]
  • Ansi C Reference Card
    [Copia originale] [Copia locale]

Unix

Un testo semplice che spiaga alcuni dei concetti base di Unix è il seguente:
  • Introduction to Unix, di G. Fiamingo et al. (testo veramente introduttivo)
    [Pdf]
  • Guida alla programmazione in Linux, di Simone Piccardi (testo non completo, ma valido)
    [Html] [Pdf]
  • The Art of UNIX Programming, di Eric S. Raymond (unico nel suo genere)
    [Html]

Shell scripting

Per quanto riguarda shell scripting, non esiste un testo (stampato) di riferimento. I testi qui indicati sono più che sufficienti.
  • Advanced Bash-Scripting Guide, di Mendel Cooper
    Guida completa alla shell bash.
    [Pdf]
  • The Awk Manual (autori vari)
    Guida al tool awk.
    [Pdf]
  • Effective AWK Programming
    Un'altra guida ad awk.
    [Html]

Linux

Per la documentazione relativa a Linux, vi consigliamo di dare un'occhiata al Linux Documentation Project e al Progetto Gnutemberg. Questi progetti raccolgono testi con licenze libere su Linux e informatica in generale. La pagina con il maggior numero di testi è quella relativa al CD.

PS
Questa pagina non viene aggiornata molto spesso; alcuni link possono essere obsoleti. Se trovate broken link o nuova documentazione, siete pregati di comunicarlo a entrambi i docenti.