Laboratorio Software: Novità

Quest'area è dedicata agli aggiornamenti relativi al corso di Laboratorio Software.

Orari

Ricordo a tutti che l'orario del corso per il venerdì è anticipato di un'ora: dalle 12:30 alle 14:30. L'aula rimane la stessa.

Per il martedì, è stato chiesto un anticipo simile per non sovrapporsi al corso del prof. Malucelli, ma questo dovrebbe peggiorare la situazione per chi segue Teoria dei Sistemi (sovrapposto alla prima ora del corso).

Dato che si tratta solo di 3 esercitazioni, più il seminario di martedì prossimo, penso di poter svolgere almeno alcune di queste lezioni due volte (se l'aula è libera nell'ora precedente al nostro attuale orario), una anticipata di un'ora (13:20-14:50) ed una posticipata di mezz'ora (14:55-16:25). Questo avverrà sicuramente per il seminario, dato che questo non è coperto dal libro di testo, per le esercitazioni vedremo di volta in volta.

Update: Visto che i laboratori di Ricerca Operativa non si svolgono tutte le settimane, nelle settimane in cui non si svolgono adotteremo per il martedì l'orario tradizionale, cominciando con 15 minuti di ritardo per consentire agevolare chi frequenta Teoria dei Sistemi. Appena mi giungeranno conferme sull'effettivo orario dei laboratori di R.O. mettero' qui un annuncio con un calendario preciso.

Data Tipo Argomento Orario
2/10 L Introduzione, ripasso architetture e S.O.
5/10 E Introduzione a Linux
9/10 L Processi e Thread
12/10 L Scheduling dei processi
16/10 S Shell scripting 14:45-16:30
19/10 L Sincronizzazione/Mutua Esclusione 13:30-15:15
26/10 E Processi, Thread e procfs 12:30-14:15
30/10 L Comunicazione fra processi 14:45-16:15
6/11 E Sincronizzazione e Comunicazione fra processi 13:25-14:55 e 15:00-16:30
9/11 L Deadlock 12:30-14:15
13/11 E Esercizi sugli argomenti precedenti 14:45-16:15
16/11 E Svolgimento di uno o più temi d'esame 12:30-14:15
· 2007/10/10 10:52 · Giovanni Agosta

Processi e Thread

Nella lezione del 9/10, abbiamo introdotto i concetti di processo e thread. In particolare, abbiamo visto la struttura del PCB e l'evoluzione dello stato del processo.

Per quanto riguarda i thread, abbiamo visto le differenze fra questi ed i processi, oltre ad introdurre i più comuni modelli di applicazione multithreaded (pipeline, dispatcher-server e team). Abbiamo poi visto i principali sistemi di threading utilizzabili in Linux:

  • GNU Pth: thread POSIX a livello utente
  • NTPL: thread POSIX a livello kernel
  • Thread nativi: thread nativi a livello kernel

I dettagli della programmazione con i pthread (NTPL) si possono trovare sul testo di esercitazione, e verranno rivisti nella seconda esercitazione.

· 2007/10/09 16:32 · Giovanni Agosta

Esercitazione Linux, GCC

Nella prima esercitazione (30/9) abbiamo introdotto gli elementi principali di un sistema GNU/Linux. In particolare, abbiamo visto la struttura del file system e i principali comandi (ls, cd, less, cat, ifconfig) e accennato all'uso della shell Bash. Abbiamo poi visto come scrivere, compilare ed eseguire un programma C o C++, usando l'editor vi o Kate e il compilatore GCC. Abbiamo visto come connettersi a una macchina remota attraverso Openssh e come utilizzare GNU_Screen per gestire più lavori in parallelo.

Consigliamo vivamente di installare una qualunque distribuzione di Linux sulla macchina dove farete esercizi: per coloro che non hanno precedenti esperienze, un buon punto d'inizio è Ubuntu: scaricate il CD della versione Desktop, che permette di usare il sistema in modalità live, ma anche di installare il sistema operativo. Una volta installata, è necessario aggiungere, attraverso il gestore di pacchetti Synaptic i seguenti pacchetti: build-essential automake autoconf mc htop kate

Ulteriori link a materiale utile sono presenti qui.

· 2007/10/05 23:01 · Giovanni Agosta

Introduzione

Nella prima lezione (3/X/07) abbiamo ripassato alcuni concetti noti dai corsi precedenti, sia sull'architettura del calcolatore (CPU, gerarchia di memoria, interrupt e I/O) sia sulla struttura del sistema operativo (dal livello degli interrupt a quello della shell).

L'esercitazione precedente dovrebbe aver portato tutti in pari su alcuni aspetti pratici relativi all'uso del sistema operativo Linux, e dell'ambiente di programmazione costituito da gcc, gmake, gdb e vi.

· 2007/10/03 15:37 · Giovanni Agosta
teaching/labsw/blog.txt · Last modified: 2007/09/13 16:49 by agosta
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki