|
||||||||||||||
Introduzione ai sistemi operativi Unix-like. Storia dei sistemi operativi Unix. Richiamo dei concetti di base sul ruolo e sul funzionamento dei sistemi operativi. Cenni all'architettura dei sistemi operativi monolitici e micro-kernel. I sistemi operativi basati su kernel Linux. Le distribuzioni GNU/Linux. La distribuzione Ubuntu. Cenni alle problematiche di amministrazione di sistemi GNU/Linux Installazione e configurazione di una distibuzione GNU/Linux. Installazione e configurazione di applicazioni e servizi locali e di rete. Amministrazione remota di Linux. I processi e i demoni. La gestione del file system. Le quote utente. I file system condivisi: Samba e NFS. Programmazione della shell Introduzione all'utilizzo della shell BASH. I comandi per la gestione del file-system e dei processi attivi. La redirezione dell�input/output e le pipe. Programmazione di semplici script di shell. Script per l'avvio e l'arresto dei servizi. Le variabili utente e di sistema. Il file .bashrc. Cicli e istruzioni condizionali. Espressioni regolari Fondamenti di programmazione in Pyhton Introduzione al linguaggio Python. L�interprete Python. . Input/output in Python. I tipi, le variabili e gli operatori. Cicli e istruzioni condizionali. Le stringhe e i metodi correlati. I moduli e le funzioni in Python. Le stringhe di documentazione. Le liste. Le tuple. I dizionari. Utilizzo e gestione dei file. Le classi in Python. Elementi di programmazione in C La sintassi del linguaggio C. Sviluppo di semplici programmi in C. Utilizzo della suite gcc (GNU Compiler Collection). I tipi di base. L�input/output in C. Le stringhe in C. Utilizzo dei puntatori. Vettori e matrici dinamici in C. Le funzioni nel linguaggio C. Semantica del trasferimento del flusso di controllo tra funzioni: funzionamento dello stack, record di attivazione, passaggio dei parametri. Realizzazione di librerie statiche e dinamiche. |